mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 00:30:13 +01:00
glsl: Switch to the new built-in function module.
All built-ins are now handled by the new code; the old system is dead. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Paul Berry <stereotype441@gmail.com>
This commit is contained in:
parent
7ddc312c1b
commit
76d2f73643
3 changed files with 4 additions and 29 deletions
|
|
@ -403,33 +403,8 @@ match_function_by_name(const char *name,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Local shader has no exact candidates; check the built-ins. */
|
/* Local shader has no exact candidates; check the built-ins. */
|
||||||
_mesa_glsl_initialize_functions(state);
|
_mesa_glsl_initialize_builtin_functions();
|
||||||
for (unsigned i = 0; i < state->num_builtins_to_link; i++) {
|
sig = _mesa_glsl_find_builtin_function(state, name, actual_parameters);
|
||||||
ir_function *builtin =
|
|
||||||
state->builtins_to_link[i]->symbols->get_function(name);
|
|
||||||
if (builtin == NULL)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
bool is_exact = false;
|
|
||||||
ir_function_signature *builtin_sig =
|
|
||||||
builtin->matching_signature(state, actual_parameters, &is_exact);
|
|
||||||
|
|
||||||
if (builtin_sig == NULL)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/* If the built-in signature is exact, we can stop. */
|
|
||||||
if (is_exact) {
|
|
||||||
sig = builtin_sig;
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sig == NULL) {
|
|
||||||
/* We found an inexact match, which is better than nothing. However,
|
|
||||||
* we should keep searching for an exact match.
|
|
||||||
*/
|
|
||||||
sig = builtin_sig;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
done:
|
done:
|
||||||
if (sig != NULL) {
|
if (sig != NULL) {
|
||||||
|
|
|
||||||
|
|
@ -1625,7 +1625,7 @@ _mesa_destroy_shader_compiler(void)
|
||||||
void
|
void
|
||||||
_mesa_destroy_shader_compiler_caches(void)
|
_mesa_destroy_shader_compiler_caches(void)
|
||||||
{
|
{
|
||||||
_mesa_glsl_release_functions();
|
_mesa_glsl_release_builtin_functions();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -230,7 +230,7 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
ralloc_free(whole_program);
|
ralloc_free(whole_program);
|
||||||
_mesa_glsl_release_types();
|
_mesa_glsl_release_types();
|
||||||
_mesa_glsl_release_functions();
|
_mesa_glsl_release_builtin_functions();
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue