aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/bridge
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2026-09-28 08:43:35 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2026-10-08 08:44:06 +0000
commit7cf02164a517824c07faed91c009be90f2f17ec0 (patch)
tree4115575d4cfd0602213e9742c79eb2560f02a66c /sys/modules/bridge
parent6f5803e375fe2214f1fb8f1e1378ab006b196adc (diff)
virtio_gpu: use an X8R8G8B8 resource on big-endian guestsHEADmain
The virtio-gpu resource formats are defined by byte order in memory, while vt(4) and the X server (through vt_fb and the fb mmap) write native 32-bit 0x00RRGGBB pixels into the shadow framebuffer. On a big-endian guest such as powerpc64 those pixels land in memory as 00 RR GG BB, which the host interprets under B8G8R8X8 with red and blue swapped and the padding byte taken as blue: white renders yellow and blue renders black. Request X8R8G8B8 on big-endian guests instead, which is also what the Linux driver does (DRM_FORMAT_HOST_XRGB8888). Reproduced with a colour test pattern on a powerpc64 QEMU pseries guest using the identically coded out-of-tree fork of this driver (graphics/virtio-gpu-qemu-kmod); little-endian guests are unchanged. Differential Revision: https://reviews.freebsd.org/D60085 Approved by: jhibbits MFC after: 1 week
Diffstat (limited to 'sys/modules/bridge')
0 files changed, 0 insertions, 0 deletions