summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@users.noreply.github.com>2018-07-19 23:36:16 +1000
committerGitHub <noreply@github.com>2018-07-19 23:36:16 +1000
commit67872cd2d1e141ab3f666ceff45c5c27fea0a53d (patch)
treead8ae5708c2d002d870663e5f329d3edf6275b9a /Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp
parentf5e8af7b6ca24962f1a9fea14b989a0092bae210 (diff)
parentdae161e1385f6f8904bbcc0803d7ae01fdf4bd8d (diff)
Merge pull request #7275 from stenzek/d24s8
FramebufferManager: Use D24S8 on Adreno when using Vulkan
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp b/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp
index 1713b0c514..27eeeb58ba 100644
--- a/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp
+++ b/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp
@@ -142,12 +142,12 @@ bool FramebufferManager::Initialize()
bool FramebufferManager::CreateEFBRenderPasses()
{
- m_efb_load_render_pass =
- g_object_cache->GetRenderPass(EFB_COLOR_TEXTURE_FORMAT, EFB_DEPTH_TEXTURE_FORMAT,
- g_ActiveConfig.iMultisamples, VK_ATTACHMENT_LOAD_OP_LOAD);
- m_efb_clear_render_pass =
- g_object_cache->GetRenderPass(EFB_COLOR_TEXTURE_FORMAT, EFB_DEPTH_TEXTURE_FORMAT,
- g_ActiveConfig.iMultisamples, VK_ATTACHMENT_LOAD_OP_CLEAR);
+ m_efb_load_render_pass = g_object_cache->GetRenderPass(
+ EFB_COLOR_TEXTURE_FORMAT, Util::GetVkFormatForHostTextureFormat(GetEFBDepthFormat()),
+ g_ActiveConfig.iMultisamples, VK_ATTACHMENT_LOAD_OP_LOAD);
+ m_efb_clear_render_pass = g_object_cache->GetRenderPass(
+ EFB_COLOR_TEXTURE_FORMAT, Util::GetVkFormatForHostTextureFormat(GetEFBDepthFormat()),
+ g_ActiveConfig.iMultisamples, VK_ATTACHMENT_LOAD_OP_CLEAR);
m_depth_resolve_render_pass = g_object_cache->GetRenderPass(
EFB_DEPTH_AS_COLOR_TEXTURE_FORMAT, VK_FORMAT_UNDEFINED, 1, VK_ATTACHMENT_LOAD_OP_DONT_CARE);
return m_efb_load_render_pass != VK_NULL_HANDLE && m_efb_clear_render_pass != VK_NULL_HANDLE &&
@@ -181,7 +181,8 @@ bool FramebufferManager::CreateEFBFramebuffer()
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT);
m_efb_depth_texture = Texture2D::Create(
- efb_width, efb_height, 1, efb_layers, EFB_DEPTH_TEXTURE_FORMAT, efb_samples,
+ efb_width, efb_height, 1, efb_layers,
+ Util::GetVkFormatForHostTextureFormat(GetEFBDepthFormat()), efb_samples,
VK_IMAGE_VIEW_TYPE_2D_ARRAY, VK_IMAGE_TILING_OPTIMAL,
VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT |
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT);