Module: wine Branch: master Commit: 3c9b843175b34b737f74e2fd347ce1ae66c24d30 URL: https://source.winehq.org/git/wine.git/?a=commit;h=3c9b843175b34b737f74e2fd3...
Author: Paul Gofman gofmanp@gmail.com Date: Fri Nov 8 14:57:22 2019 +0300
wined3d: Check if destination texture has GPU access in glsl_blitter_supported().
Signed-off-by: Paul Gofman gofmanp@gmail.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/glsl_shader.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index b1930d9a88..f05631ec59 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -12937,14 +12937,20 @@ static BOOL glsl_blitter_supported(enum wined3d_blit_op blit_op, const struct wi return FALSE; }
+ if (!(dst_resource->access & WINED3D_RESOURCE_ACCESS_GPU)) + { + TRACE("Destination resource does not have GPU access.\n"); + return FALSE; + } + /* We don't necessarily want to blit from resources without * WINED3D_RESOURCE_ACCESS_GPU, but that may be the only way to decompress * compressed textures. */ decompress = (src_format->flags[WINED3D_GL_RES_TYPE_TEX_2D] & WINED3DFMT_FLAG_COMPRESSED) && !(dst_format->flags[WINED3D_GL_RES_TYPE_TEX_2D] & WINED3DFMT_FLAG_COMPRESSED); - if (!decompress && !(src_resource->access & dst_resource->access & WINED3D_RESOURCE_ACCESS_GPU)) + if (!decompress && !(src_resource->access & WINED3D_RESOURCE_ACCESS_GPU)) { - TRACE("Source or destination resource does not have GPU access.\n"); + TRACE("Source resource does not have GPU access.\n"); return FALSE; }