[Mesa-dev] [PATCH 19/21] glsl: add pack varying to resource list for vertex input / fragment output

Timothy Arceri timothy.arceri at collabora.com
Mon Dec 21 22:02:06 PST 2015


This is needed now that we pack these type of varyings when they have a
component layout qualifier.
---
 src/glsl/linker.cpp | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 4c2f24b..f1cdfd0 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -3760,13 +3760,14 @@ build_program_resource_list(struct gl_shader_program *shProg)
    if (input_stage == MESA_SHADER_STAGES && output_stage == 0)
       return;
 
-   /* Program interface needs to expose varyings in case of SSO. */
-   if (shProg->SeparateShader) {
-      if (!add_packed_varyings(shProg, input_stage))
-         return;
-      if (!add_packed_varyings(shProg, output_stage))
-         return;
-   }
+   /* Program interface needs to expose varyings in case of SSO, or in case of
+    * vertex inputs/fragement outputs that are packed unsing the component
+    * layout qualifier.
+    */
+   if (!add_packed_varyings(shProg, input_stage))
+      return;
+   if (!add_packed_varyings(shProg, output_stage))
+      return;
 
    if (!add_fragdata_arrays(shProg))
       return;
-- 
2.4.3



More information about the mesa-dev mailing list