Questions about possible EXA Composite acceleration for savage
Alex Villacís Lasso
a_villacis at palosanto.com
Mon Apr 14 11:56:38 PDT 2008
I am currently studying the feasibility of implementing Composite
acceleration for the savage driver. The 3D hardware available has two
texture units, which require power-of-two dimensions to work (both width
and height). From what I could see, setting the POT flag only sets up a
POT source pitch, but does nothing for the height. What could happen if
I use the next bigger power-of-two height as the texture height? Does
EXA guarantee that I will not overrun into the next stored texture, or not?
Another question: apparently the POT flag has effect on the reported
texture pitch, not on the actual image width
(PixmapPtr->drawable->width). What is stored on the right of the true
width? Is it garbage, or does EXA guarantee it to be some constant
value, or that it will always be covered by the mask texture or source
alpha channel? How should this be handled if the driver needs to repeat
the source texture, as apparently required by a source texture of 1x1
and a destination coordinate of, say 28, 15? Note that, even though 1 is
a power of two, EXA still honors the pitch alignment of 128 bytes (one
tile pitch).
This might be easier to answer for me if I could examine existing source
code for some other driver that has both EXA Composite acceleration and
the POT requirement. Do you know whether any of the existing drivers
meet both requirements?
--
perl -e '$x=2.4;print sprintf("%.0f + %.0f = %.0f\n",$x,$x,$x+$x);'
More information about the xorg
mailing list