Vulkan: Implement Quad-Buffered stereoscopy support.

This commit is contained in:
Jules Blok
2017-06-26 21:08:21 +02:00
parent f3508742ac
commit 1f2d43c870
4 changed files with 21 additions and 3 deletions

View File

@ -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.