From e3b14481e305a53f6f626e2fb95ed9891175f75a Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sun, 17 Nov 2024 14:33:42 -0400 Subject: [PATCH] vtn: preserve name, is_return in bindings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit we want to plumb as much signature through as possible. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Marek Olšák Part-of: --- src/compiler/spirv/spirv_to_nir.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index dbae76b8226..e079ee3f9b6 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -7235,11 +7235,20 @@ func_to_nir_builder(FILE *fp, struct vtn_function *func) fprintf(fp, " func->params = rzalloc_array(b->shader, nir_parameter, func->num_params);\n"); for (unsigned i = 0; i < nir_func->num_params; ++i) { + nir_parameter param = nir_func->params[i]; + fprintf(fp, "\n"); - fprintf(fp, " func->params[%u].bit_size = %u;\n", i, - nir_func->params[i].bit_size); + fprintf(fp, " func->params[%u].bit_size = %u;\n", i, param.bit_size); fprintf(fp, " func->params[%u].num_components = %u;\n", i, - nir_func->params[i].num_components); + param.num_components); + + if (returns && i == 0) { + fprintf(fp, " func->params[%u].is_return = true;\n", i); + } + + if (param.name) { + fprintf(fp, " func->params[%u].name = \"%s\";\n", i, param.name); + } } fprintf(fp, " }\n\n");