diff options
Diffstat (limited to 'src/gallium/drivers/vc5/vc5_program.c')
-rw-r--r-- | src/gallium/drivers/vc5/vc5_program.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/vc5/vc5_program.c b/src/gallium/drivers/vc5/vc5_program.c index 869220b423d..f22f474954c 100644 --- a/src/gallium/drivers/vc5/vc5_program.c +++ b/src/gallium/drivers/vc5/vc5_program.c @@ -100,7 +100,12 @@ vc5_set_transform_feedback_outputs(struct vc5_uncompiled_shader *so, continue; struct V3D33_TRANSFORM_FEEDBACK_OUTPUT_DATA_SPEC unpacked = { - .first_shaded_vertex_value_to_output = vpm_start, + /* We need the offset from the coordinate shader's VPM + * output block, which has the [X, Y, Z, W, Xs, Ys] + * values at the start. Note that this will need some + * shifting when PSIZ is also present. + */ + .first_shaded_vertex_value_to_output = vpm_start + 6, .number_of_consecutive_vertex_values_to_output_as_32_bit_values_minus_1 = vpm_size - 1, .output_buffer_to_write_to = buffer, }; |