diff options
author | Eric Anholt <[email protected]> | 2010-09-07 12:53:19 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2010-09-07 13:00:22 -0700 |
commit | 24c12e6c7f8aa8c2f4c163d23d740b070bfabfc3 (patch) | |
tree | 9ef700af26932f0212ac8ec9cdb2fdc40cd3e6bc | |
parent | 32b84ef4ca50998914184fc4600d8e43674a9a22 (diff) |
i965: Store the byte address in the VS constant buffer as an integer.
We carefully multiplied our two ints (since we want to be precise
after all) then stored them in a float, which is not specced to really
work, in addition to wasting precision. Fixes
vp-arl-constant-array-huge-* things since the assertions were added.
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vs_emit.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index 49ef9742a25..ad0d00b87c4 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -954,7 +954,7 @@ get_reladdr_constant(struct brw_vs_compile *c, struct brw_compile *p = &c->func; struct brw_reg const_reg = c->current_const[argIndex].reg; struct brw_reg addrReg = c->regs[PROGRAM_ADDRESS][0]; - struct brw_reg byte_addr_reg = get_tmp(c); + struct brw_reg byte_addr_reg = retype(get_tmp(c), BRW_REGISTER_TYPE_D); assert(argIndex < 3); |