glsl/linker: Fail linking on ES if uniform precision qualifiers don't match
When GL_OES_geometry_shader is enabled, this fixes dEQP-GLES31.functional.shaders.linkage.geometry.uniform.rules.type_mismatch_1. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
06201e4f1a
commit
259fc50545
|
@ -1153,6 +1153,13 @@ cross_validate_globals(struct gl_shader_program *prog,
|
|||
mode_string(var), var->name);
|
||||
return;
|
||||
}
|
||||
|
||||
if (prog->IsES && existing->data.precision != var->data.precision) {
|
||||
linker_error(prog, "declarations for %s `%s` have "
|
||||
"mismatching precision qualifiers\n",
|
||||
mode_string(var), var->name);
|
||||
return;
|
||||
}
|
||||
} else
|
||||
variables->add_variable(var);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue