diff options
author | Eric Anholt <[email protected]> | 2017-10-02 12:20:35 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2017-10-10 11:42:05 -0700 |
commit | f4133865d191c6a5377d63a2384e5844b1e0e14d (patch) | |
tree | af6fd7eaae3ee48df47016facf87f7918f48dd5d | |
parent | bd94f6821e7bb3077df885375ef75741e7b804a0 (diff) |
braodcom/vc5: Find the actual first TF output for our TF spec.
This doesn't yet support PSIZ, but gets us at least some of TF working.
-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, }; |