From e53567f72abd99d7667f2f7b58ed3a5943eb0c80 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Wed, 6 Jan 2016 15:52:05 +0100 Subject: [PATCH] ddraw: Use the largest dimension to determine the mipmap count for version 7 surfaces. Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/ddraw/surface.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index 0976603b28..9b845d2dc4 100644 --- a/dlls/ddraw/surface.c +++ b/dlls/ddraw/surface.c @@ -5873,7 +5873,10 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_ { /* Undocumented feature: Create sublevels until either the * width or the height is 1. */ - desc->u2.dwMipMapCount = wined3d_log2i(min(desc->dwWidth, desc->dwHeight)) + 1; + if (version == 7) + desc->u2.dwMipMapCount = wined3d_log2i(max(desc->dwWidth, desc->dwHeight)) + 1; + else + desc->u2.dwMipMapCount = wined3d_log2i(min(desc->dwWidth, desc->dwHeight)) + 1; } } else -- 2.33.8