wined3d: Use the resource access flags in ffp_blitter_use_cpu_clear().

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Henri Verbeet 2018-02-01 03:07:32 +03:30 committed by Alexandre Julliard
parent df715e5a9a
commit 4928e38c0a
1 changed files with 5 additions and 3 deletions

View File

@ -2744,14 +2744,16 @@ static BOOL ffp_blitter_use_cpu_clear(struct wined3d_rendertarget_view *view)
resource = view->resource;
if (resource->type == WINED3D_RTYPE_BUFFER)
return resource->pool == WINED3D_POOL_SYSTEM_MEM;
return !(resource->access & WINED3D_RESOURCE_ACCESS_GPU);
texture = texture_from_resource(resource);
locations = texture->sub_resources[view->sub_resource_idx].locations;
if (locations & (resource->map_binding | WINED3D_LOCATION_DISCARDED))
return resource->pool == WINED3D_POOL_SYSTEM_MEM || (texture->flags & WINED3D_TEXTURE_PIN_SYSMEM);
return !(resource->access & WINED3D_RESOURCE_ACCESS_GPU)
|| (texture->flags & WINED3D_TEXTURE_PIN_SYSMEM);
return resource->pool == WINED3D_POOL_SYSTEM_MEM && !(texture->flags & WINED3D_TEXTURE_CONVERTED);
return !(resource->access & WINED3D_RESOURCE_ACCESS_GPU)
&& !(texture->flags & WINED3D_TEXTURE_CONVERTED);
}
static void ffp_blitter_clear(struct wined3d_blitter *blitter, struct wined3d_device *device,