Signed-off-by: Józef Kucia jkucia@codeweavers.com ---
Fixes rendering glitches in Company of Heroes on radeonsi.
--- dlls/wined3d/texture.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c index 91c703c970fd..c316906a9576 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c @@ -2802,8 +2802,7 @@ static HRESULT wined3d_texture_init(struct wined3d_texture *texture, const struc if (wined3d_texture_use_pbo(texture, gl_info)) texture->resource.map_binding = WINED3D_LOCATION_BUFFER;
- if ((desc->resource_type != WINED3D_RTYPE_TEXTURE_3D - && !(texture->resource.usage & WINED3DUSAGE_DEPTHSTENCIL)) + if (desc->resource_type != WINED3D_RTYPE_TEXTURE_3D || !wined3d_texture_use_pbo(texture, gl_info)) { if (!wined3d_resource_allocate_sysmem(&texture->resource)) @@ -2842,8 +2841,7 @@ static HRESULT wined3d_texture_init(struct wined3d_texture *texture, const struc
sub_resource = &texture->sub_resources[i]; sub_resource->locations = WINED3D_LOCATION_DISCARDED; - if (desc->resource_type != WINED3D_RTYPE_TEXTURE_3D - && !(texture->resource.usage & WINED3DUSAGE_DEPTHSTENCIL)) + if (desc->resource_type != WINED3D_RTYPE_TEXTURE_3D) { wined3d_texture_validate_location(texture, i, WINED3D_LOCATION_SYSMEM); wined3d_texture_invalidate_location(texture, i, ~WINED3D_LOCATION_SYSMEM);