From 06daf5803243c5f36069d8f7a936e62857ce1eca Mon Sep 17 00:00:00 2001 From: Stenzek Date: Wed, 31 Jul 2019 15:33:27 +1000 Subject: FramebufferManager: Correctly handle read back D24S8 textures Needed for the Adreno/Vulkan workaround, and if we ever switch to a D24 texture for the depth buffer w/ unrestricted depth range. --- Source/Core/VideoCommon/AbstractTexture.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'Source/Core/VideoCommon/AbstractTexture.cpp') diff --git a/Source/Core/VideoCommon/AbstractTexture.cpp b/Source/Core/VideoCommon/AbstractTexture.cpp index d0c27617db..23ade1f99b 100644 --- a/Source/Core/VideoCommon/AbstractTexture.cpp +++ b/Source/Core/VideoCommon/AbstractTexture.cpp @@ -88,20 +88,19 @@ bool AbstractTexture::IsStencilFormat(AbstractTextureFormat format) return format == AbstractTextureFormat::D24_S8 || format == AbstractTextureFormat::D32F_S8; } -AbstractTextureFormat AbstractTexture::GetColorFormatForDepthFormat(AbstractTextureFormat format) +bool AbstractTexture::IsCompatibleDepthAndColorFormats(AbstractTextureFormat depth_format, + AbstractTextureFormat color_format) { - switch (format) + switch (depth_format) { case AbstractTextureFormat::D16: - return AbstractTextureFormat::R16; + return color_format == AbstractTextureFormat::R16; - case AbstractTextureFormat::D24_S8: // TODO: Incorrect case AbstractTextureFormat::D32F: - case AbstractTextureFormat::D32F_S8: - return AbstractTextureFormat::R32F; + return color_format == AbstractTextureFormat::R32F; default: - return format; + return false; } } -- cgit v1.2.3