[PATCH xserver 2/2] modesetting: Fix reported size when using atomic modesetting

Louis-Francis Ratté-Boulianne lfrb at collabora.com
Thu Mar 29 05:07:26 UTC 2018


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 at collabora.com>
---
 hw/xfree86/drivers/modesetting/drmmode_display.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
index e010eae21..a70b4c6b4 100644
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -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);
-- 
2.14.3



More information about the xorg-devel mailing list