Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/vmwgfx: Fix overlay when using Screen Targets

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

authored by

Ian Forbes and committed by
Zack Rusin
cb372a50 12bed149

+1 -1
+1 -1
drivers/gpu/drm/vmwgfx/vmwgfx_overlay.c
··· 92 92 { 93 93 struct vmw_escape_video_flush *flush; 94 94 size_t fifo_size; 95 - bool have_so = (dev_priv->active_display_unit == vmw_du_screen_object); 95 + bool have_so = (dev_priv->active_display_unit != vmw_du_legacy); 96 96 int i, num_items; 97 97 SVGAGuestPtr ptr; 98 98