From 8f4af4d7001c4373b2779d4cd57cd47e67dfbe5b Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 7 Apr 2022 16:45:22 -0500 Subject: [PATCH] nir/load_libclc: Don't add generic variants that already exist At some point in the future, adding generic variants to libclc will hopefully no longer be needed. At that point, we don't want the NIR code adding duplicates. Check if the generic version already exists and, if it does, don't re-add it. Signed-off-by: Karol Herbst Reviewed-by: Karol Herbst Reviewed-by: Alyssa Rosenzweig Part-of: --- src/compiler/spirv/nir_load_libclc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compiler/spirv/nir_load_libclc.c b/src/compiler/spirv/nir_load_libclc.c index db785b13348..567fb2669dc 100644 --- a/src/compiler/spirv/nir_load_libclc.c +++ b/src/compiler/spirv/nir_load_libclc.c @@ -266,6 +266,9 @@ libclc_add_generic_variants(nir_shader *shader) assert(generic_name[offset_1] == '1'); generic_name[offset_1] = '4'; + if (nir_shader_get_function_for_name(shader, generic_name)) + continue; + nir_function *gfunc = nir_function_create(shader, generic_name); gfunc->num_params = func->num_params; gfunc->params = ralloc_array(shader, nir_parameter, gfunc->num_params);