i965/vs: Fix access of attribute arrays.
authorEric Anholt <eric@anholt.net>
Tue, 9 Aug 2011 22:08:47 +0000 (15:08 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 16 Aug 2011 20:04:43 +0000 (13:04 -0700)
By leaving out the column index, we were reading an unallocated
attribute on glsl-mat-attribute.

src/mesa/drivers/dri/i965/brw_vec4_emit.cpp

index df9521cd04e0eba18925883b6be0deab2a9ab5d2..517a3e3c75ba54b8092d6004535afeb02950bfd7 100644 (file)
@@ -52,8 +52,9 @@ vec4_visitor::setup_attributes(int payload_reg)
         if (inst->src[i].file != ATTR)
            continue;
 
+        int grf = attribute_map[inst->src[i].reg + inst->src[i].reg_offset];
         inst->src[i].file = HW_REG;
-        inst->src[i].fixed_hw_reg = brw_vec8_grf(attribute_map[inst->src[i].reg], 0);
+        inst->src[i].fixed_hw_reg = brw_vec8_grf(grf, 0);
         inst->src[i].fixed_hw_reg.dw1.bits.swizzle = inst->src[i].swizzle;
       }
    }