Stefan Dösinger : wined3d: Don' t check WGL depth stencil limitations with FBOs.
Alexandre Julliard
julliard at winehq.org
Fri Mar 26 12:11:48 CDT 2010
Module: wine
Branch: master
Commit: 7b43cb18772b698e1301aed36fa6fcb6f14210f9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7b43cb18772b698e1301aed36fa6fcb6f14210f9
Author: Stefan Dösinger <stefan at 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;
+ }
}
}
}
More information about the wine-cvs
mailing list