diff --git a/.pick_status.json b/.pick_status.json index a6fc0abf673..2989b1d91ac 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -532,7 +532,7 @@ "description": "anv: fix acceleration structure descriptor template writes", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "because_sha": "d258b0bf0e072438fc9eb921c5335734e6794459" }, { diff --git a/src/intel/vulkan/anv_descriptor_set.c b/src/intel/vulkan/anv_descriptor_set.c index 2b5a1d5d4ff..9c007fb3845 100644 --- a/src/intel/vulkan/anv_descriptor_set.c +++ b/src/intel/vulkan/anv_descriptor_set.c @@ -1949,6 +1949,19 @@ anv_descriptor_set_write_template(struct anv_device *device, entry->array_count); break; + case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR: + for (uint32_t j = 0; j < entry->array_count; j++) { + VkAccelerationStructureKHR *accel_obj = + (VkAccelerationStructureKHR *)(data + entry->offset + j * entry->stride); + ANV_FROM_HANDLE(anv_acceleration_structure, accel, *accel_obj); + + anv_descriptor_set_write_acceleration_structure(device, set, + accel, + entry->binding, + entry->array_element + j); + } + break; + default: break; }