]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/vmwgfx: Fix overlay when using Screen Targets
authorIan Forbes <ian.forbes@broadcom.com>
Fri, 19 Jul 2024 16:36:27 +0000 (11:36 -0500)
committerZack Rusin <zack.rusin@broadcom.com>
Thu, 25 Jul 2024 02:29:07 +0000 (22:29 -0400)
This code was never updated to support Screen Targets.
Fixes a bug where Xv playback displays a green screen instead of actual
video contents when 3D acceleration is disabled in the guest.

Fixes: c8261a961ece ("vmwgfx: Major KMS refactoring / cleanup in preparation of screen targets")
Reported-by: Doug Brown <doug@schmorgal.com>
Closes: https://lore.kernel.org/all/bd9cb3c7-90e8-435d-bc28-0e38fee58977@schmorgal.com
Signed-off-by: Ian Forbes <ian.forbes@broadcom.com>
Tested-by: Doug Brown <doug@schmorgal.com>
Signed-off-by: Zack Rusin <zack.rusin@broadcom.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240719163627.20888-1-ian.forbes@broadcom.com
drivers/gpu/drm/vmwgfx/vmwgfx_overlay.c

index c45b4724e4141dbfc07df9554c09917b8c9ec9ec..e20f64b67b2669ba8b818a431a57a6a927496732 100644 (file)
@@ -92,7 +92,7 @@ static int vmw_overlay_send_put(struct vmw_private *dev_priv,
 {
        struct vmw_escape_video_flush *flush;
        size_t fifo_size;
-       bool have_so = (dev_priv->active_display_unit == vmw_du_screen_object);
+       bool have_so = (dev_priv->active_display_unit != vmw_du_legacy);
        int i, num_items;
        SVGAGuestPtr ptr;