Module: wine Branch: master Commit: 7b43cb18772b698e1301aed36fa6fcb6f14210f9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7b43cb18772b698e1301aed36f...
Author: Stefan Dösinger stefan@codeweavers.com Date: Thu Mar 25 16:55:26 2010 +0100
wined3d: Don't check WGL depth stencil limitations with FBOs.
---
dlls/wined3d/directx.c | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 82b2029..cc3bb55 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -3196,15 +3196,24 @@ static BOOL CheckDepthStencilCapability(struct wined3d_adapter *adapter,
/* Only allow depth/stencil formats */ if (!(ds_format_desc->depth_size || ds_format_desc->stencil_size)) return FALSE; - /* Walk through all WGL pixel formats to find a match */ - for (it = 0; it < adapter->nCfgs; ++it) + + if (wined3d_settings.offscreen_rendering_mode == ORM_FBO) + { + /* With FBOs WGL limitations do not apply, but the format needs to be FBO attachable */ + if (ds_format_desc->Flags & (WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL)) return TRUE; + } + else { - WineD3D_PixelFormat *cfg = &adapter->cfgs[it]; - if (IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt(&adapter->gl_info, cfg, display_format_desc)) + /* Walk through all WGL pixel formats to find a match */ + for (it = 0; it < adapter->nCfgs; ++it) { - if (IWineD3DImpl_IsPixelFormatCompatibleWithDepthFmt(&adapter->gl_info, cfg, ds_format_desc)) + WineD3D_PixelFormat *cfg = &adapter->cfgs[it]; + if (IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt(&adapter->gl_info, cfg, display_format_desc)) { - return TRUE; + if (IWineD3DImpl_IsPixelFormatCompatibleWithDepthFmt(&adapter->gl_info, cfg, ds_format_desc)) + { + return TRUE; + } } } }