diff options
author | Vincent Vanlaer <vincent.vanlaer@skynet.be> | 2018-02-04 21:03:44 +0100 |
---|---|---|
committer | Vincent Vanlaer <vincent.vanlaer@skynet.be> | 2018-02-09 17:29:14 +0100 |
commit | ab011406add31c518f6f352189b1dc6246a74fdb (patch) | |
tree | 9d2319f3998f63282b32c885cb148adc47d3c774 /include/backend | |
parent | cc1229e75e0c0c2cf5ae6d67bc7411c2631deb86 (diff) |
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.
Diffstat (limited to 'include/backend')
-rw-r--r-- | include/backend/drm/drm.h | 3 | ||||
-rw-r--r-- | include/backend/drm/iface.h | 3 | ||||
-rw-r--r-- | include/backend/drm/properties.h | 3 |
3 files changed, 8 insertions, 1 deletions
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 { |