From 0ec760af6609484bae72b52b3ad4bced8297f7f5 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Tue, 18 Feb 2025 11:22:16 -0600 Subject: [PATCH] nvk: Allow sparse loads on EDB buffers Fixes: 3b94c5c22a62 ("nvk: Lower descriptors for VK_EXT_descriptor_buffer buffer views") Part-of: --- src/nouveau/vulkan/nvk_nir_lower_descriptors.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/nouveau/vulkan/nvk_nir_lower_descriptors.c b/src/nouveau/vulkan/nvk_nir_lower_descriptors.c index b952b23a4c7..5e904f76a97 100644 --- a/src/nouveau/vulkan/nvk_nir_lower_descriptors.c +++ b/src/nouveau/vulkan/nvk_nir_lower_descriptors.c @@ -1050,6 +1050,7 @@ lower_edb_buffer_image_intrin(nir_builder *b, nir_intrinsic_instr *intrin, switch (intrin->intrinsic) { case nir_intrinsic_image_deref_load: + case nir_intrinsic_image_deref_sparse_load: case nir_intrinsic_image_deref_store: case nir_intrinsic_image_deref_atomic: case nir_intrinsic_image_deref_atomic_swap: { @@ -1063,7 +1064,8 @@ lower_edb_buffer_image_intrin(nir_builder *b, nir_intrinsic_instr *intrin, pos = nir_vector_insert_imm(b, pos, new_x, 0); nir_src_rewrite(&intrin->src[1], pos); - if (intrin->intrinsic == nir_intrinsic_image_deref_load) { + if (intrin->intrinsic == nir_intrinsic_image_deref_load || + intrin->intrinsic == nir_intrinsic_image_deref_sparse_load) { b->cursor = nir_after_instr(&intrin->instr); nir_def *res = &intrin->def; res = fixup_edb_buffer_view_result(b, desc, in_bounds, res,