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:
Kenneth Graunke
2010-09-05 01:48:11 -07:00
parent c98deb18d5
commit f412fac5b4
9 changed files with 28 additions and 15 deletions

View File

@@ -250,8 +250,6 @@ ir_function::clone(void *mem_ctx, struct hash_table *ht) const
{
ir_function *copy = new(mem_ctx) ir_function(this->name);
copy->is_builtin = this->is_builtin;
foreach_list_const(node, &this->signatures) {
const ir_function_signature *const sig =
(const ir_function_signature *const) node;
@@ -274,6 +272,7 @@ ir_function_signature::clone(void *mem_ctx, struct hash_table *ht) const
new(mem_ctx) ir_function_signature(this->return_type);
copy->is_defined = this->is_defined;
copy->is_builtin = this->is_builtin;
/* Clone the parameter list.
*/