From 0e91dd2f3e926e59eb697c17a465596641f6203c Mon Sep 17 00:00:00 2001 From: Enrico Galli Date: Thu, 10 Feb 2022 14:37:32 -0800 Subject: [PATCH] microsoft/compiler: Add support for unnamed ubos Reviewed-by: Jesse Natalie Reviewed-by: Boris Brezillon Part-of: --- src/microsoft/compiler/nir_to_dxil.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/microsoft/compiler/nir_to_dxil.c b/src/microsoft/compiler/nir_to_dxil.c index 54ffc1ccd41..cfc849667a6 100644 --- a/src/microsoft/compiler/nir_to_dxil.c +++ b/src/microsoft/compiler/nir_to_dxil.c @@ -482,6 +482,7 @@ struct ntd_context { struct dxil_func_def *main_func_def; struct dxil_func_def *tess_ctrl_patch_constant_func_def; + unsigned unnamed_ubo_count; }; static const char* @@ -1206,7 +1207,17 @@ emit_ubo_var(struct ntd_context *ctx, nir_variable *var) unsigned count = 1; if (glsl_type_is_array(var->type)) count = glsl_get_length(var->type); - return emit_cbv(ctx, var->data.binding, var->data.descriptor_set, get_dword_size(var->type), count, var->name); + + char *name = var->name; + char temp_name[30]; + if (name && strlen(name) == 0) { + snprintf(temp_name, sizeof(temp_name), "__unnamed_ubo_%d", + ctx->unnamed_ubo_count++); + name = temp_name; + } + + return emit_cbv(ctx, var->data.binding, var->data.descriptor_set, + get_dword_size(var->type), count, name); } static bool