Mesa (master): glsl: look up for transform feedback varyings after linking
Juan Antonio Suárez Romero
jasuarez at kemper.freedesktop.org
Wed Aug 2 08:07:03 UTC 2017
Module: Mesa
Branch: master
Commit: c4210dec8a8cc7ecf881cd537556e778ca967b18
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c4210dec8a8cc7ecf881cd537556e778ca967b18
Author: Juan A. Suarez Romero <jasuarez at igalia.com>
Date: Thu Jul 6 08:35:37 2017 +0000
glsl: look up for transform feedback varyings after linking
Check if shaders have transform feedback varyings also after the
post-link step.
This fixes:
KHR-GL45.enhanced_layouts.xfb_vertex_streams
piglit/spec/arb_enhanced_layouts/gs-stream-location-aliasing
v2: add claryfing comments (Timothy)
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
---
src/compiler/glsl/glsl_to_nir.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp
index 4b3dbcff17..331438a183 100644
--- a/src/compiler/glsl/glsl_to_nir.cpp
+++ b/src/compiler/glsl/glsl_to_nir.cpp
@@ -169,9 +169,16 @@ glsl_to_nir(const struct gl_shader_program *shader_prog,
shader->info.name = ralloc_asprintf(shader, "GLSL%d", shader_prog->Name);
if (shader_prog->Label)
shader->info.label = ralloc_strdup(shader, shader_prog->Label);
+
+ /* Check for transform feedback varyings specified via the API */
shader->info.has_transform_feedback_varyings =
shader_prog->TransformFeedback.NumVarying > 0;
+ /* Check for transform feedback varyings specified in the Shader */
+ if (shader_prog->last_vert_prog)
+ shader->info.has_transform_feedback_varyings |=
+ shader_prog->last_vert_prog->sh.LinkedTransformFeedback->NumVarying > 0;
+
return shader;
}
More information about the mesa-commit
mailing list