summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKalyan Kondapally <[email protected]>2014-09-10 20:20:23 -0700
committerTapani Pälli <[email protected]>2014-09-15 08:14:33 +0300
commitdbc2d81d2ba12354876eb67c79e8a71e57e97f3c (patch)
treedcb868ab8ad91abf66bb80c52fade326dce35103
parent9bd139e4515172d98e91d6ed7364ec3ea5cf623d (diff)
Generate a warning when not writing gl_Position with GLES.
With GLES we don't give any kind of warning in case we don't write to gl_position. This patch makes changes so that we generate a warning in case of GLES (VER < 300) and an error in case of GL. Signed-off-by: Kalyan Kondapally <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
-rw-r--r--src/glsl/linker.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 97d29e257c1..7689198b066 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -562,11 +562,18 @@ validate_vertex_shader_executable(struct gl_shader_program *prog,
* All GLSL ES Versions are similar to GLSL 1.40--failing to write to
* gl_Position is not an error.
*/
- if (!prog->IsES && prog->Version < 140) {
+ if (prog->Version < (prog->IsES ? 300 : 140)) {
find_assignment_visitor find("gl_Position");
find.run(shader->ir);
if (!find.variable_found()) {
- linker_error(prog, "vertex shader does not write to `gl_Position'\n");
+ if (prog->IsES) {
+ linker_warning(prog,
+ "vertex shader does not write to `gl_Position'."
+ "It's value is undefined. \n");
+ } else {
+ linker_error(prog,
+ "vertex shader does not write to `gl_Position'. \n");
+ }
return;
}
}