Module: wine Branch: master Commit: 27e65fb963b177a1c1ca0a3cbb0de147f318969a URL: http://source.winehq.org/git/wine.git/?a=commit;h=27e65fb963b177a1c1ca0a3cbb...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Nov 4 00:02:47 2015 +0100
wined3d: Disallow stencil size mismatches in wined3d_check_pixel_format_depth() if the format has stencil bits.
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/directx.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index e2203ea..a7329e7 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -4309,9 +4309,10 @@ static BOOL wined3d_check_pixel_format_depth(const struct wined3d_gl_info *gl_in return FALSE;
/* Some cards like Intel i915 ones only offer D24S8 but lots of games also - * need a format without stencil, so allow more stencil bits than - * requested. */ - if (cfg->stencilSize < format->stencil_size) + * need a format without stencil. We can allow a mismatch if the format + * doesn't have any stencil bits. If it does have stencil bits the size + * must match, or stencil wrapping would break. */ + if (format->stencil_size && cfg->stencilSize != format->stencil_size) return FALSE;
return TRUE;