mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 06:48:06 +02:00
glsl: warn in GL as well as ES when varying not written
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93339
This commit is contained in:
parent
6d39075c06
commit
00a1bd13b5
1 changed files with 7 additions and 16 deletions
|
|
@ -1739,22 +1739,7 @@ assign_varying_locations(struct gl_context *ctx,
|
||||||
|
|
||||||
if (var && var->data.mode == ir_var_shader_in &&
|
if (var && var->data.mode == ir_var_shader_in &&
|
||||||
var->data.is_unmatched_generic_inout) {
|
var->data.is_unmatched_generic_inout) {
|
||||||
if (prog->IsES) {
|
if (!prog->IsES && prog->Version <= 120) {
|
||||||
/*
|
|
||||||
* 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:
|
/* On page 25 (page 31 of the PDF) of the GLSL 1.20 spec:
|
||||||
*
|
*
|
||||||
* Only those varying variables used (i.e. read) in
|
* Only those varying variables used (i.e. read) in
|
||||||
|
|
@ -1772,6 +1757,12 @@ assign_varying_locations(struct gl_context *ctx,
|
||||||
_mesa_shader_stage_to_string(consumer->Stage),
|
_mesa_shader_stage_to_string(consumer->Stage),
|
||||||
var->name,
|
var->name,
|
||||||
_mesa_shader_stage_to_string(producer->Stage));
|
_mesa_shader_stage_to_string(producer->Stage));
|
||||||
|
} else {
|
||||||
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue