mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
FramebufferManager: Dynamic selection of EFB depth format
This commit is contained in:
@ -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);
|
||||
|
Reference in New Issue
Block a user