From 49c353f40ccf819fdb803625c9c17b54d684d8ae Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Thu, 24 Mar 2016 19:04:25 -0700 Subject: [PATCH] d3d9: Check actual FBO format for INTZ support. --- GPU/Directx9/helper/dx_fbo.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/GPU/Directx9/helper/dx_fbo.cpp b/GPU/Directx9/helper/dx_fbo.cpp index 4341e3fd9d..bd59e5c01f 100644 --- a/GPU/Directx9/helper/dx_fbo.cpp +++ b/GPU/Directx9/helper/dx_fbo.cpp @@ -51,8 +51,11 @@ void fbo_init(LPDIRECT3D9 d3d) { if (d3d) { D3DDISPLAYMODE displayMode; d3d->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &displayMode); - HRESULT intzFormat = d3d->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, displayMode.Format, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, FOURCC_INTZ); - supportsINTZ = SUCCEEDED(intzFormat); + + // To be safe, make sure both the display format and the FBO format support INTZ. + HRESULT displayINTZ = d3d->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, displayMode.Format, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, FOURCC_INTZ); + HRESULT fboINTZ = d3d->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_A8R8G8B8, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, FOURCC_INTZ); + supportsINTZ = SUCCEEDED(displayINTZ) && SUCCEEDED(fboINTZ); } }