From d56c168da12d890b0ed3c2f22c4554d3d1140252 Mon Sep 17 00:00:00 2001 From: Matteo Bruni Date: Wed, 18 Feb 2015 14:20:47 +0100 Subject: [PATCH] wined3d: Set the surface pitch for user-memory surfaces. --- dlls/wined3d/surface.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 096579fb9b6..429147e2ed4 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -2187,10 +2187,16 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface, surface->resource.multisample_type = texture_resource->multisample_type; surface->resource.multisample_quality = texture_resource->multisample_quality; if (surface->pitch) + { surface->resource.size = height * surface->pitch; + } else + { + /* User memory surfaces don't have the regular surface alignment. */ surface->resource.size = wined3d_format_calculate_size(texture_resource->format, - texture_resource->device->surface_alignment, width, height, 1); + 1, width, height, 1); + surface->pitch = wined3d_format_calculate_pitch(texture_resource->format, width); + } /* The format might be changed to a format that needs conversion. * If the surface didn't use PBOs previously but could now, don't -- 2.11.4.GIT