Card level differences between XAA and EXA hooks?
Connor Behan
connor.behan at gmail.com
Fri Apr 6 23:36:48 PDT 2012
I am trying to port my driver to EXA (r128 if that matters
https://bugs.freedesktop.org/show_bug.cgi?id=47866) and I've hit a brick
wall trying to make it pass rendercheck tests. Specifically, the tests I
am running are the quick ones: fill, dcoords, scoords, mcoords,
tscoords, tmcoords, triangles and bug7366. With XAA, all tests are
passed. With EXA I get 129/160, 2/2, 0/1, 0/1, 0/2, 0/2, 1710/1938 and
1/1 respectively.
I'm wondering why that is. Obviously the answer is "I did it wrong" but
I'm doing things very similar to what other drivers do. I'm only
accelerating Solid and Copy right now. My EXA PrepareSolid sends the
same bytes to the same registers as the XAA SetupForSolidFill. My EXA
Solid sends the same bytes to the same registers as XAA
SubsequentSolidFillRect. Same with (PrepareCopy,
SetupForScreenToScreenCopy) and (Copy, SubsequentScreenToScreenCopy). I
also made a conservative guess for what my EXA flags have to be - the
flags saying that my card has as few features as possible. Do you think
there are extra bytes that I have to OUTREG if I want to use EXA? Or is
the problem more likely to be a subtlety of how I initialize it?
More information about the xorg-devel
mailing list