mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-09-11 12:05:51 +00:00
Merge pull request #8828 from stenzek/gles-readpixels
FramebufferManager: Copy to color format for depth readbacks on GLES
This commit is contained in:
commit
68706973d2
8 changed files with 14 additions and 2 deletions
|
@ -513,7 +513,8 @@ bool FramebufferManager::CreateReadbackFramebuffer()
|
|||
|
||||
// Since we can't partially copy from a depth buffer directly to the staging texture in D3D, we
|
||||
// use an intermediate buffer to avoid copying the whole texture.
|
||||
if ((IsUsingTiledEFBCache() && !g_ActiveConfig.backend_info.bSupportsPartialDepthCopies) ||
|
||||
if (!g_ActiveConfig.backend_info.bSupportsDepthReadback ||
|
||||
(IsUsingTiledEFBCache() && !g_ActiveConfig.backend_info.bSupportsPartialDepthCopies) ||
|
||||
!AbstractTexture::IsCompatibleDepthAndColorFormats(m_efb_depth_texture->GetFormat(),
|
||||
GetEFBDepthCopyFormat()) ||
|
||||
g_renderer->GetEFBScale() != 1)
|
||||
|
@ -577,7 +578,8 @@ void FramebufferManager::PopulateEFBCache(bool depth, u32 tile_index)
|
|||
// buffer directly to a staging texture (must be the whole resource).
|
||||
const bool force_intermediate_copy =
|
||||
depth &&
|
||||
((!g_ActiveConfig.backend_info.bSupportsPartialDepthCopies && IsUsingTiledEFBCache()) ||
|
||||
(!g_ActiveConfig.backend_info.bSupportsDepthReadback ||
|
||||
(!g_ActiveConfig.backend_info.bSupportsPartialDepthCopies && IsUsingTiledEFBCache()) ||
|
||||
!AbstractTexture::IsCompatibleDepthAndColorFormats(m_efb_depth_texture->GetFormat(),
|
||||
GetEFBDepthCopyFormat()));
|
||||
|
||||
|
|
|
@ -229,6 +229,7 @@ struct VideoConfig final
|
|||
bool bSupportsBackgroundCompiling;
|
||||
bool bSupportsLargePoints;
|
||||
bool bSupportsPartialDepthCopies;
|
||||
bool bSupportsDepthReadback;
|
||||
bool bSupportsShaderBinaries;
|
||||
bool bSupportsPipelineCacheData;
|
||||
} backend_info;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue