From: Erik Faye-Lund Date: Tue, 30 Oct 2018 14:15:58 +0000 (+0100) Subject: glsl: fall back to inexact function-match X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ecab2d6f1481e1e50b20b54ae88dd949c1dafab6;p=mesa.git glsl: fall back to inexact function-match 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 Reviewed-by: Tapani Pälli --- diff --git a/src/compiler/glsl/ast_function.cpp b/src/compiler/glsl/ast_function.cpp index 1fa3f7561ae..ee68d0e17e7 100644 --- a/src/compiler/glsl/ast_function.cpp +++ b/src/compiler/glsl/ast_function.cpp @@ -667,7 +667,12 @@ 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; + + /* if _mesa_glsl_find_builtin_function failed, fall back to the result + * of choose_best_inexact_overload() instead. This should only affect + * GLES. + */ + return sig ? sig : local_sig; } static ir_function_signature *