[PATCH 1/1] ddraw: Limit max texture size to fit a 16bit signed integer
Fabian Maurer
wine at gitlab.winehq.org
Tue May 24 19:02:22 CDT 2022
From: Fabian Maurer <dark.shadow4 at web.de>
Since ddraw propably never allowed sizes that big anyways,
this should not cause any issues.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51512
Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
---
dlls/ddraw/ddraw.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index f6770e59fb6..5a25bd58c4e 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -1287,8 +1287,9 @@ HRESULT ddraw_get_d3dcaps(const struct ddraw *ddraw, D3DDEVICEDESC7 *caps)
caps->dpcLineCaps.dwTextureFilterCaps = wined3d_caps.TextureFilterCaps;
caps->dpcLineCaps.dwTextureAddressCaps = wined3d_caps.TextureAddressCaps;
- caps->dwMaxTextureWidth = wined3d_caps.MaxTextureWidth;
- caps->dwMaxTextureHeight = wined3d_caps.MaxTextureHeight;
+ /* Some games (like "warning forever") assume the texture size fits a signed 16bit integer, so we limit the size artificially */
+ caps->dwMaxTextureWidth = min(wined3d_caps.MaxTextureWidth, 16384);
+ caps->dwMaxTextureHeight = min(wined3d_caps.MaxTextureHeight, 16384);
caps->dwMaxTextureRepeat = wined3d_caps.MaxTextureRepeat;
caps->dwMaxTextureAspectRatio = wined3d_caps.MaxTextureAspectRatio;
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/126
More information about the wine-devel
mailing list