glsl: Allow overloading of built-ins without hiding in GLSL ES.
authorKenneth Graunke <kenneth@whitecape.org>
Sun, 5 Sep 2010 08:51:28 +0000 (01:51 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 8 Sep 2010 00:30:39 +0000 (17:30 -0700)
The rules are explicitly different from desktop GLSL.

src/glsl/ast_to_hir.cpp

index b8a01b8db866ba4b76e46332ad391b8da3d7cca4..8322dbfdc2c54732daaee3a2afe2855f3d4cbbbf 100644 (file)
@@ -2279,7 +2279,7 @@ ast_function::hir(exec_list *instructions,
     * that the previously seen signature does not have an associated definition.
     */
    f = state->symbols->get_function(name);
-   if (f != NULL && !f->has_builtin_signature()) {
+   if (f != NULL && (state->es_shader || !f->has_builtin_signature())) {
       sig = f->exact_matching_signature(&hir_parameters);
       if (sig != NULL) {
         const char *badvar = sig->qualifiers_match(&hir_parameters);