diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-02-10 09:51:09 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-10 09:51:09 -0500 |
commit | 664d7bfe4eb55556be491bb87f8f1c0135d8cac5 (patch) | |
tree | 07510f38d5176e978fb612f55511a747e32714d0 /include/backend/drm | |
parent | 8fc7edd636ce827dc147edc890e483bc3e3e9b09 (diff) | |
parent | 7cb828ac70c0c41005a761d9011f8b0ca8904688 (diff) |
Merge pull request #618 from VincentVanlaer/atomic-gamma
Add atomic gamma control
Diffstat (limited to 'include/backend/drm')
-rw-r--r-- | include/backend/drm/drm.h | 8 | ||||
-rw-r--r-- | include/backend/drm/iface.h | 7 | ||||
-rw-r--r-- | include/backend/drm/properties.h | 4 |
3 files changed, 17 insertions, 2 deletions
diff --git a/include/backend/drm/drm.h b/include/backend/drm/drm.h index af472ede..12530da6 100644 --- a/include/backend/drm/drm.h +++ b/include/backend/drm/drm.h @@ -39,9 +39,15 @@ struct wlr_drm_plane { struct wlr_drm_crtc { uint32_t id; - uint32_t mode_id; // atomic modesetting only + + // Atomic modesetting only + uint32_t mode_id; + 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 4a5d2e9d..15cdf1ab 100644 --- a/include/backend/drm/iface.h +++ b/include/backend/drm/iface.h @@ -27,6 +27,13 @@ struct wlr_drm_interface { // Move the cursor on crtc bool (*crtc_move_cursor)(struct wlr_drm_backend *drm, struct wlr_drm_crtc *crtc, int x, int y); + // Set the gamma lut on crtc + 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 7de386ea..3cf8cc87 100644 --- a/include/backend/drm/properties.h +++ b/include/backend/drm/properties.h @@ -32,8 +32,10 @@ union wlr_drm_crtc_props { uint32_t active; uint32_t mode_id; + uint32_t gamma_lut; + uint32_t gamma_lut_size; }; - uint32_t props[4]; + uint32_t props[6]; }; union wlr_drm_plane_props { |