diff options
author | Scott Anderson <ascent12@hotmail.com> | 2018-10-03 13:16:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-03 13:16:59 +0200 |
commit | 43af104fa3939234794da3a15bca102138c3aa70 (patch) | |
tree | 35cf165496282f39060f549115863cae8272d9c2 /backend/drm/backend.c | |
parent | 1dd523c34c71a7d156c62bc3e3f033113b666e4d (diff) | |
parent | e88db9a3fb4208776b2a3ef35fdbd5fa344c0905 (diff) |
Merge pull request #1277 from emersion/reset-gamma
backend/drm: reset gamma table on VT switch
Diffstat (limited to 'backend/drm/backend.c')
-rw-r--r-- | backend/drm/backend.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/backend/drm/backend.c b/backend/drm/backend.c index bba79bda..76918e7d 100644 --- a/backend/drm/backend.c +++ b/backend/drm/backend.c @@ -101,6 +101,16 @@ static void session_signal(struct wl_listener *listener, void *data) { (plane && plane->cursor_enabled) ? plane->cursor_bo : NULL); drm->iface->crtc_move_cursor(drm, conn->crtc, conn->cursor_x, conn->cursor_y); + + if (conn->crtc->gamma_table != NULL) { + size_t size = conn->crtc->gamma_table_size; + uint16_t *r = conn->crtc->gamma_table; + uint16_t *g = conn->crtc->gamma_table + size; + uint16_t *b = conn->crtc->gamma_table + 2 * size; + drm->iface->crtc_set_gamma(drm, conn->crtc, size, r, g, b); + } else { + set_drm_connector_gamma(&conn->output, 0, NULL, NULL, NULL); + } } } else { wlr_log(WLR_INFO, "DRM fd paused"); |