summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/v3d/v3d_program.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-06-15 17:08:29 -0700
committerEric Anholt <[email protected]>2018-06-18 14:54:16 -0700
commite636199c1c7dc9bc0525f5ae2a4eef05a8092180 (patch)
tree485997a7ae5431ecca305a2a1df9b68dcf759a33 /src/gallium/drivers/v3d/v3d_program.c
parent94178044d5d34e5bf65601d0b5da70d91284ec56 (diff)
v3d: Set the SO offsets correctly if we have to re-emit.
This should fix TF across a glFlush() or TF pause/restart. Fixes dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.highp_float and many, many others.
Diffstat (limited to 'src/gallium/drivers/v3d/v3d_program.c')
-rw-r--r--src/gallium/drivers/v3d/v3d_program.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/v3d/v3d_program.c b/src/gallium/drivers/v3d/v3d_program.c
index 036f7c6e672..ef7dd375bf7 100644
--- a/src/gallium/drivers/v3d/v3d_program.c
+++ b/src/gallium/drivers/v3d/v3d_program.c
@@ -152,6 +152,8 @@ v3d_set_transform_feedback_outputs(struct v3d_uncompiled_shader *so,
vpm_start_offset += write_size;
vpm_size -= write_size;
}
+ so->base.stream_output.stride[buffer] =
+ stream_output->stride[buffer];
}
so->num_tf_outputs = slot_count;