i965: In the VS, multiply the address reg by the appropriate register size.
authorEric Anholt <eric@anholt.net>
Thu, 22 Jul 2010 04:45:34 +0000 (21:45 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 22 Jul 2010 05:05:30 +0000 (22:05 -0700)
commitc686ee0fa7e2298408259f5533b739c7d05c78b8
tree1c7e6f6d4e11210fe77270ee0480a41ca4014a0b
parent21eaa62ba461854003e5f74e6fc32e559e9c8455
i965: In the VS, multiply the address reg by the appropriate register size.

The ARL value is increments of vec4 in the register file.  But
PROGRAM_TEMPORARY or PROGRAM_INPUT are stored as vec4s interleaved
between the two verts being executed (thus a vec8 each), compared to
PROGRAM_STATE_VAR being packed vec4s.

Fixes:
glsl-vs-arrays-2
glsl-vs-mov-after-deref
(without regressing glsl-vs-arrays-3)
src/mesa/drivers/dri/i965/brw_vs_emit.c