From ab011406add31c518f6f352189b1dc6246a74fdb Mon Sep 17 00:00:00 2001 From: Vincent Vanlaer Date: Sun, 4 Feb 2018 21:03:44 +0100 Subject: Add atomic gamma lut size fetching Legacy gamma lut size now uses the new legacy_crtc member of wlr_drm_crtc. This was Previously doen using old_crtc in wlr_drm_connector, but since this refers to the crtc that was connected to the ouput, this could give the wrong result. --- include/backend/drm/drm.h | 3 +++ include/backend/drm/iface.h | 3 +++ include/backend/drm/properties.h | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/backend/drm/drm.h b/include/backend/drm/drm.h index 782764c8..12530da6 100644 --- a/include/backend/drm/drm.h +++ b/include/backend/drm/drm.h @@ -45,6 +45,9 @@ struct wlr_drm_crtc { uint32_t gamma_lut; drmModeAtomicReq *atomic; + // Legacy only + drmModeCrtc *legacy_crtc; + union { struct { struct wlr_drm_plane *overlay; diff --git a/include/backend/drm/iface.h b/include/backend/drm/iface.h index 228b313a..15cdf1ab 100644 --- a/include/backend/drm/iface.h +++ b/include/backend/drm/iface.h @@ -31,6 +31,9 @@ struct wlr_drm_interface { bool (*crtc_set_gamma)(struct wlr_drm_backend *drm, struct wlr_drm_crtc *crtc, uint16_t *r, uint16_t *g, uint16_t *b, uint32_t size); + // Get the gamma lut size of a crtc + uint32_t (*crtc_get_gamma_size)(struct wlr_drm_backend *drm, + struct wlr_drm_crtc *crtc); }; extern const struct wlr_drm_interface atomic_iface; diff --git a/include/backend/drm/properties.h b/include/backend/drm/properties.h index 119d24c3..3cf8cc87 100644 --- a/include/backend/drm/properties.h +++ b/include/backend/drm/properties.h @@ -33,8 +33,9 @@ union wlr_drm_crtc_props { uint32_t active; uint32_t mode_id; uint32_t gamma_lut; + uint32_t gamma_lut_size; }; - uint32_t props[5]; + uint32_t props[6]; }; union wlr_drm_plane_props { -- cgit v1.2.3