State of Linux graphics

Keith Whitwell keith at tungstengraphics.com
Thu Sep 1 10:26:42 PDT 2005


Ian Romanick wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Brian Paul wrote:
> 
> 
>>It's other (non-orientation) texture state I had in mind:
>>
>>- the texel format (OpenGL has over 30 possible texture formats).
>>- texture size and borders
>>- the filtering mode (linear, nearest, etc)
>>- coordinate wrap mode (clamp, repeat, etc)
>>- env/combine mode
>>- multi-texture state
> 
> 
> Which is why it's such a good target for code generation.  You'd
> generate the texel fetch routine, use that to generate the wraped texel
> fetch routine, use that to generate the filtered texel fetch routine,
> use that to generate the env/combine routines.
> 
> Once-upon-a-time I had the first part and some of the second part
> written.  Doing just that little bit was slightly faster on a Pentium 3
> and slightly slower on a Pentium 4.  I suspect the problem was that I
> wasn't caching the generated code smart enough, so it was it trashing
> the CPU cache.  The other problem is that, in the absence of an
> assembler in Mesa, it was really painful to change the code stubs.

Note that the last part is now partially addressed at least - Mesa has 
an integrated and simple runtime assembler for x86 and sse.  There are 
some missing pieces and rough edges, but it's working and useful as it 
stands.

Keith



More information about the xorg mailing list