aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2017-10-02 12:20:35 -0700
committerEric Anholt <[email protected]>2017-10-10 11:42:05 -0700
commitf4133865d191c6a5377d63a2384e5844b1e0e14d (patch)
treeaf6fd7eaae3ee48df47016facf87f7918f48dd5d
parentbd94f6821e7bb3077df885375ef75741e7b804a0 (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.c7
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,
};