[Mesa-dev] [PATCH 3/5] glsl: fall back to inexact function-match

Tapani Pälli tapani.palli at intel.com
Wed Oct 31 13:46:11 UTC 2018



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-lund at 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 *
> 


More information about the mesa-dev mailing list