From: Matteo Bruni mbruni@codeweavers.com
In the same vein as 6247bee483b31b1ea0ad49f85f1cffde7433fed2; avoids infinite recursion in the blitter. Triggered by the ddraw tests. --- dlls/wined3d/texture.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c index 08e95db10f5..a7fbde0f529 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c @@ -5832,8 +5832,17 @@ static bool ffp_blit_supported(enum wined3d_blit_op blit_op, const struct wined3
if (!(dst_resource->bind_flags & WINED3D_BIND_RENDER_TARGET)) { - TRACE("Can only blit to render targets.\n"); - return false; + if (dst_format->id == src_format->id && dst_location == WINED3D_LOCATION_DRAWABLE) + { + if (context->device->shader_backend == &none_shader_backend) + WARN("Claiming !render_target support because of no shader backend.\n"); + return true; + } + else + { + TRACE("Can only blit to render targets.\n"); + return false; + } } return true;