[Mesa-dev] Why do vulkan display surfaces not support alpha blending?

Austin Shafer ashafer at badland.io
Thu Mar 19 23:01:14 UTC 2020

Hi all,

I noticed on an intel laptop that the only supported alpha mode for
any display plane is opaque. Is there a specific reason for this? I'm
trying to draw interfaces and things direct to the display and it
would be really nice to have alpha blending.

From src/vulkan/wsi/wsi_common_display.c:

 721 VkResult
 722 wsi_get_display_plane_capabilities(VkPhysicalDevice physical_device,
 723                                    struct wsi_device *wsi_device,
 724                                    VkDisplayModeKHR mode_khr,
 725                                    uint32_t plane_index,
 726                                    VkDisplayPlaneCapabilitiesKHR *capabilities)
 727 {
 728    struct wsi_display_mode *mode = wsi_display_mode_from_handle(mode_khr);
 730    /* XXX use actual values */
 731    capabilities->supportedAlpha = VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR;

I'm just curious if there is a technical reason why blending isn't
allowed, as the vulkan spec seems to permit it.

	Austin Shafer

More information about the mesa-dev mailing list