[Xorg-driver-geode] what is the purpose of GeodeCalculatePitchBytes function?

Cui, Hunk Hunk.Cui at amd.com
Thu Sep 9 18:22:38 PDT 2010


Hi, ajax & Jordan,

	It is very appreciate. I have understood why it should be setup
up to 16Mb, it is focus on compression buffer operation. This is the
minimum memory requirements. If the amount of video memory required for
a more (display resolution) is larger than the available amount of video
memory, the mode is rejected and is excluded from the mode list
presented to the system, in this case, the driver sets a linear pitch
where the stride is equal to the display line size.

	But in rotation operation, it may be affected in extra
off-screen with the line-by-line compression.

Thanks,
Hunk Cui

> -----Original Message-----
> From: Adam Jackson [mailto:ajax at nwnk.net]
> Sent: Friday, September 10, 2010 5:31 AM
> To: Cui, Hunk
> Cc: Jordan Crouse; Geode Mailing List; xorg-devel at lists.x.org
> Subject: RE: what is the purpose of GeodeCalculatePitchBytes function?
> 
> On Thu, 2010-09-09 at 11:43 +0800, Cui, Hunk wrote:
> > Hi, Jordan & ajax,
> >
> > 	As you said, it is a compression algorithm, in your 2008-11-18
> > patch: "LX: Change the way EXA memory is allocated" (
> >
http://cgit.freedesktop.org/xorg/driver/xf86-video-geode/commit/?id=cf06
> > 55edbcbd3910c12c33d8c786cc72c0242786 ), you have one operation:
Disable
> > compression when there is less then 16Mb of memory.
> >
> > 	In datasheet: 32478e- AMD Geode(tm) LX Processor Graphics
> > Software Specification, Table 2-9. Minimum Memory Requirements (MB),
the
> > minimum memory requirements is 12Mb.
> >
> > 	So in driver code, why does it setup up to 16Mb? (if
> > (pGeode->tryCompression && pGeode->FBAvail <= 0x1000000). What is
the
> > foundation?
> 
> Probably that the power savings from compression are outweighed by
> having less offscreen memory to use for pixmaps, meaning more work has
> to be done in software and thus using more power overall.
> 
> - ajax



More information about the Xorg-driver-geode mailing list