[Xorg-driver-geode] Rendering for rotation

Jonathan Morton jonathan.morton at movial.com
Thu Jul 8 03:45:21 PDT 2010


On Thu, 2010-07-08 at 17:17 +0800, Huang, FrankR wrote:
> Have a question for render operation on rotation.

> I fixed the bug in lx_do_composite in geode driver. srcX and
> srcY are same as maskX and maskY. When I calculate the renderging
> region, I need to use "maskWidth - maskX" and "maskHeight - maskY" if
> Mask is not zero.

> Same way, when the Mask in zero, we need do "srcWidth - srcX"
> and "srcHeight - srcY". But seems it is not reasonable for rotation in
> this way. When it is rotation, right now I am still use srcWidth and
> srcHeight. Is it any special for rotation?

What kind of rotation is involved here?

AFAIK, XRandR will automatically apply an appropriate transform to
operations if a rotated framebuffer scanout is not available.  So the
situation probably depends on that.

With alternate framebuffer scanout support, you would treat the
framebuffer as a normal unrotated pixmap with different dimensions (swap
width and height).

Without it, XRandR will cause EXA to provide operations with 90-degree
rotate/translate transforms set on the source and mask images, and with
the (X,Y) and (width,height) pairs of the destination area swapped.  In
this case you would need to understand how transforms work, although it
is unlikely that you would support anything but this specific 90-degree
case.

-- 
------
From: Jonathan Morton
      jonathan.morton at movial.com




More information about the Xorg-driver-geode mailing list