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.
This commit is contained in:
Vincent Vanlaer 2018-02-04 21:03:44 +01:00
parent cc1229e75e
commit ab011406ad
7 changed files with 37 additions and 8 deletions

View file

@ -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;

View file

@ -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;

View file

@ -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 {