diff --git a/include/renderer_vk/renderer_vk.hpp b/include/renderer_vk/renderer_vk.hpp index 98e00c53..5f216b7d 100644 --- a/include/renderer_vk/renderer_vk.hpp +++ b/include/renderer_vk/renderer_vk.hpp @@ -88,6 +88,9 @@ class RendererVK final : public Renderer { vk::RenderPass getRenderPass(vk::Format colorFormat, std::optional depthFormat); vk::RenderPass getRenderPass(PICA::ColorFmt colorFormat, std::optional depthFormat); + vk::UniquePipeline displayPipeline; + vk::UniquePipelineLayout displayPipelineLayout; + // Recreate the swapchain, possibly re-using the old one in the case of a resize vk::Result recreateSwapchain(vk::SurfaceKHR surface, vk::Extent2D swapchainExtent); diff --git a/src/core/renderer_vk/renderer_vk.cpp b/src/core/renderer_vk/renderer_vk.cpp index 0f9aa37a..3e1dd64a 100644 --- a/src/core/renderer_vk/renderer_vk.cpp +++ b/src/core/renderer_vk/renderer_vk.cpp @@ -1102,7 +1102,7 @@ void RendererVK::initGraphicsContext(SDL_Window* window) { vk::RenderPass screenTextureRenderPass = getRenderPass(screenTextureInfo.format, {}); - auto [pipeline, pipelineLayout] = createGraphicsPipeline( + std::tie(displayPipeline, displayPipelineLayout) = createGraphicsPipeline( device.get(), {}, {}, displayVertexShaderModule.get(), displayFragmentShaderModule.get(), {}, {}, screenTextureRenderPass ); }