From 2409d6b907951b4c24c2de521e4bb9a0b169513e Mon Sep 17 00:00:00 2001 From: Benjamin Defnet Date: Wed, 3 Jun 2009 09:06:29 -0700 Subject: [PATCH] Copy rotation and transform data into the Crtc so that xserver driver can apply them if desired when using set_mode_major(). Without this, any xrandr scale values won't be applied if using set_mode_major. Signed-off-by: Benjamin Defnet modified: hw/xfree86/modes/xf86Crtc.c --- hw/xfree86/modes/xf86Crtc.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c index 1c2ee49..a359081 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -255,9 +255,6 @@ xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotati RRTransformRec saved_transform; Bool saved_transform_present; - if (crtc->funcs->set_mode_major) - return crtc->funcs->set_mode_major(crtc, mode, rotation, x, y); - crtc->enabled = xf86CrtcInUse (crtc); if (!crtc->enabled) @@ -293,6 +290,11 @@ xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotati } else crtc->transformPresent = FALSE; + if (crtc->funcs->set_mode_major) { + ret = crtc->funcs->set_mode_major(crtc, mode, rotation, x, y); + goto done; + } + if (crtc->funcs->set_origin && memcmp (mode, &saved_mode, sizeof(saved_mode)) == 0 && saved_rotation == rotation && -- 1.6.0.6