[PATCH 3/5] wined3d: Allow blits with fixups in the FFP blitter without a shader backend.

Matteo Bruni wine at gitlab.winehq.org
Fri May 20 05:40:05 CDT 2022


From: Matteo Bruni <mbruni at codeweavers.com>

Along the lines of d37146885801ae384a1cae54edea426b7b58a6a9 but for
the no shader backend case.

Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
---
 dlls/wined3d/texture.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index 595baf07788..c952f366a68 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -5753,10 +5753,13 @@ static bool ffp_blit_supported(enum wined3d_blit_op blit_op, const struct wined3
             if (!is_identity_fixup(src_format->color_fixup)
                     || !is_identity_fixup(dst_format->color_fixup))
             {
-                if (wined3d_settings.offscreen_rendering_mode == ORM_BACKBUFFER
-                        && dst_format->id == src_format->id && dst_location == WINED3D_LOCATION_DRAWABLE)
+                if (dst_format->id == src_format->id && dst_location == WINED3D_LOCATION_DRAWABLE)
                 {
-                    WARN("Claiming fixup support because of ORM_BACKBUFFER.\n");
+                    if (wined3d_settings.offscreen_rendering_mode == ORM_BACKBUFFER)
+                        WARN("Claiming fixup support because of ORM_BACKBUFFER.\n");
+                    else if (context->device->shader_backend == &none_shader_backend)
+                        WARN("Claiming fixup support because of no shader backend.\n");
+                    return true;
                 }
                 else
                 {
-- 
GitLab


https://gitlab.winehq.org/wine/wine/-/merge_requests/101



More information about the wine-devel mailing list