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