[PATCH 4/5] ddraw: Use wined3d_surface_get_pitch() to calculate dwLinearSize for compressed surfaces.
Henri Verbeet
hverbeet at codeweavers.com
Thu Jun 12 04:52:30 CDT 2014
---
dlls/ddraw/surface.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index 21ca19f..4ffad8f 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -6120,10 +6120,7 @@ HRESULT ddraw_surface_init(struct ddraw_surface *surface, struct ddraw *ddraw, s
{
desc->dwFlags |= DDSD_LINEARSIZE;
desc->dwFlags &= ~DDSD_PITCH;
- if (wined3d_desc.format == WINED3DFMT_DXT1)
- surface->surface_desc.u1.dwLinearSize = max(4, desc->dwWidth) * max(4, desc->dwHeight) / 2;
- else
- surface->surface_desc.u1.dwLinearSize = max(4, desc->dwWidth) * max(4, desc->dwHeight);
+ desc->u1.dwLinearSize = wined3d_surface_get_pitch(wined3d_surface) * ((desc->dwHeight + 3) / 4);
}
else if (!(desc->dwFlags & DDSD_LPSURFACE))
{
--
1.7.10.4
More information about the wine-patches
mailing list