From 8b7476f2e82b9bdaeecbf1c66a79ef208bb80a4e Mon Sep 17 00:00:00 2001 From: Sergey Kosarevsky Date: Sat, 17 Aug 2024 21:35:02 -0700 Subject: [PATCH] Added `ShaderStage` enums for Task and Mesh shaders --- lvk/LVK.h | 2 ++ lvk/vulkan/VulkanClasses.cpp | 4 ++++ lvk/vulkan/VulkanUtils.cpp | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/lvk/LVK.h b/lvk/LVK.h index 63820ad133..0fad354387 100644 --- a/lvk/LVK.h +++ b/lvk/LVK.h @@ -512,6 +512,8 @@ enum ShaderStage : uint8_t { Stage_Geom, Stage_Frag, Stage_Comp, + Stage_Task, + Stage_Mesh, }; struct VertexInput final { diff --git a/lvk/vulkan/VulkanClasses.cpp b/lvk/vulkan/VulkanClasses.cpp index 70be3ee800..479a04e75d 100644 --- a/lvk/vulkan/VulkanClasses.cpp +++ b/lvk/vulkan/VulkanClasses.cpp @@ -217,6 +217,10 @@ VkShaderStageFlagBits shaderStageToVkShaderStage(lvk::ShaderStage stage) { return VK_SHADER_STAGE_FRAGMENT_BIT; case lvk::Stage_Comp: return VK_SHADER_STAGE_COMPUTE_BIT; + case lvk::Stage_Task: + return VK_SHADER_STAGE_TASK_BIT_EXT; + case lvk::Stage_Mesh: + return VK_SHADER_STAGE_MESH_BIT_EXT; }; LVK_ASSERT(false); return VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM; diff --git a/lvk/vulkan/VulkanUtils.cpp b/lvk/vulkan/VulkanUtils.cpp index 05df2e8cc9..8d0d436811 100644 --- a/lvk/vulkan/VulkanUtils.cpp +++ b/lvk/vulkan/VulkanUtils.cpp @@ -574,6 +574,10 @@ static glslang_stage_t getGLSLangShaderStage(VkShaderStageFlagBits stage) { return GLSLANG_STAGE_FRAGMENT; case VK_SHADER_STAGE_COMPUTE_BIT: return GLSLANG_STAGE_COMPUTE; + case VK_SHADER_STAGE_TASK_BIT_EXT: + return GLSLANG_STAGE_TASK; + case VK_SHADER_STAGE_MESH_BIT_EXT: + return GLSLANG_STAGE_MESH; default: assert(false); };