From 5f66e5e56d78a3b4b9720735669500a2434d287b Mon Sep 17 00:00:00 2001 From: Sagar Ghuge Date: Mon, 30 Aug 2021 19:00:50 -0700 Subject: [PATCH] anv: No need to lower to A64 messages for 64-bit atomics With LSC support, we can do 64-bit atomics with A32/64 messages. Signed-off-by: Sagar Ghuge Suggested-by: Jason Ekstrand Reviewed-by: Jordan Justen Part-of: --- src/intel/vulkan/anv_nir_apply_pipeline_layout.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/intel/vulkan/anv_nir_apply_pipeline_layout.c b/src/intel/vulkan/anv_nir_apply_pipeline_layout.c index 8c342235202..0f508490110 100644 --- a/src/intel/vulkan/anv_nir_apply_pipeline_layout.c +++ b/src/intel/vulkan/anv_nir_apply_pipeline_layout.c @@ -723,7 +723,8 @@ try_lower_direct_buffer_intrinsic(nir_builder *b, /* 64-bit atomics only support A64 messages so we can't lower them to * the index+offset model. */ - if (is_atomic && nir_dest_bit_size(intrin->dest) == 64) + if (is_atomic && nir_dest_bit_size(intrin->dest) == 64 && + !state->pdevice->info.has_lsc) return false; /* Normal binding table-based messages can't handle non-uniform access