[PATCH 02/10] wined3d: Always check if format has depth/stencil flags in wined3d_check_depth_stencil_format().
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com> --- dlls/wined3d/directx.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 381ed6502847..612b813f62a2 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -1434,6 +1434,8 @@ static BOOL wined3d_check_depth_stencil_format(const struct wined3d_adapter *ada { if (!ds_format->depth_size && !ds_format->stencil_size) return FALSE; + if (!(ds_format->flags[gl_type] & (WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL))) + return FALSE; /* Blacklist formats not supported on Windows */ if (ds_format->id == WINED3DFMT_S1_UINT_D15_UNORM /* Breaks the shadowvol2 dx7 sdk sample */ @@ -1443,13 +1445,7 @@ static BOOL wined3d_check_depth_stencil_format(const struct wined3d_adapter *ada return FALSE; } - 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->flags[gl_type] & (WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL)) - return TRUE; - } - else + if (wined3d_settings.offscreen_rendering_mode == ORM_BACKBUFFER) { unsigned int i; @@ -1460,9 +1456,11 @@ static BOOL wined3d_check_depth_stencil_format(const struct wined3d_adapter *ada && wined3d_check_pixel_format_depth(cfg, ds_format)) return TRUE; } + + return FALSE; } - return FALSE; + return TRUE; } /* Check the render target capabilities of a format */ -- 2.19.2
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=50065 Your paranoid android. === debian9 (build log) === error: patch failed: dlls/wined3d/directx.c:1428 error: patch failed: dlls/wined3d/directx.c:1434 Task: Patch failed to apply === debian9 (build log) === error: patch failed: dlls/wined3d/directx.c:1428 error: patch failed: dlls/wined3d/directx.c:1434 Task: Patch failed to apply
participants (3)
-
Henri Verbeet -
Józef Kucia -
Marvin