i965/fs: Use the correct source for local memory load offsets
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 11 Dec 2015 19:59:53 +0000 (11:59 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 11 Dec 2015 21:56:34 +0000 (13:56 -0800)
The offset for loads is in src[0].  This was a copy+paste error in the
nir_intrinsic_load/store refactoring.  This commit fixes a segfault in
ES31-CTS.compute_shader.work-group-size.  I have no idea how piglit failed
to catch this...

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93348
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
src/mesa/drivers/dri/i965/brw_fs_nir.cpp

index db38f619272614702b04b3804ee30d70fbde5f38..f08f910ba278139c64c28150dbb76b9a9b7f09d9 100644 (file)
@@ -2453,7 +2453,7 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr
 
       /* Get the offset to read from */
       fs_reg offset_reg;
-      nir_const_value *const_offset = nir_src_as_const_value(instr->src[1]);
+      nir_const_value *const_offset = nir_src_as_const_value(instr->src[0]);
       if (const_offset) {
          offset_reg = brw_imm_ud(instr->const_index[0] + const_offset->u[0]);
       } else {