From 1f2d43c8709e5fab2f8c3c7de81bdf160b5f6363 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Mon, 26 Jun 2017 21:08:21 +0200 Subject: Vulkan: Implement Quad-Buffered stereoscopy support. --- Source/Core/VideoBackends/Vulkan/PostProcessing.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Source/Core/VideoBackends/Vulkan/PostProcessing.cpp') diff --git a/Source/Core/VideoBackends/Vulkan/PostProcessing.cpp b/Source/Core/VideoBackends/Vulkan/PostProcessing.cpp index db8da49499..971de51180 100644 --- a/Source/Core/VideoBackends/Vulkan/PostProcessing.cpp +++ b/Source/Core/VideoBackends/Vulkan/PostProcessing.cpp @@ -41,11 +41,14 @@ void VulkanPostProcessing::BlitFromTexture(const TargetRectangle& dst, const Tar const Texture2D* src_tex, int src_layer, VkRenderPass render_pass) { + // If the source layer is negative we simply copy all available layers. + VkShaderModule geometry_shader = + src_layer < 0 ? g_object_cache->GetPassthroughGeometryShader() : VK_NULL_HANDLE; VkShaderModule fragment_shader = m_fragment_shader != VK_NULL_HANDLE ? m_fragment_shader : m_default_fragment_shader; UtilityShaderDraw draw(g_command_buffer_mgr->GetCurrentCommandBuffer(), g_object_cache->GetPipelineLayout(PIPELINE_LAYOUT_STANDARD), render_pass, - g_object_cache->GetPassthroughVertexShader(), VK_NULL_HANDLE, + g_object_cache->GetPassthroughVertexShader(), geometry_shader, fragment_shader); // Source is always bound. -- cgit v1.2.3