From fec1a04c53df17a8a55a2a66cf4958be0748c407 Mon Sep 17 00:00:00 2001 From: Enrico Galli Date: Wed, 28 Jul 2021 17:05:26 -0700 Subject: [PATCH] microsoft/compiler: Correctly flag when using raw buffers Reviewed-by: Jesse Natalie Part-of: --- src/microsoft/compiler/nir_to_dxil.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/microsoft/compiler/nir_to_dxil.c b/src/microsoft/compiler/nir_to_dxil.c index d0bc4b9db26..a19f4f8a16f 100644 --- a/src/microsoft/compiler/nir_to_dxil.c +++ b/src/microsoft/compiler/nir_to_dxil.c @@ -4396,6 +4396,7 @@ emit_module(struct ntd_context *ctx, const struct nir_to_dxil_options *opts) return false; } else { /* Handle read/write SSBOs as UAVs */ + int uav_count = 0; nir_foreach_variable_with_modes(var, ctx->shader, nir_var_mem_ssbo) { if ((var->data.access & ACCESS_NON_WRITEABLE) == 0) { unsigned count = 1; @@ -4405,8 +4406,12 @@ emit_module(struct ntd_context *ctx, const struct nir_to_dxil_options *opts) count, DXIL_COMP_TYPE_INVALID, DXIL_RESOURCE_KIND_RAW_BUFFER, var->name)) return false; + + ++uav_count; } } + if (uav_count > 0) + ctx->mod.raw_and_structured_buffers = true; } nir_foreach_variable_with_modes(var, ctx->shader, nir_var_uniform) {