Module: Mesa Branch: main Commit: 56b6ca411feaf5894756996066e1e1364ae16bd9 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=56b6ca411feaf5894756996066e1e1364ae16bd9
Author: Daniel Schürmann <[email protected]> Date: Fri Mar 24 02:46:46 2023 +0100 radv/rt: Fix VK_KHR_pipeline_executable_properties We don't provide executable properties for the prolog shader. Fixes: f123d65e9f50e57b9af3de2e0e77618fcd9d2ddd ('radv/rt: use prolog for raytracing shaders') Fixes: dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.* Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22111> --- src/amd/vulkan/radv_pipeline.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index a2a30077219..c5cc3a02eb4 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -5519,6 +5519,9 @@ radv_CreateComputePipelines(VkDevice _device, VkPipelineCache pipelineCache, uin static uint32_t radv_get_executable_count(struct radv_pipeline *pipeline) { + if (pipeline->type == RADV_PIPELINE_RAY_TRACING) + return 1; + uint32_t ret = 0; for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) { if (!pipeline->shaders[i]) @@ -5538,6 +5541,11 @@ static struct radv_shader * radv_get_shader_from_executable_index(struct radv_pipeline *pipeline, int index, gl_shader_stage *stage) { + if (pipeline->type == RADV_PIPELINE_RAY_TRACING) { + *stage = MESA_SHADER_RAYGEN; + return pipeline->shaders[*stage]; + } + for (int i = 0; i < MESA_VULKAN_SHADER_STAGES; ++i) { if (!pipeline->shaders[i]) continue;
