backend/drm: Use legacy gamma size for legacy backend

We would always return the GAMMA_LUT_SIZE property if available, and
only fall back to legacy gamma size otherwise. This leads to issues if
both are available in differs in size while we use the legacy backend.

Ensure that we only return the legacy size if we're using the legacy
backend.

Closes: https://github.com/swaywm/wlroots/issues/2429
This commit is contained in:
Kenny Levinsen 2020-11-19 21:34:00 +01:00 committed by Simon Ser
parent 6284af121f
commit fb3bea8014

View file

@ -609,7 +609,7 @@ static void drm_connector_rollback_render(struct wlr_output *output) {
size_t drm_crtc_get_gamma_lut_size(struct wlr_drm_backend *drm, size_t drm_crtc_get_gamma_lut_size(struct wlr_drm_backend *drm,
struct wlr_drm_crtc *crtc) { struct wlr_drm_crtc *crtc) {
if (crtc->props.gamma_lut_size == 0) { if (crtc->props.gamma_lut_size == 0 || drm->iface == &legacy_iface) {
return (size_t)crtc->legacy_crtc->gamma_size; return (size_t)crtc->legacy_crtc->gamma_size;
} }