backend/drm: Add pixel blend mode properties

This commit is contained in:
YaoBing Xiao 2026-03-26 10:07:27 +08:00
parent 413664e0b0
commit b09160aa3e
6 changed files with 22 additions and 1 deletions

View file

@ -14,6 +14,7 @@ struct wlr_drm_fb {
struct wl_list link; // wlr_drm_backend.fbs
uint32_t id;
bool has_alpha;
};
bool drm_fb_import(struct wlr_drm_fb **fb, struct wlr_drm_backend *drm,

View file

@ -48,6 +48,7 @@ struct wlr_drm_plane_props {
uint32_t rotation; // Not guaranteed to exist
uint32_t in_formats; // Not guaranteed to exist
uint32_t size_hints; // Not guaranteed to exist
uint32_t pixel_blend_mode; // Not guaranteed to exist
// atomic-modesetting only
@ -83,6 +84,13 @@ enum wlr_drm_color_range {
WLR_DRM_COLOR_YCBCR_LIMITED_RANGE,
};
// Equivalent to drm_mode_blend_mode defined in the kernel
enum wlr_drm_pixel_blend_mode {
WLR_DRM_BLEND_PREMULTI,
WLR_DRM_BLEND_COVERAGE,
WLR_DRM_BLEND_PIXEL_NONE,
};
bool get_drm_connector_props(int fd, uint32_t id,
struct wlr_drm_connector_props *out);
bool get_drm_crtc_props(int fd, uint32_t id, struct wlr_drm_crtc_props *out);