mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-05 01:30:31 +01:00
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" v2: emit still a warning if the condition happens (Ian) Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
be0a994fb8
commit
16b53005a7
1 changed files with 16 additions and 2 deletions
|
|
@ -1456,7 +1456,22 @@ 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->IsES) {
|
||||
/*
|
||||
* 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 an error?
|
||||
*
|
||||
* RESOLUTION: No.
|
||||
*/
|
||||
linker_warning(prog, "%s shader varying %s not written "
|
||||
"by %s shader\n.",
|
||||
_mesa_shader_stage_to_string(consumer->Stage),
|
||||
var->name,
|
||||
_mesa_shader_stage_to_string(producer->Stage));
|
||||
} else if (prog->Version <= 120) {
|
||||
/* On page 25 (page 31 of the PDF) of the GLSL 1.20 spec:
|
||||
*
|
||||
* Only those varying variables used (i.e. read) in
|
||||
|
|
@ -1469,7 +1484,6 @@ assign_varying_locations(struct gl_context *ctx,
|
|||
* write the variable for the FS to read it. See
|
||||
* "glsl1-varying read but not written" in piglit.
|
||||
*/
|
||||
|
||||
linker_error(prog, "%s shader varying %s not written "
|
||||
"by %s shader\n.",
|
||||
_mesa_shader_stage_to_string(consumer->Stage),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue