mirror of
https://github.com/reactos/wine.git
synced 2025-02-13 08:44:54 +00:00
wined3d: Always report D16 as Windows drivers report it on all cards (likely using emulation).
This commit is contained in:
parent
3d707dc8ec
commit
eaa1ff0d2c
@ -1656,6 +1656,7 @@ static BOOL IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt(const WineD3D_Pixe
|
|||||||
|
|
||||||
static BOOL IWineD3DImpl_IsPixelFormatCompatibleWithDepthFmt(const WineD3D_PixelFormat *cfg, WINED3DFORMAT Format) {
|
static BOOL IWineD3DImpl_IsPixelFormatCompatibleWithDepthFmt(const WineD3D_PixelFormat *cfg, WINED3DFORMAT Format) {
|
||||||
short depthSize, stencilSize;
|
short depthSize, stencilSize;
|
||||||
|
BOOL lockable = FALSE;
|
||||||
|
|
||||||
if(!cfg)
|
if(!cfg)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -1665,7 +1666,13 @@ static BOOL IWineD3DImpl_IsPixelFormatCompatibleWithDepthFmt(const WineD3D_Pixel
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(cfg->depthSize != depthSize)
|
if((Format == WINED3DFMT_D16_LOCKABLE) || (Format == WINED3DFMT_D32F_LOCKABLE))
|
||||||
|
lockable = TRUE;
|
||||||
|
|
||||||
|
/* On some modern cards like the Geforce8/9 GLX doesn't offer some dephthstencil formats which D3D9 reports.
|
||||||
|
* We can safely report 'compatible' formats (e.g. D24 can be used for D16) as long as we aren't dealing with
|
||||||
|
* a lockable format. This also helps D3D <= 7 as they expect D16 which isn't offered without this on Geforce8 cards. */
|
||||||
|
if(!(cfg->depthSize == depthSize || (!lockable && cfg->depthSize > depthSize)))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if(cfg->stencilSize != stencilSize)
|
if(cfg->stencilSize != stencilSize)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user