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);
|
mode_string(var), var->name);
|
||||||
return;
|
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
|
} else
|
||||||
variables->add_variable(var);
|
variables->add_variable(var);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue