diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp index 4b65fe07..44bb61bf 100644 --- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp +++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp @@ -144,18 +144,21 @@ GraphicsPipeline::GraphicsPipeline(const Instance& instance_, Scheduler& schedul }, }; - u32 shader_count = 2; + u32 shader_count = 1; std::array shader_stages; shader_stages[0] = vk::PipelineShaderStageCreateInfo{ .stage = vk::ShaderStageFlagBits::eVertex, .module = modules[0], .pName = "main", }; - shader_stages[1] = vk::PipelineShaderStageCreateInfo{ - .stage = vk::ShaderStageFlagBits::eFragment, - .module = modules[4], - .pName = "main", - }; + if (modules[4]) { + shader_stages[1] = vk::PipelineShaderStageCreateInfo{ + .stage = vk::ShaderStageFlagBits::eFragment, + .module = modules[4], + .pName = "main", + }; + ++shader_count; + } const auto it = std::ranges::find(key.color_formats, vk::Format::eUndefined); const u32 num_color_formats = std::distance(key.color_formats.begin(), it);