diff --git a/src/amd/vulkan/radv_acceleration_structure.c b/src/amd/vulkan/radv_acceleration_structure.c index 708593354e8..10a372da17c 100644 --- a/src/amd/vulkan/radv_acceleration_structure.c +++ b/src/amd/vulkan/radv_acceleration_structure.c @@ -385,7 +385,8 @@ radv_get_update_scratch_size(struct vk_device *vk_device, uint32_t leaf_count) } static uint32_t -radv_get_encode_key(VkAccelerationStructureTypeKHR type, VkBuildAccelerationStructureFlagBitsKHR flags) +radv_get_encode_key(struct vk_device *device, VkAccelerationStructureTypeKHR type, + VkBuildAccelerationStructureFlagBitsKHR flags) { if (flags & VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR) return RADV_ENCODE_KEY_COMPACT; diff --git a/src/freedreno/vulkan/tu_acceleration_structure.cc b/src/freedreno/vulkan/tu_acceleration_structure.cc index 644a31d9c57..1061341f7e6 100644 --- a/src/freedreno/vulkan/tu_acceleration_structure.cc +++ b/src/freedreno/vulkan/tu_acceleration_structure.cc @@ -154,7 +154,7 @@ VkDeviceSize get_bvh_size(VkDevice device, } static uint32_t -encode_key(VkAccelerationStructureTypeKHR type, +encode_key(struct vk_device *device, VkAccelerationStructureTypeKHR type, VkBuildAccelerationStructureFlagBitsKHR flags) { return 0; @@ -233,7 +233,7 @@ enum tu_header_key { }; static uint32_t -header_key(VkAccelerationStructureTypeKHR type, +header_key(struct vk_device *device, VkAccelerationStructureTypeKHR type, VkBuildAccelerationStructureFlagBitsKHR flags) { return (flags & VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR) ? diff --git a/src/gallium/frontends/lavapipe/lvp_acceleration_structure.c b/src/gallium/frontends/lavapipe/lvp_acceleration_structure.c index 9e3602f4546..043b9c181b3 100644 --- a/src/gallium/frontends/lavapipe/lvp_acceleration_structure.c +++ b/src/gallium/frontends/lavapipe/lvp_acceleration_structure.c @@ -646,7 +646,7 @@ lvp_get_as_size(VkDevice device, } static uint32_t -lvp_get_encode_key(VkAccelerationStructureTypeKHR type, +lvp_get_encode_key(struct vk_device *device, VkAccelerationStructureTypeKHR type, VkBuildAccelerationStructureFlagBitsKHR flags) { return 0; diff --git a/src/intel/vulkan/genX_acceleration_structure.c b/src/intel/vulkan/genX_acceleration_structure.c index 4c3a68fcef5..fdd93ee0d34 100644 --- a/src/intel/vulkan/genX_acceleration_structure.c +++ b/src/intel/vulkan/genX_acceleration_structure.c @@ -350,7 +350,7 @@ anv_get_as_size(VkDevice device, } static uint32_t -anv_get_encode_key(VkAccelerationStructureTypeKHR type, +anv_get_encode_key(struct vk_device *device, VkAccelerationStructureTypeKHR type, VkBuildAccelerationStructureFlagBitsKHR flags) { return 0; @@ -437,7 +437,7 @@ anv_encode_as(VkCommandBuffer commandBuffer, } static uint32_t -anv_get_header_key(VkAccelerationStructureTypeKHR type, +anv_get_header_key(struct vk_device *device, VkAccelerationStructureTypeKHR type, VkBuildAccelerationStructureFlagBitsKHR flags) { return (flags & VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR) ? diff --git a/src/vulkan/runtime/vk_acceleration_structure.c b/src/vulkan/runtime/vk_acceleration_structure.c index 9ac40993025..7881a52549f 100644 --- a/src/vulkan/runtime/vk_acceleration_structure.c +++ b/src/vulkan/runtime/vk_acceleration_structure.c @@ -147,7 +147,7 @@ struct scratch_layout { }; static struct build_config -build_config(uint32_t leaf_count, +build_config(struct vk_device *device, uint32_t leaf_count, const VkAccelerationStructureBuildGeometryInfoKHR *build_info, const struct vk_acceleration_structure_build_ops *ops) { @@ -176,7 +176,7 @@ build_config(uint32_t leaf_count, for (unsigned i = 0; i < ARRAY_SIZE(config.encode_key); i++) { if (!ops->get_encode_key[i]) break; - config.encode_key[i] = ops->get_encode_key[i](leaf_count, build_info->flags); + config.encode_key[i] = ops->get_encode_key[i](device, leaf_count, build_info->flags); } return config; @@ -218,7 +218,7 @@ get_scratch_layout(struct vk_device *device, uint32_t ploc_scratch_space = 0; uint32_t lbvh_node_space = 0; - struct build_config config = build_config(leaf_count, build_info, + struct build_config config = build_config(device, leaf_count, build_info, device->as_build_ops); if (config.internal_type == INTERNAL_BUILD_TYPE_PLOC) @@ -1039,7 +1039,7 @@ vk_cmd_build_acceleration_structures(VkCommandBuffer commandBuffer, get_scratch_layout(device, leaf_node_count, pInfos + i, args, &bvh_states[i].scratch); - struct build_config config = build_config(leaf_node_count, pInfos + i, + struct build_config config = build_config(cmd_buffer->base.device, leaf_node_count, pInfos + i, device->as_build_ops); bvh_states[i].config = config; diff --git a/src/vulkan/runtime/vk_acceleration_structure.h b/src/vulkan/runtime/vk_acceleration_structure.h index c14cd6ee3b5..31f9d1ba19b 100644 --- a/src/vulkan/runtime/vk_acceleration_structure.h +++ b/src/vulkan/runtime/vk_acceleration_structure.h @@ -76,7 +76,8 @@ struct vk_acceleration_structure_build_ops { const VkAccelerationStructureBuildGeometryInfoKHR *pBuildInfo, uint32_t leaf_count); VkDeviceSize (*get_update_scratch_size)(struct vk_device *device, uint32_t leaf_count); - uint32_t (*get_encode_key[MAX_ENCODE_PASSES])(VkAccelerationStructureTypeKHR type, + uint32_t (*get_encode_key[MAX_ENCODE_PASSES])(struct vk_device *device, + VkAccelerationStructureTypeKHR type, VkBuildAccelerationStructureFlagBitsKHR flags); VkResult (*encode_bind_pipeline[MAX_ENCODE_PASSES])(VkCommandBuffer cmd_buffer, uint32_t key);