glsl: Move is_builtin flag back to ir_function_signature.
This effectively reverts b6f15869b3.
In desktop GLSL, defining a function with the same name as a built-in
hides that built-in function completely, so there would never be
built-in and user function signatures in the same ir_function.
However, in GLSL ES, overloading built-ins is allowed, and does not
hide the built-in signatures - so we're back to needing this.
This commit is contained in:
+2
-2
@@ -740,14 +740,14 @@ link_intrastage_shaders(GLcontext *ctx,
|
||||
ir_function_signature *sig =
|
||||
(ir_function_signature *) iter.get();
|
||||
|
||||
if (!sig->is_defined || f->is_builtin)
|
||||
if (!sig->is_defined || sig->is_builtin)
|
||||
continue;
|
||||
|
||||
ir_function_signature *other_sig =
|
||||
other->exact_matching_signature(& sig->parameters);
|
||||
|
||||
if ((other_sig != NULL) && other_sig->is_defined
|
||||
&& !other_sig->function()->is_builtin) {
|
||||
&& !other_sig->is_builtin) {
|
||||
linker_error_printf(prog,
|
||||
"function `%s' is multiply defined",
|
||||
f->name);
|
||||
|
||||
Reference in New Issue
Block a user