i965/vs: Fix debug dumping of VS push constants.
While copying the values into the batch space, we advance the param pointer. The debug code then tries to iterate over all the uploaded values, starting at param...which is now the end of the uploaded data, rather than the start. This patch saves a pointer to the start of push constant space before it gets altered and switches the debug code to use that. Tested by uncommenting the code and examining the output of glsl-vs-clamp-1.shader_test. Previously all values appeared to be zero. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
df924d82e2
commit
eeb2fb72eb
|
@ -63,6 +63,8 @@ gen6_upload_vs_push_constants(struct brw_context *brw)
|
|||
4 * sizeof(float),
|
||||
32, &brw->vs.push_const_offset);
|
||||
|
||||
float *save_param = param;
|
||||
|
||||
if (brw->vs.prog_data->uses_new_param_layout) {
|
||||
for (i = 0; i < brw->vs.prog_data->nr_params; i++) {
|
||||
*param = *brw->vs.prog_data->param[i];
|
||||
|
@ -102,7 +104,7 @@ gen6_upload_vs_push_constants(struct brw_context *brw)
|
|||
if (0) {
|
||||
printf("VS constant buffer:\n");
|
||||
for (i = 0; i < params_uploaded; i++) {
|
||||
float *buf = param + i * 4;
|
||||
float *buf = save_param + i * 4;
|
||||
printf("%d: %f %f %f %f\n",
|
||||
i, buf[0], buf[1], buf[2], buf[3]);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue