summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/PostProcessing.cpp
diff options
context:
space:
mode:
authorJules Blok <jules.blok@gmail.com>2017-07-06 01:26:06 +0200
committerGitHub <noreply@github.com>2017-07-06 01:26:06 +0200
commit29cc009706f133aac39ebaa7003d37555b926109 (patch)
treee95a51c7ea5abd471be45e00c98f11b308c21537 /Source/Core/VideoBackends/Vulkan/PostProcessing.cpp
parent421a2c57761d4f51f8bcaf866e17a8c8b38b4cd2 (diff)
parent8476d0271d56ef2d49657d31d97d42395585ad3b (diff)
Merge pull request #5697 from Armada651/quad-buffer
Implement Quad-Buffered stereoscopy support
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/PostProcessing.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/PostProcessing.cpp5
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.