assert(bind_layout->data & ANV_DESCRIPTOR_ADDRESS_RANGE);
*desc = (struct anv_descriptor) {
.type = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
+ .accel_struct = accel,
};
+ if (set->pool && !set->pool->allocate_surface_states)
+ return;
+
struct anv_address_range_descriptor desc_data = { };
if (accel != NULL) {
desc_data.address = anv_address_physical(accel->address);
}
case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR: {
- const VkWriteDescriptorSetAccelerationStructureKHR *accel_write =
- vk_find_struct_const(dst_desc, WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR);
- assert(accel_write->accelerationStructureCount ==
- copy->descriptorCount);
- ANV_FROM_HANDLE(anv_acceleration_structure, accel, accel_write->pAccelerationStructures[j]);
anv_descriptor_set_write_acceleration_structure(device, dst,
- accel,
+ src_desc[j].accel_struct,
copy->dstBinding,
copy->dstArrayElement + j);
break;