wined3d: Set the surface pitch for user-memory surfaces.

oldstable
Matteo Bruni 2015-02-18 14:20:47 +01:00 committed by Alexandre Julliard
parent d49d2a5d47
commit d56c168da1
1 changed files with 7 additions and 1 deletions

View File

@ -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