From d05cbd88bb2252ba7051d7c115575eb744da0ef8 Mon Sep 17 00:00:00 2001 From: psucien Date: Thu, 30 May 2024 09:42:28 +0200 Subject: [PATCH] video_core: renderer_vulkan: support for passes w\o a fs --- .../renderer_vulkan/vk_graphics_pipeline.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp index 4b65fe07d..44bb61bf6 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);