i965/fs_nir: Use the correct texture offset immediate
authorJason Ekstrand <jason.ekstrand@intel.com>
Wed, 15 Oct 2014 22:25:10 +0000 (15:25 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 15 Jan 2015 15:18:59 +0000 (07:18 -0800)
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
src/mesa/drivers/dri/i965/brw_fs_nir.cpp

index 2f2ebe80cf5987079f7ea5311afcae8539637ca2..2b746728a28e714aff1c183d7fb996648913d74b 100644 (file)
@@ -1625,11 +1625,10 @@ fs_visitor::nir_emit_texture(nir_tex_instr *instr)
          mcs = fs_reg(0u);
    }
 
-   for (unsigned i = 0; i < 4; i++) {
+   for (unsigned i = 0; i < 3; i++) {
       if (instr->const_offset[i] != 0) {
          assert(offset_components == 0);
-         offset = fs_reg(instr->const_offset[i]);
-         offset_components = 1;
+         offset = fs_reg(brw_texture_offset(ctx, instr->const_offset, 3));
          break;
       }
    }
@@ -1671,7 +1670,7 @@ fs_visitor::nir_emit_texture(nir_tex_instr *instr)
 
    emit_texture(op, dest_type, coordinate, instr->coord_components,
                 shadow_comparitor, lod, lod2, lod_components, sample_index,
-                offset,offset_components, mcs, gather_component,
+                offset, offset_components, mcs, gather_component,
                 is_cube_array, is_rect, sampler, fs_reg(sampler), texunit);
 
    fs_reg dest = get_nir_dest(instr->dest);