diff mbox series

[RFC,3/6] hw/display/virtio-gpu: fix pixel ordering from BGRA8888 to RGBA8888

Message ID 20250123191536.142753-4-berrange@redhat.com (mailing list archive)
State New
Headers show
Series RFC: hw/display/virtio-gpu: problems with coloured cursors | expand

Commit Message

Daniel P. Berrangé Jan. 23, 2025, 7:15 p.m. UTC
Currently both the VNC and GTK displays are rendering coloured cursors
with RGB components reversed. This originates with the data received
from the guest, so virtio-gpu must reverse this again to get it back
to the natural RGBA8888 order expected by backends.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 hw/display/virtio-gpu.c | 1 +
 1 file changed, 1 insertion(+)
diff mbox series

Patch

diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 156d4e0b9b..9952658df2 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -103,6 +103,7 @@  static void update_cursor(VirtIOGPU *g, struct virtio_gpu_update_cursor *cursor)
         if (cursor->resource_id > 0) {
             vgc->update_cursor_data(g, s, cursor->resource_id);
             cursor_unmultiply_alpha(s->current_cursor);
+            cursor_swap_rgb(s->current_cursor);
         }
         dpy_cursor_define(s->con, s->current_cursor);