Rotate trouble on r300 (was: Re: XRandR rotate support HW rotate or not?)

Michel Dänzer michel at tungstengraphics.com
Sat Nov 1 04:25:59 PDT 2008


On Fri, 2008-10-31 at 19:17 +0100, Xavier Bestel wrote:
> Le vendredi 31 octobre 2008 à 09:34 -0400, Alex Deucher a écrit :
> > 2008/10/31  <FloraGui at viatech.com.cn>:
> > > Dear Keith Packard:
> > >
> > >       I have recently study RandR,  I found if we use RandR rotate no matter
> > > static rotate or dynamic rotate,we always use RandR's own software rotate.
> > >
> > >       We draw the screen desktop very slow,  how can we support HW rotate
> > > using RandR or it is a RandR limitation, if it is, RandR1.3 has support HW
> > > rotate or not ?
> > 
> > Your driver needs to implement the EXA composite hook with support for
> > transforms and the randr 1.2 shadow_create/allocate/destroy hooks.
> > The basic idea is that when you elect to rotate your screen, a shadow
> > framebuffer is allocated in the randr core code calling the driver
> > shadow* hooks to allocate a buffer for the rotated screen.  The crtc
> > is then pointed to this shadow buffer.  The randr core code then uses
> > the driver's EXA composite hook to transform the regions that are
> > damaged and display them in the shadow buffer.  Both the Intel driver
> > and the radeon driver implement this.
> 
> BTW, does anyone know why rotating the screen doesn't play well with
> compiz on an r300 ? The screen looks garbled (like if the framebuffer
> wasn't rotated so the pitch is all wrong), every second image (e.g. when
> you move the cube slowly, one image is perfect, the next one is
> garbled).

Does disabling tiling and/or page flipping help?


-- 
Earthling Michel Dänzer           |          http://tungstengraphics.com
Libre software enthusiast         |          Debian, X and DRI developer




More information about the xorg mailing list