Module: wine Branch: master Commit: d56c168da12d890b0ed3c2f22c4554d3d1140252 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d56c168da12d890b0ed3c2f22c...
Author: Matteo Bruni mbruni@codeweavers.com Date: Wed Feb 18 14:20:47 2015 +0100
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 096579f..429147e 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