[Xorg-driver-geode] xserver-1.13 rendering issues

Daniel Drake dsd at laptop.org
Wed Oct 3 08:33:14 PDT 2012


On Wed, Sep 12, 2012 at 9:32 AM, Daniel Drake <dsd at laptop.org> wrote:
> I would like to help, but I'm facing a steep learning curve. Do you
> have any suggestions for a first-time-EXA and first-time-geode-accel
> reading list?
> Is there some kind of EXA test suite, or a simple way to exercise the
> EXA code paths one by one, verifying their result somehow?

Thanks Mart for answering these questions on IRC.

For the archives, and in case it helps others, here is his advice:

Reading list:
- porter-duff paper, http://keithp.com/~keithp/porterduff/
- render spec, http://cgit.freedesktop.org/xorg/proto/renderproto/tree/renderproto.txt
- exa/exa.h

After a very quick skim, it seems that the render extension implements
the fundamentals of the porter-duff paper, and EXA is a layer used to
hardware-accelerate render operations.

rendercheck acts as a render/EXA test suite to exercise the many code paths:
http://cgit.freedesktop.org/xorg/app/rendercheck

To find code paths that aren't being accelerated that would
potentially be worth accelerating, look at the
CheckComposite/PrepareComposite calls in the driver that return FALSE.
The geode driver has some optional logging here, skimming the logs
will give an idea.

Also, in the xserver EXA code there is a macro which can be enabled to
report fallback cases in a driver-independent manner (including
details of the operation). This is DEBUG_TRACE_FALL in exa_priv.h -
there are other debug options in the same file.

Some CheckComposite/PrepareComposite failures won't directly result in
software rendering - sometimes EXA will then break the operation into
multiple operations and see if the driver can accelerate those.

Thanks


More information about the Xorg-driver-geode mailing list