diff --git a/.pick_status.json b/.pick_status.json index fed99925527..3be84b84134 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -724,7 +724,7 @@ "description": "radv: fix reporting mesh/task/rt as supported dgc indirect stages", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "8300378bf367609242fc6509e9a34325bcc075d1", "notes": null diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index f72c72f6db4..abf7865800b 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -1364,6 +1364,10 @@ radv_get_physical_device_properties(struct radv_physical_device *pdev) device_type = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU; } + VkShaderStageFlags taskmesh_stages = + radv_taskmesh_enabled(pdev) ? VK_SHADER_STAGE_MESH_BIT_EXT | VK_SHADER_STAGE_TASK_BIT_EXT : 0; + VkShaderStageFlags rt_stages = radv_enable_rt(pdev, true) ? RADV_RT_STAGE_BITS : 0; + pdev->vk.properties = (struct vk_properties){ .apiVersion = RADV_API_VERSION, .driverVersion = vk_get_driver_version(), @@ -1990,7 +1994,7 @@ radv_get_physical_device_properties(struct radv_physical_device *pdev) p->supportedIndirectCommandsInputModes = VK_INDIRECT_COMMANDS_INPUT_MODE_VULKAN_INDEX_BUFFER_EXT | VK_INDIRECT_COMMANDS_INPUT_MODE_DXGI_INDEX_BUFFER_EXT; p->supportedIndirectCommandsShaderStages = - RADV_GRAPHICS_STAGE_BITS | VK_SHADER_STAGE_COMPUTE_BIT | RADV_RT_STAGE_BITS; + VK_SHADER_STAGE_ALL_GRAPHICS | VK_SHADER_STAGE_COMPUTE_BIT | taskmesh_stages | rt_stages; p->supportedIndirectCommandsShaderStagesPipelineBinding = VK_SHADER_STAGE_COMPUTE_BIT; p->supportedIndirectCommandsShaderStagesShaderBinding = 0; p->deviceGeneratedCommandsTransformFeedback = true;