summaryrefslogtreecommitdiffstats
path: root/src/mesa/program/prog_execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/program/prog_execute.c')
-rw-r--r--src/mesa/program/prog_execute.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/program/prog_execute.c b/src/mesa/program/prog_execute.c
index 2c77538c2af..b5a7a692aeb 100644
--- a/src/mesa/program/prog_execute.c
+++ b/src/mesa/program/prog_execute.c
@@ -117,11 +117,13 @@ get_src_register_pointer(const struct prog_src_register *source,
/* Fallthrough */
case PROGRAM_CONSTANT:
/* Fallthrough */
- case PROGRAM_UNIFORM:
+ case PROGRAM_UNIFORM: {
if (reg >= (GLint) prog->Parameters->NumParameters)
return ZeroVec;
- return (GLfloat *) prog->Parameters->ParameterValues[reg];
+ unsigned pvo = prog->Parameters->ParameterValueOffset[reg];
+ return (GLfloat *) prog->Parameters->ParameterValues + pvo;
+ }
case PROGRAM_SYSTEM_VALUE:
assert(reg < (GLint) ARRAY_SIZE(machine->SystemValues));
return machine->SystemValues[reg];