diff options
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/PostProcessing.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/PostProcessing.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
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. |
