From eb27cbf25abc821a9d20e3fcc8ab13644f276432 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Tue, 18 Feb 2025 19:07:39 -0600 Subject: [PATCH] nvk: Use suld.constant for EDB uniform texel buffers In 2183bc73a65b ("nvk: Use suld for EDB uniform texel buffers"), we started using suld instead of tld for EDB uniform texel buffers because we needed it for correctness. However, it's slow as mud. Using suld.constant seems to fix the performance regression. I don't know if it's quite tld performance, but it's close. Backport-to: 25.0 Part-of: --- src/nouveau/vulkan/nvk_nir_lower_descriptors.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/nouveau/vulkan/nvk_nir_lower_descriptors.c b/src/nouveau/vulkan/nvk_nir_lower_descriptors.c index c4884ecb72f..c2b92b6d6ce 100644 --- a/src/nouveau/vulkan/nvk_nir_lower_descriptors.c +++ b/src/nouveau/vulkan/nvk_nir_lower_descriptors.c @@ -1238,6 +1238,8 @@ lower_edb_buffer_tex_instr(nir_builder *b, nir_tex_instr *tex, .image_dim = GLSL_SAMPLER_DIM_BUF, .image_array = false, .format = PIPE_FORMAT_NONE, + .access = ACCESS_NON_WRITEABLE | + ACCESS_CAN_REORDER, .dest_type = tex->dest_type); if (tex->is_sparse) { nir_intrinsic_instr *intr = nir_instr_as_intrinsic(res->parent_instr);