virtio_gpu: use an X8R8G8B8 resource on big-endian guestsThe 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) writenati
virtio_gpu: use an X8R8G8B8 resource on big-endian guestsThe 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) writenative 32-bit 0x00RRGGBB pixels into the shadow framebuffer. On abig-endian guest such as powerpc64 those pixels land in memory as00 RR GG BB, which the host interprets under B8G8R8X8 with red andblue swapped and the padding byte taken as blue: white renders yellowand blue renders black.Request X8R8G8B8 on big-endian guests instead, which is also what theLinux driver does (DRM_FORMAT_HOST_XRGB8888). Reproduced with a colourtest pattern on a powerpc64 QEMU pseries guest using the identicallycoded out-of-tree fork of this driver (graphics/virtio-gpu-qemu-kmod);little-endian guests are unchanged.Differential Revision: https://reviews.freebsd.org/D60085Approved by: jhibbitsMFC after: 1 week
show more ...
vtgpu: Support virtio gpu on Parallels DesktopThe Parallels Desktop Virtio GPU implementation doesn't handleenqueuing the VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING request andmemory list together.
vtgpu: Support virtio gpu on Parallels DesktopThe Parallels Desktop Virtio GPU implementation doesn't handleenqueuing the VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING request andmemory list together.Work around this by splitting them before sending them to be enqueued.Sponsored by: Arm LtdDifferential Revision: https://reviews.freebsd.org/D55147
virtio(4): Fix a couple of typos in kernel messages- s/reponse/response/- s/Cannnot/Cannot/MFC after: 1 week
Deprecate contigfree(9) in favour of free(9)As of 9e6544dd6e02c46b805d11ab925c4f3b18ad7a4b contigfree(9) is no longerneeded and should not be used anymore. We leave a wrapper for 3rd partycode i
Deprecate contigfree(9) in favour of free(9)As of 9e6544dd6e02c46b805d11ab925c4f3b18ad7a4b contigfree(9) is no longerneeded and should not be used anymore. We leave a wrapper for 3rd partycode in at least 15.x but remove (almost) all other cases from the tree.This leaves one use of contigfree(9) untouched; that was the originaltrigger for 9e6544dd6e02 and is handled in D45813 (to be committedseperately later).Sponsored by: The FreeBSD FoundationReviewed by: markj, kibTested by: pho (10h stress test run)Differential Revision: https://reviews.freebsd.org/D46099
vt: Add vd_bitblt_argbThis blit an ARGB image on the dedicated vd.This also adds vt_fb_bitblt_argb which will works for most of the vt backendsDifferential Revision: https://reviews.freebsd.org/
vt: Add vd_bitblt_argbThis blit an ARGB image on the dedicated vd.This also adds vt_fb_bitblt_argb which will works for most of the vt backendsDifferential Revision: https://reviews.freebsd.org/D45929Reviewed by: tsoomeSponsored by: Beckhoff Automation GmbH & Co. KG
vtgpu: Fix the physical memory sizeUse the correct endian switching function when switching to a littleendian 64-bit address. Even on a little-endian machine this willtruncate the address to a 32
vtgpu: Fix the physical memory sizeUse the correct endian switching function when switching to a littleendian 64-bit address. Even on a little-endian machine this willtruncate the address to a 32-bit value.Sponsored by: Arm Ltd
virtio: remove virtio_alloc_virtqueues' flags argSummary:the flags argument is unused.Its initial design idea has been superceded by the addition ofvirtio_setup_intr and related APIs.Sponsored
virtio: remove virtio_alloc_virtqueues' flags argSummary:the flags argument is unused.Its initial design idea has been superceded by the addition ofvirtio_setup_intr and related APIs.Sponsored by: The FreeBSD FoundationReviewers: bryanvReviewed By: bryanvSubscribers: cognet, impDifferential Revision: https://reviews.freebsd.org/D41850
Add a virtio-gpu 2D driverAdd a driver to connect vt to the VirtIO GPU device in 2D mode. Thisprovides a output on the display when a qemu virtio gpu device isadded, e.g. with -device virtio-gpu-
Add a virtio-gpu 2D driverAdd a driver to connect vt to the VirtIO GPU device in 2D mode. Thisprovides a output on the display when a qemu virtio gpu device isadded, e.g. with -device virtio-gpu-pci.Tested on qemu using UTM, and a Hetzner arm64 VM instance.Reviewed by: bryanv (earlier version)Sponsored by: Arm LtdDifferential Revision: https://reviews.freebsd.org/D40094