From e636199c1c7dc9bc0525f5ae2a4eef05a8092180 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 15 Jun 2018 17:08:29 -0700 Subject: 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. --- src/gallium/drivers/v3d/v3d_context.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/gallium/drivers/v3d/v3d_context.h') diff --git a/src/gallium/drivers/v3d/v3d_context.h b/src/gallium/drivers/v3d/v3d_context.h index c0de05d3630..7c920dbc3db 100644 --- a/src/gallium/drivers/v3d/v3d_context.h +++ b/src/gallium/drivers/v3d/v3d_context.h @@ -189,6 +189,8 @@ struct v3d_vertex_stateobj { struct v3d_streamout_stateobj { struct pipe_stream_output_target *targets[PIPE_MAX_SO_BUFFERS]; + /* Number of vertices we've written into the buffer so far. */ + uint32_t offsets[PIPE_MAX_SO_BUFFERS]; unsigned num_targets; }; -- cgit v1.2.3