radv: fix reporting mesh/task/rt as supported dgc indirect stages

Fixes: 8300378bf3 ("radv: advertise VK_EXT_device_generated_commands on GFX8+")

Acked-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32457>
(cherry picked from commit b961537a17)
This commit is contained in:
Georg Lehmann
2024-12-03 14:59:22 +01:00
committed by Dylan Baker
parent dc89d68118
commit dade5eab3f
2 changed files with 6 additions and 2 deletions

View File

@@ -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

View File

@@ -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;