From ae5c0e6600870c3fb33e043d582ca7a05f406fc5 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 10 Jan 2024 09:27:10 -0500 Subject: [PATCH] vk/cmdbuf: add back deleted maint6 workgraph bits this otherwise breaks workgraph support in lavapipe Fixes: ec656e19840 ("lavapipe: maint6") Part-of: (cherry picked from commit b6bfa73dc7b7825aca85b2451d446a32ebc05505) --- .pick_status.json | 2 +- src/vulkan/runtime/vk_command_buffer.c | 4 ++++ src/vulkan/runtime/vk_command_buffer.h | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 4cf845e7516..2195406aa46 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1494,7 +1494,7 @@ "description": "vk/cmdbuf: add back deleted maint6 workgraph bits", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "ec656e198402a535a20e7ac31cea277b060ab75a", "notes": null diff --git a/src/vulkan/runtime/vk_command_buffer.c b/src/vulkan/runtime/vk_command_buffer.c index 38936d997b2..f678d9bc0a1 100644 --- a/src/vulkan/runtime/vk_command_buffer.c +++ b/src/vulkan/runtime/vk_command_buffer.c @@ -200,6 +200,10 @@ VkShaderStageFlags vk_shader_stages_from_bind_point(VkPipelineBindPoint pipelineBindPoint) { switch (pipelineBindPoint) { +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX: + return VK_SHADER_STAGE_COMPUTE_BIT | MESA_VK_SHADER_STAGE_WORKGRAPH_HACK_BIT_FIXME; +#endif case VK_PIPELINE_BIND_POINT_COMPUTE: return VK_SHADER_STAGE_COMPUTE_BIT; case VK_PIPELINE_BIND_POINT_GRAPHICS: diff --git a/src/vulkan/runtime/vk_command_buffer.h b/src/vulkan/runtime/vk_command_buffer.h index c6451ec5d06..9d2b818655c 100644 --- a/src/vulkan/runtime/vk_command_buffer.h +++ b/src/vulkan/runtime/vk_command_buffer.h @@ -98,6 +98,8 @@ enum mesa_vk_command_buffer_state { MESA_VK_COMMAND_BUFFER_STATE_PENDING, }; +/* this needs spec fixes */ +#define MESA_VK_SHADER_STAGE_WORKGRAPH_HACK_BIT_FIXME (1<<30) VkShaderStageFlags vk_shader_stages_from_bind_point(VkPipelineBindPoint pipelineBindPoint); struct vk_command_buffer {