diff options
author | Timothy Arceri <timothy.arceri@collabora.com> | 2016-03-13 16:36:25 +1100 |
---|---|---|
committer | Timothy Arceri <timothy.arceri@collabora.com> | 2016-03-31 12:52:17 +1100 |
commit | a2fbc5ed44ec8ebf0e8936ff5b21425159511413 (patch) | |
tree | 8fab4cf288f06e1a55b65346df0820e99f034cb3 /src | |
parent | f2a3c87a00bb38aa63dfb3a5818b2d53ca46c663 (diff) | |
download | external_mesa3d-a2fbc5ed44ec8ebf0e8936ff5b21425159511413.zip external_mesa3d-a2fbc5ed44ec8ebf0e8936ff5b21425159511413.tar.gz external_mesa3d-a2fbc5ed44ec8ebf0e8936ff5b21425159511413.tar.bz2 |
glsl: reset current stream tracker
When we move to the next buffer we need to reset the stream
so that we don't generate an error message about streams not
matching.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/glsl/link_varyings.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp index 50c18d0..c5c392d 100644 --- a/src/compiler/glsl/link_varyings.cpp +++ b/src/compiler/glsl/link_varyings.cpp @@ -979,6 +979,12 @@ store_tfeedback_info(struct gl_context *ctx, struct gl_shader_program *prog, } for (unsigned i = 0; i < num_tfeedback_decls; ++i) { + if (has_xfb_qualifiers && + buffer != tfeedback_decls[i].get_buffer()) { + /* we have moved to the next buffer so reset stream id */ + buffer_stream_id = -1; + } + if (tfeedback_decls[i].is_next_buffer_separator()) { num_buffers++; buffer_stream_id = -1; |