[Mesa-dev] [PATCH] glsl: do not emit error for non written varyings on OpenGL ES
Patch fixes following test case from 'shaders-with-varyings' WebGL conformance suite: vertex shader with unused varying and fragment shader with used varying must succeed Signed-off-by: Tapani Pälli tapani.pa...@intel.com --- src/glsl/link_varyings.cpp | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp index 54ceae1..fb2d88c 100644 --- a/src/glsl/link_varyings.cpp +++ b/src/glsl/link_varyings.cpp @@ -1451,7 +1451,7 @@ assign_varying_locations(struct gl_context *ctx, if (var var-data.mode == ir_var_shader_in var-data.is_unmatched_generic_inout) { -if (prog-Version = 120) { +if (prog-Version = 120 !prog-IsES) { /* On page 25 (page 31 of the PDF) of the GLSL 1.20 spec: * * Only those varying variables used (i.e. read) in @@ -1463,6 +1463,16 @@ assign_varying_locations(struct gl_context *ctx, * We interpret this text as meaning that the VS must * write the variable for the FS to read it. See * glsl1-varying read but not written in piglit. +* +* Note that this is not an error on OpenGL ES: +* +* On Page 91 (Page 97 of the PDF) of the GLSL ES 1.0 spec: +* +* If the vertex shader declares but doesn't write to a +* varying and the fragment shader declares and reads it, +* is this and error? +* +* RESOLUTION: No. */ linker_error(prog, %s shader varying %s not written -- 1.9.3 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] glsl: do not emit error for non written varyings on OpenGL ES
On 09/16/2014 04:21 AM, Tapani Pälli wrote: Patch fixes following test case from 'shaders-with-varyings' WebGL conformance suite: vertex shader with unused varying and fragment shader with used varying must succeed Oh bother. Using the same rationale as before, could we get a warning from the linker? Signed-off-by: Tapani Pälli tapani.pa...@intel.com --- src/glsl/link_varyings.cpp | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp index 54ceae1..fb2d88c 100644 --- a/src/glsl/link_varyings.cpp +++ b/src/glsl/link_varyings.cpp @@ -1451,7 +1451,7 @@ assign_varying_locations(struct gl_context *ctx, if (var var-data.mode == ir_var_shader_in var-data.is_unmatched_generic_inout) { -if (prog-Version = 120) { +if (prog-Version = 120 !prog-IsES) { /* On page 25 (page 31 of the PDF) of the GLSL 1.20 spec: * * Only those varying variables used (i.e. read) in @@ -1463,6 +1463,16 @@ assign_varying_locations(struct gl_context *ctx, * We interpret this text as meaning that the VS must * write the variable for the FS to read it. See * glsl1-varying read but not written in piglit. +* +* Note that this is not an error on OpenGL ES: +* +* On Page 91 (Page 97 of the PDF) of the GLSL ES 1.0 spec: +* +* If the vertex shader declares but doesn't write to a +* varying and the fragment shader declares and reads it, +* is this and error? +* +* RESOLUTION: No. */ linker_error(prog, %s shader varying %s not written ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] glsl: do not emit error for non written varyings on OpenGL ES
On 09/16/2014 05:48 PM, Ian Romanick wrote: On 09/16/2014 04:21 AM, Tapani Pälli wrote: Patch fixes following test case from 'shaders-with-varyings' WebGL conformance suite: vertex shader with unused varying and fragment shader with used varying must succeed Oh bother. Using the same rationale as before, could we get a warning from the linker? Sure, will send a v2 patch with a warning. Signed-off-by: Tapani Pälli tapani.pa...@intel.com --- src/glsl/link_varyings.cpp | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp index 54ceae1..fb2d88c 100644 --- a/src/glsl/link_varyings.cpp +++ b/src/glsl/link_varyings.cpp @@ -1451,7 +1451,7 @@ assign_varying_locations(struct gl_context *ctx, if (var var-data.mode == ir_var_shader_in var-data.is_unmatched_generic_inout) { -if (prog-Version = 120) { +if (prog-Version = 120 !prog-IsES) { /* On page 25 (page 31 of the PDF) of the GLSL 1.20 spec: * * Only those varying variables used (i.e. read) in @@ -1463,6 +1463,16 @@ assign_varying_locations(struct gl_context *ctx, * We interpret this text as meaning that the VS must * write the variable for the FS to read it. See * glsl1-varying read but not written in piglit. +* +* Note that this is not an error on OpenGL ES: +* +* On Page 91 (Page 97 of the PDF) of the GLSL ES 1.0 spec: +* +* If the vertex shader declares but doesn't write to a +* varying and the fragment shader declares and reads it, +* is this and error? +* +* RESOLUTION: No. */ linker_error(prog, %s shader varying %s not written ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev