linux/drivers/gpu/drm/virtio
Qinyun Tan f2e64f450c drm/virtio: create blend mode property on cursor plane
Since commit 860e748bdd ("drm: ensure blend mode supported if pixel
format with alpha exposed"), drm_mode_config_validate() warns when a
plane exposes an alpha pixel format but not the "pixel blend mode"
property. The virtio-gpu cursor plane (HOST_ARGB8888) trips this.

The virtio-gpu specification does not define the cursor alpha
semantics. The host forwards the cursor pixels verbatim to its display
frontends, and the remote cursor protocols among them (SPICE alpha
cursors, the VNC "Cursor With Alpha" encoding) both define
pre-multiplied alpha, matching what userspace has always assumed when
the property is not attached. Expose a "pixel blend mode" property
advertising only DRM_MODE_BLEND_PREMULTI to make these semantics
explicit and silence the warning. The primary plane only exposes
HOST_XRGB8888, so the call is gated to the cursor. No functional
change.

Fixes: 860e748bdd ("drm: ensure blend mode supported if pixel format with alpha exposed")
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Qinyun Tan <qinyuntan@linux.alibaba.com>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patch.msgid.link/20260901083234.1828755-4-qinyuntan@linux.alibaba.com
2026-09-08 15:12:27 +02:00
..
Kconfig drm/virtgpu: Run DRM default client setup 2024-09-26 09:31:28 +02:00
Makefile
virtgpu_debugfs.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
virtgpu_display.c drm/virtio: check return value of vgdev_output_init() 2026-08-14 16:37:04 +03:00
virtgpu_drv.c drm-misc-next for 7.3: 2026-07-06 17:38:49 +10:00
virtgpu_drv.h Merge drm/drm-fixes into drm-misc-fixes 2026-09-01 09:38:51 +02:00
virtgpu_fence.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
virtgpu_gem.c drm/virtio: Don't detach GEM from a non-created context 2026-07-13 19:13:02 +03:00
virtgpu_ioctl.c drm/virtio: add VIRTGPU_PARAM_BLOB_ALIGNMENT to params 2026-05-20 17:59:21 +03:00
virtgpu_kms.c Merge drm/drm-fixes into drm-misc-fixes 2026-09-01 09:38:51 +02:00
virtgpu_object.c Merge drm/drm-fixes into drm-misc-fixes 2026-09-01 09:38:51 +02:00
virtgpu_plane.c drm/virtio: create blend mode property on cursor plane 2026-09-08 15:12:27 +02:00
virtgpu_prime.c treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
virtgpu_submit.c drm/virtio: fix dma_fence refcount leak on error in virtio_gpu_dma_fence_wait() 2026-06-08 21:40:51 +03:00
virtgpu_trace_points.c
virtgpu_trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
virtgpu_vq.c Merge drm/drm-fixes into drm-misc-fixes 2026-09-01 09:38:51 +02:00
virtgpu_vram.c drm for 7.3-rc1 2026-08-21 08:41:00 -07:00