On 10/30/18 7:11 PM, Erik Faye-Lund wrote:
In GLES, we currently either need an exact match with a local function,
or an exact match with a builtin.

However, if we add support for implicit conversions for GLES shaders,
we also need to fall back to a non-exact match in the case where there
were no builtin match either.

Luckily, we already have a variable ready with this, so let's just
return it if the builtin-search failed.

Signed-off-by: Erik Faye-Lund <erik.faye-l...@collabora.com>
---
  src/compiler/glsl/ast_function.cpp | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/compiler/glsl/ast_function.cpp 
b/src/compiler/glsl/ast_function.cpp
index 1fa3f7561ae..50fd8bc5f5d 100644
--- a/src/compiler/glsl/ast_function.cpp
+++ b/src/compiler/glsl/ast_function.cpp
@@ -667,7 +667,7 @@ match_function_by_name(const char *name,
     /* Local shader has no exact candidates; check the built-ins. */
     _mesa_glsl_initialize_builtin_functions();
     sig = _mesa_glsl_find_builtin_function(state, name, actual_parameters);
-   return sig;
+   return sig ? sig : local_sig;

I think this would deserve a comment about 'local_sig', it did not seem obvious ... maybe something like:

/* Variable local_sig contains the result from choose_best_inexact_overload(). */

  }
static ir_function_signature *

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to