mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
Linking fails when not writing gl_Position.
According to GLSL-ES Spec(i.e. 1.0, 3.0), gl_Position value is undefined after the vertex processing stage if we don't write gl_Position. However, GLSL 1.10 Spec mentions that writing to gl_Position is mandatory. In case of GLSL-ES, it's not an error and atleast the linking should pass. Currently, Mesa throws an linker error in case we dont write to gl_position and Version is less then 140(GLSL) and 300(GLSL-ES). This patch changes it so that we don't report an error in case of GLSL-ES. Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83380
This commit is contained in:
parent
2a49a94079
commit
78c9201a5b
1 changed files with 3 additions and 3 deletions
|
|
@ -559,10 +559,10 @@ validate_vertex_shader_executable(struct gl_shader_program *prog,
|
|||
* vertex processing has occurred. Its value is undefined if
|
||||
* the vertex shader executable does not write gl_Position."
|
||||
*
|
||||
* GLSL ES 3.00 is similar to GLSL 1.40--failing to write to gl_Position is
|
||||
* not an error.
|
||||
* All GLSL ES Versions are similar to GLSL 1.40--failing to write to
|
||||
* gl_Position is not an error.
|
||||
*/
|
||||
if (prog->Version < (prog->IsES ? 300 : 140)) {
|
||||
if (!prog->IsES && prog->Version < 140) {
|
||||
find_assignment_visitor find("gl_Position");
|
||||
find.run(shader->ir);
|
||||
if (!find.variable_found()) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue