summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_generator.cpp3
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_generator.cpp3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
index ea46b1a..40a3db3 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
@@ -789,7 +789,8 @@ fs_generator::generate_tex(fs_inst *inst, struct brw_reg dst, struct brw_reg src
/* addr = ((sampler * 0x101) + base_binding_table_index) & 0xfff */
brw_MUL(p, addr, sampler_reg, brw_imm_ud(0x101));
- brw_ADD(p, addr, addr, brw_imm_ud(base_binding_table_index));
+ if (base_binding_table_index)
+ brw_ADD(p, addr, addr, brw_imm_ud(base_binding_table_index));
brw_AND(p, addr, addr, brw_imm_ud(0xfff));
brw_pop_insn_state(p);
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
index 9699607..ead620b 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
@@ -408,7 +408,8 @@ vec4_generator::generate_tex(vec4_instruction *inst,
/* addr = ((sampler * 0x101) + base_binding_table_index) & 0xfff */
brw_MUL(p, addr, sampler_reg, brw_imm_ud(0x101));
- brw_ADD(p, addr, addr, brw_imm_ud(base_binding_table_index));
+ if (base_binding_table_index)
+ brw_ADD(p, addr, addr, brw_imm_ud(base_binding_table_index));
brw_AND(p, addr, addr, brw_imm_ud(0xfff));
brw_pop_insn_state(p);