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

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Henri Verbeet 2018-02-02 20:28:51 +03:30 committed by Alexandre Julliard
parent e6909c8f50
commit 2420d37a9d
1 changed files with 6 additions and 4 deletions

View File

@ -1803,7 +1803,7 @@ static void wined3d_texture_unload(struct wined3d_resource *resource)
{
struct wined3d_texture_sub_resource *sub_resource = &texture->sub_resources[i];
if (resource->pool != WINED3D_POOL_DEFAULT
if (resource->access & WINED3D_RESOURCE_ACCESS_CPU
&& wined3d_texture_load_location(texture, i, context, resource->map_binding))
{
wined3d_texture_invalidate_location(texture, i, ~resource->map_binding);
@ -1812,9 +1812,11 @@ static void wined3d_texture_unload(struct wined3d_resource *resource)
{
/* We should only get here on device reset/teardown for implicit
* resources. */
if (resource->pool != WINED3D_POOL_DEFAULT || resource->type != WINED3D_RTYPE_TEXTURE_2D)
ERR("Discarding %s %p sub-resource %u in the %s pool.\n", debug_d3dresourcetype(resource->type),
resource, i, debug_d3dpool(resource->pool));
if (resource->access & WINED3D_RESOURCE_ACCESS_CPU
|| resource->type != WINED3D_RTYPE_TEXTURE_2D)
ERR("Discarding %s %p sub-resource %u with resource access %s.\n",
debug_d3dresourcetype(resource->type), resource, i,
wined3d_debug_resource_access(resource->access));
wined3d_texture_validate_location(texture, i, WINED3D_LOCATION_DISCARDED);
wined3d_texture_invalidate_location(texture, i, ~WINED3D_LOCATION_DISCARDED);
}