modesetting: Fix reported size when using atomic modesetting
The framebuffer can include multiple CRTCs in multi-monitors setup. So we shouldn't use the buffer size but the CRTC size instead. Rotated displays are shadowed, so we don't need to worry about it there. Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Tested-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
parent
ce7d5087cf
commit
f580116f3c
|
@ -562,15 +562,15 @@ drmmode_crtc_set_fb(xf86CrtcPtr crtc, DisplayModePtr mode, uint32_t fb_id,
|
|||
ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_SRC_X, x << 16);
|
||||
ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_SRC_Y, y << 16);
|
||||
ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_SRC_W,
|
||||
drmmode->front_bo.width << 16);
|
||||
crtc->mode.HDisplay << 16);
|
||||
ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_SRC_H,
|
||||
drmmode->front_bo.height << 16);
|
||||
crtc->mode.VDisplay << 16);
|
||||
ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_CRTC_X, 0);
|
||||
ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_CRTC_Y, 0);
|
||||
ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_CRTC_W,
|
||||
drmmode->front_bo.width);
|
||||
crtc->mode.HDisplay);
|
||||
ret |= plane_add_prop(req, drmmode_crtc, DRMMODE_PLANE_CRTC_H,
|
||||
drmmode->front_bo.height);
|
||||
crtc->mode.VDisplay);
|
||||
|
||||
if (ret == 0)
|
||||
ret = drmModeAtomicCommit(ms->fd, req, flags, data);
|
||||
|
|
Loading…
Reference in New Issue
Block a user