From 1ffdbe276dbc4992bb8f0ac35eede4f0eeafc5d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Thu, 19 Mar 2026 10:53:45 -0700 Subject: [PATCH] anv: Replace va.indirect_descriptor_pool access with a function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Jordan Justen Signed-off-by: José Roberto de Souza Part-of: --- src/intel/vulkan/anv_physical_device.c | 2 +- src/intel/vulkan/anv_private.h | 6 ++++++ src/intel/vulkan/anv_shader.c | 6 +++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/intel/vulkan/anv_physical_device.c b/src/intel/vulkan/anv_physical_device.c index 5202f6024c3..0b802b08b95 100644 --- a/src/intel/vulkan/anv_physical_device.c +++ b/src/intel/vulkan/anv_physical_device.c @@ -101,7 +101,7 @@ get_device_descriptor_limits(const struct anv_physical_device *device, */ const uint64_t descriptor_heap_size = device->indirect_descriptors ? - device->va.indirect_descriptor_pool.size : + anv_physical_device_get_indirect_descriptor_pool_va(device)->size : anv_physical_device_get_bindless_surface_state_pool_va(device)->size; const uint32_t buffer_descriptor_size = diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index c3dd51c256d..c37fc8384bc 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1719,6 +1719,12 @@ anv_physical_device_get_bindless_surface_state_pool_va(const struct anv_physical return &pdevice->va.bindless_surface_state_pool; } +static inline const struct anv_va_range * +anv_physical_device_get_indirect_descriptor_pool_va(const struct anv_physical_device *pdevice) +{ + return &pdevice->va.indirect_descriptor_pool; +} + VkResult anv_physical_device_try_create(struct vk_instance *vk_instance, struct _drmDevice *drm_device, struct vk_physical_device **out); diff --git a/src/intel/vulkan/anv_shader.c b/src/intel/vulkan/anv_shader.c index 1fcd4b26bda..76dc9bb5a5d 100644 --- a/src/intel/vulkan/anv_shader.c +++ b/src/intel/vulkan/anv_shader.c @@ -597,14 +597,14 @@ anv_shader_set_relocs(struct anv_device *device, }; reloc_values[rv_count++] = (struct intel_shader_reloc_value) { .id = BRW_SHADER_RELOC_PUSH_DESCRIPTORS_BUFFER_ADDR_HIGH, - .value = device->physical->va.internal_surface_state_pool.addr >> 32, + .value = anv_physical_device_get_indirect_descriptor_pool_va(device->physical)->addr >> 32, }; - assert((device->physical->va.indirect_descriptor_pool.addr & 0xffffffff) == 0); + assert((anv_physical_device_get_indirect_descriptor_pool_va(device->physical)->addr & 0xffffffff) == 0); assert((device->physical->va.internal_surface_state_pool.addr & 0xffffffff) == 0); reloc_values[rv_count++] = (struct intel_shader_reloc_value) { .id = BRW_SHADER_RELOC_DESCRIPTORS_ADDR_HIGH, .value = device->physical->indirect_descriptors ? - (device->physical->va.indirect_descriptor_pool.addr >> 32) : + (anv_physical_device_get_indirect_descriptor_pool_va(device->physical)->addr >> 32) : (device->physical->va.internal_surface_state_pool.addr >> 32), }; assert((device->physical->va.shader_heap.addr & 0xffffffff) == 0);