From: Kalyan Kondapally Date: Thu, 11 Sep 2014 03:20:23 +0000 (-0700) Subject: Generate a warning when not writing gl_Position with GLES. X-Git-Tag: upstream/17.1.0~23540 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dbc2d81d2ba12354876eb67c79e8a71e57e97f3c;p=platform%2Fupstream%2Fmesa.git 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 Reviewed-by: Anuj Phogat --- diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 97d29e2..7689198 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; } }