[Mesa-dev] [PATCH v3] glsl: do not call link_xfb_stride_layout_qualifiers() for fragment shaders
Juan A. Suarez Romero
jasuarez at igalia.com
Thu Jun 22 15:13:10 UTC 2017
xfb only applies to the latest stage before the fragment shader, so
there is no need to invoke it in the fragment shader.
Fixes:
KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list
KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list_and_api
v2: do reset only if shaders provide an explicit stride
v3: do not call link_xfb_stride_layout_qualifiers() for fragment shaders
(Timothy)
Signed-off-by: Juan A. Suarez Romero <jasuarez at igalia.com>
---
src/compiler/glsl/linker.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index adfa3b7..73ab8ff 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -2251,8 +2251,11 @@ link_intrastage_shaders(void *mem_ctx,
link_tes_in_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
link_gs_inout_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
link_cs_input_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
- link_xfb_stride_layout_qualifiers(ctx, prog, linked, shader_list,
- num_shaders);
+
+ if (linked->Stage != MESA_SHADER_FRAGMENT)
+ link_xfb_stride_layout_qualifiers(ctx, prog, linked, shader_list,
+ num_shaders);
+
link_bindless_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
populate_symbol_table(linked);
--
2.9.4
More information about the mesa-dev
mailing list