From 07dc55c39d5111462bd985787d3bce5d73a910b4 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 19 Nov 2019 09:28:10 +0000 Subject: [PATCH] Handle depth formats better in DDS loading --- renderdoc/common/dds_readwrite.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/renderdoc/common/dds_readwrite.cpp b/renderdoc/common/dds_readwrite.cpp index e9798e821..8af39a014 100644 --- a/renderdoc/common/dds_readwrite.cpp +++ b/renderdoc/common/dds_readwrite.cpp @@ -310,8 +310,14 @@ ResourceFormat DXGIFormat2ResourceFormat(DXGI_FORMAT format) special.SetBGRAOrder(true); special.type = ResourceFormatType::R4G4B4A4; return special; - case DXGI_FORMAT_D24_UNORM_S8_UINT: special.type = ResourceFormatType::D24S8; return special; - case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: special.type = ResourceFormatType::D32S8; return special; + case DXGI_FORMAT_D24_UNORM_S8_UINT: + special.compType = CompType::Depth; + special.type = ResourceFormatType::D24S8; + return special; + case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: + special.compType = CompType::Depth; + special.type = ResourceFormatType::D32S8; + return special; case DXGI_FORMAT_YUY2: special.type = ResourceFormatType::YUV8; special.compByteWidth = 1; @@ -391,6 +397,7 @@ ResourceFormat DXGIFormat2ResourceFormat(DXGI_FORMAT format) return fmt16; case DXGI_FORMAT_R16G16_FLOAT: fmt16.compCount = 2; return fmt16; + case DXGI_FORMAT_D16_UNORM: fmt16.compType = CompType::Depth; return fmt16; case DXGI_FORMAT_R16_UINT: fmt16.compType = CompType::UInt; return fmt16; case DXGI_FORMAT_R16_SINT: fmt16.compType = CompType::SInt; return fmt16; case DXGI_FORMAT_R16_UNORM: fmt16.compType = CompType::UNorm; return fmt16; @@ -615,6 +622,7 @@ DXGI_FORMAT ResourceFormat2DXGIFormat(ResourceFormat format) { switch(format.compType) { + case CompType::Depth: return DXGI_FORMAT_D16_UNORM; case CompType::UInt: return DXGI_FORMAT_R16_UINT; case CompType::SInt: return DXGI_FORMAT_R16_SINT; case CompType::UNorm: return DXGI_FORMAT_R16_UNORM;