Mesa (main): microsoft/compiler: Add support for unnamed ubos
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Apr 15 00:43:14 UTC 2022
Module: Mesa
Branch: main
Commit: 0e91dd2f3e926e59eb697c17a465596641f6203c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e91dd2f3e926e59eb697c17a465596641f6203c
Author: Enrico Galli <enrico.galli at intel.com>
Date: Thu Feb 10 14:37:32 2022 -0800
microsoft/compiler: Add support for unnamed ubos
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14988>
---
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
More information about the mesa-commit
mailing list