Hi Daniel,
Would the following patch be more acceptable to you.  This patch will just 
store off the rotation and transform in the crtc without actually applying it 
to the transformation matrices.  This will allow the xserver driver to do 
whatever they want with these transforms.  The rotation parameter to 
set_major_mode is redundant at this point but I didn't want to change the 
function signature.

Ben


diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 1c2ee49..2d954b7 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)
@@ -306,6 +303,11 @@ xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr 
mode, Rotation rotati
        goto done;
     }
 
+    if (crtc->funcs->set_mode_major) {
+       ret = crtc->funcs->set_mode_major(crtc, mode, rotation, x, y);
+       goto done;
+    }
+
     /* Pass our mode to the outputs and the CRTC to give them a chance to
      * adjust it according to limitations or output properties, and also
      * a chance to reject the mode entirely.


-----Original Message-----
From: Daniel Stone [mailto:[email protected]] 
Sent: Wednesday, May 13, 2009 11:07 AM
To: Defnet, Benjamin R
Cc: [email protected]; Barnes, Jesse; Packard, Keith
Subject: Re: xserver patch - Fix xf86CrtcSetModeTransform() to not skip 
transform processing with KMS

On Wed, May 13, 2009 at 10:55:35AM -0700, Defnet, Benjamin R wrote:
> About this "forcing all rendering to be transformed, even if you can do 
> rotation in hardware"...isnt' this exactly what happens in the case where we 
> don't use set_mode_major?  Why have differing expectations between the two?  

Sure, but that's completely fixable without breaking server <-> driver
API, and I have a patchset to do so that I'll post in a week or so.

Cheers,
Daniel
_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to