From e1ffa067d3d5d57f3c92ed1cf2228c618a2492bf Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Tue, 25 Apr 2023 12:56:06 +0300 Subject: [PATCH] anv: fix push range for descriptor offsets Signed-off-by: Lionel Landwerlin Fixes: 379b9bb7b0 ("anv: Support fetching descriptor addresses from push constants") Reviewed-by: Kenneth Graunke Part-of: --- src/intel/vulkan/anv_nir_compute_push_layout.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/intel/vulkan/anv_nir_compute_push_layout.c b/src/intel/vulkan/anv_nir_compute_push_layout.c index bfe6a6c5c7e..cea03ca47d2 100644 --- a/src/intel/vulkan/anv_nir_compute_push_layout.c +++ b/src/intel/vulkan/anv_nir_compute_push_layout.c @@ -69,12 +69,13 @@ anv_nir_compute_push_layout(nir_shader *nir, } case nir_intrinsic_load_desc_set_address_intel: - case nir_intrinsic_load_desc_set_dynamic_index_intel: - push_start = MIN2(push_start, - offsetof(struct anv_push_constants, desc_sets)); - push_end = MAX2(push_end, push_start + + case nir_intrinsic_load_desc_set_dynamic_index_intel: { + unsigned base = offsetof(struct anv_push_constants, desc_sets); + push_start = MIN2(push_start, base); + push_end = MAX2(push_end, base + sizeof_field(struct anv_push_constants, desc_sets)); break; + } default: break;