Hi, Mitch,

        I know your Error key point, because it couldn't allocate the shadow 
memory for rotation after crtc_shadow_allocate.
        In our xf86-video-geode driver, all of memories are allocated by 
GeodeAllocOffscreen, the exa offscreen memory is part of the memorySize. And 
the rotation data is not in memorySize, it is allocated after memorySize.
        You can check your Xorg.0.log file about "Gedoe LX video memory" and 
"LX video memory", because the shadow buffer (rotate memory) will be allocated 
from "FREE memory", if only 0x0 bytes are available, it can not do the rotate 
operation.

Thanks,
Hunk Cui

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of 
Mitch Davis
Sent: Monday, June 21, 2010 7:59 AM
To: Cui, Hunk
Cc: [email protected]; Huang, FrankR; Xie, Michael
Subject: Re: [Xorg-driver-geode] Update -- The RandR-"unable to 
setrotation"issue in AMD Geode LX platform

On Fri, Jun 18, 2010 at 5:40 PM, Cui, Hunk <[email protected]> wrote:
>
>  In yesterday's update note, there is one place with connection to X server 
> lost. I changed it and resend a new one to review.
>  To repeatedly cycle test, I have written a shell-script to test the rotate. 
> Now it can properly rotate in Xserver 1.8 (Need add my gamma correction  
> patch).
>  Because I have some confuse on memorysize, so I need some time to research 
> and consider whether this approach is correct. I can not explain too 
> specific. But it can solve your urgent rotate issue in temporary.
>  Any other latest update, I will inform.

Hi Hunk,

Thanks for the patch.  I have tried it out with Xorg server 1.7.5, but
it doesn't work.

$ xrandr -q | grep connected
default connected 1024x768+0+0 (normal left inverted right x axis y
axis) 0mm x 0mm

So I will use "default".

$ xrandr --output default --rotate left
xrandr: Configure crtc 0 failed

The screen goes black for a moment, then comes back just as before,
i.e., not inverted.  This happens for "left", "right", and "inverted".
 There is no flash for "normal", and it returns immediately.

This is the same with the add/subtract lx_crtc->rotate_mem->size, and
with the add/subtract 1.

This message appears in the X log:

(EE) GEODE(0): Couldn't allocate the shadow memory for rotation
(EE) GEODE(0):  You need 0x300000 bytes, but only 0x0 bytes are available

Is this because I am using Xorg server 1.7.5?  Do you think it would
work with 1.8?  Is there something I'm doing wrong?

I will try 1.8 now.

Thank you for your help!

Mitch.
_______________________________________________
Xorg-driver-geode mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-driver-geode

_______________________________________________
Xorg-driver-geode mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-driver-geode

Reply via email to