Mesa (master): freedreno: fix handling for stream-out offsets
Rob Clark
robclark at kemper.freedesktop.org
Wed Apr 13 18:38:23 UTC 2016
Module: Mesa
Branch: master
Commit: 6ca6e80f61d4fc2e88f1abc2416b1965ecf1d114
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ca6e80f61d4fc2e88f1abc2416b1965ecf1d114
Author: Rob Clark <robclark at freedesktop.org>
Date: Tue Apr 12 11:30:31 2016 -0400
freedreno: fix handling for stream-out offsets
If changed && append, we shouldn't be resetting the internal offset back
to zero. This fixes issues w/ sequences like:
glBeginTransformFeedback()
glDraw()
glPauseTransformFeedback()
glDraw()
glResumeTransformFeedback()
glDraw()
glEndTransformFeedback()
Fixes dEQP-GLES3.functional.transform_feedback.array.separate.points.lowp_vec3
and related tests.
Signed-off-by: Rob Clark <robclark at freedesktop.org>
---
src/gallium/drivers/freedreno/freedreno_state.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/freedreno_state.c b/src/gallium/drivers/freedreno/freedreno_state.c
index 685d3a7..6c472d1 100644
--- a/src/gallium/drivers/freedreno/freedreno_state.c
+++ b/src/gallium/drivers/freedreno/freedreno_state.c
@@ -359,7 +359,8 @@ fd_set_stream_output_targets(struct pipe_context *pctx,
if (!changed && append)
continue;
- so->offsets[i] = 0;
+ if (!append)
+ so->offsets[i] = offsets[i];
pipe_so_target_reference(&so->targets[i], targets[i]);
}
More information about the mesa-commit
mailing list