i965: Fix up VS temporary array access for fixed index offset != 0.
authorEric Anholt <eric@anholt.net>
Thu, 22 Jul 2010 07:06:10 +0000 (00:06 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 22 Jul 2010 17:06:55 +0000 (10:06 -0700)
src/mesa/drivers/dri/i965/brw_vs_emit.c

index 9c2f722c1353f197a13bd838b4c6f6578d1dd35f..bb82147464d150e6b8ffa61995787fa7825c2754 100644 (file)
@@ -972,7 +972,7 @@ static struct brw_reg deref( struct brw_vs_compile *c,
    struct brw_reg tmp = vec4(get_tmp(c));
    struct brw_reg addr_reg = c->regs[PROGRAM_ADDRESS][0];
    struct brw_reg vp_address = retype(vec1(addr_reg), BRW_REGISTER_TYPE_UW);
-   GLuint byte_offset = arg.nr * 32 + arg.subnr + offset * 16;
+   GLuint byte_offset = arg.nr * 32 + arg.subnr + offset * reg_size;
    struct brw_reg indirect = brw_vec4_indirect(0,0);
    struct brw_reg acc = retype(brw_acc_reg(), BRW_REGISTER_TYPE_D);