diff options
author | Marek Olšák <marek.olsak@amd.com> | 2016-01-07 23:25:48 +0100 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2016-01-08 20:06:22 +0100 |
commit | c886422656f38593e1db3700ae747058f55125d4 (patch) | |
tree | e7764573683710982a0fed51b1ba496c0d63be23 /src/mesa | |
parent | 91e8f2b0a58c1f5a00f447f60213e9ec2f5b6e6e (diff) |
tgsi/ureg: remove index parameter from ureg_DECL_system_value
It can be trivially derived from the number of already declared system
values. This allows ureg users not to worry about which index to choose.
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 8 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_mesa_to_tgsi.c | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index 2adb57d11ad..6cbc26acf79 100644 --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -5370,11 +5370,13 @@ st_translate_program( */ { GLbitfield sysInputs = proginfo->SystemValuesRead; - unsigned numSys = 0; + for (i = 0; sysInputs; i++) { if (sysInputs & (1 << i)) { unsigned semName = _mesa_sysval_to_semantic[i]; - t->systemValues[i] = ureg_DECL_system_value(ureg, numSys, semName, 0); + + t->systemValues[i] = ureg_DECL_system_value(ureg, semName, 0); + if (semName == TGSI_SEMANTIC_INSTANCEID || semName == TGSI_SEMANTIC_VERTEXID) { /* From Gallium perspective, these system values are always @@ -5395,7 +5397,7 @@ st_translate_program( t->systemValues[i] = ureg_scalar(ureg_src(temp), 0); } } - numSys++; + sysInputs &= ~(1 << i); } } diff --git a/src/mesa/state_tracker/st_mesa_to_tgsi.c b/src/mesa/state_tracker/st_mesa_to_tgsi.c index d8f7b6c0725..20dc3d15df7 100644 --- a/src/mesa/state_tracker/st_mesa_to_tgsi.c +++ b/src/mesa/state_tracker/st_mesa_to_tgsi.c @@ -1049,11 +1049,13 @@ st_translate_mesa_program( */ { GLbitfield sysInputs = program->SystemValuesRead; - unsigned numSys = 0; + for (i = 0; sysInputs; i++) { if (sysInputs & (1 << i)) { unsigned semName = _mesa_sysval_to_semantic[i]; - t->systemValues[i] = ureg_DECL_system_value(ureg, numSys, semName, 0); + + t->systemValues[i] = ureg_DECL_system_value(ureg, semName, 0); + if (semName == TGSI_SEMANTIC_INSTANCEID || semName == TGSI_SEMANTIC_VERTEXID) { /* From Gallium perspective, these system values are always @@ -1074,7 +1076,7 @@ st_translate_mesa_program( t->systemValues[i] = ureg_scalar(ureg_src(temp), 0); } } - numSys++; + sysInputs &= ~(1 << i); } } |