Mesa (master): st/mesa: allow negative index for PROGRAM_STATE_VAR
Brian Paul
brianp at kemper.freedesktop.org
Fri Feb 5 21:59:15 UTC 2010
Module: Mesa
Branch: master
Commit: 337d3b2b391c50130fa825ee853a570e1a84d309
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=337d3b2b391c50130fa825ee853a570e1a84d309
Author: Brian Paul <brianp at vmware.com>
Date: Fri Feb 5 14:59:04 2010 -0700
st/mesa: allow negative index for PROGRAM_STATE_VAR
The piglit vp-address-01 test uses negative address-relative
offsets. In this test we're indexing into PROGRAM_STATE_VAR
which, in turn, contains references to ENV vars.
We previously fixed this issue for PROGRAM_CONSTANT.
piglit/vp-address-01 (the version from Feb 5) passes now.
(cherry picked from commit 64be837b0b171c44f47a3c0b83f566d292ffff50)
---
src/mesa/state_tracker/st_mesa_to_tgsi.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/mesa/state_tracker/st_mesa_to_tgsi.c b/src/mesa/state_tracker/st_mesa_to_tgsi.c
index 6283833..3eb4c1c 100644
--- a/src/mesa/state_tracker/st_mesa_to_tgsi.c
+++ b/src/mesa/state_tracker/st_mesa_to_tgsi.c
@@ -177,13 +177,13 @@ src_register( struct st_translate *t,
t->temps[index] = ureg_DECL_temporary( t->ureg );
return ureg_src(t->temps[index]);
- case PROGRAM_STATE_VAR:
case PROGRAM_NAMED_PARAM:
case PROGRAM_ENV_PARAM:
case PROGRAM_LOCAL_PARAM:
case PROGRAM_UNIFORM:
ASSERT(index >= 0);
return t->constants[index];
+ case PROGRAM_STATE_VAR:
case PROGRAM_CONSTANT: /* ie, immediate */
if (index < 0)
return ureg_DECL_constant( t->ureg, 0 );
More information about the mesa-commit
mailing list