diff options
Diffstat (limited to 'src/mesa/state_tracker/st_atom_constbuf.c')
-rw-r--r-- | src/mesa/state_tracker/st_atom_constbuf.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mesa/state_tracker/st_atom_constbuf.c b/src/mesa/state_tracker/st_atom_constbuf.c index 0a6b23aff3b..87a72b2622c 100644 --- a/src/mesa/state_tracker/st_atom_constbuf.c +++ b/src/mesa/state_tracker/st_atom_constbuf.c @@ -71,11 +71,12 @@ void st_upload_constants(struct st_context *st, struct gl_program *prog) unsigned c; for (c = 0; c < MAX_NUM_FRAGMENT_CONSTANTS_ATI; c++) { + unsigned offset = params->ParameterValueOffset[c]; if (ati_fs->LocalConstDef & (1 << c)) - memcpy(params->ParameterValues[c], + memcpy(params->ParameterValues + offset, ati_fs->Constants[c], sizeof(GLfloat) * 4); else - memcpy(params->ParameterValues[c], + memcpy(params->ParameterValues + offset, st->ctx->ATIFragmentShader.GlobalConstants[c], sizeof(GLfloat) * 4); } } |