Add atomic gamma setting

This commit is contained in:
Vincent Vanlaer 2018-02-01 20:27:35 +01:00
parent 34489dca16
commit cc1229e75e
7 changed files with 55 additions and 3 deletions

View file

@ -39,7 +39,10 @@ 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;
union {

View file

@ -27,6 +27,10 @@ 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);
};
extern const struct wlr_drm_interface atomic_iface;

View file

@ -32,8 +32,9 @@ union wlr_drm_crtc_props {
uint32_t active;
uint32_t mode_id;
uint32_t gamma_lut;
};
uint32_t props[4];
uint32_t props[5];
};
union wlr_drm_plane_props {