[Mesa-dev] [PATCH 14/21] glsl: validate linking of intrastage component qualifiers

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


---
 src/glsl/linker.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 657d294..827d07f 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -990,6 +990,13 @@ cross_validate_globals(struct gl_shader_program *prog,
 		     return;
 	       }
 
+	       if (var->data.location_frac != existing->data.location_frac) {
+		     linker_error(prog, "explicit components for %s "
+				  "`%s' have differing values\n",
+				  mode_string(var), var->name);
+		     return;
+	       }
+
 	       existing->data.location = var->data.location;
 	       existing->data.explicit_location = true;
 	    }
-- 
2.4.3



More information about the mesa-dev mailing list