[Mesa-dev] [RFC] Mesa 7.9 release criteria

Luca Barbieri luca at luca-barbieri.com
Thu Sep 2 05:42:51 PDT 2010


The nv30/nv40 driver expects that all optimizations that can be
performed on TGSI without target knowledge to have already been
performed.
This seems a sensible principle in general to avoid drivers duplicating work.

In particular, registers are expected to be optimally allocated.
Doing this in the driver seems complex because I don't think you can
easily tell where a variable is live in the presence of control flow
and functions (without full-blown analysis).

A practical problem I found (a bit ago, maybe it's no longer the case)
is that the vsraytrace shader does not fit in the VS 512 instruction
limit on nv40.

Now, I'm not sure whether the GLSL passes, IR-to-Mesa, prog_optimize
or something else should fix these issues.
Also, it does not necessarily have to hold up release, since things
have been more or less always broken in this area.

Something interesting to try would be to use LLVM for this, which
should provide a definitive solution, but is a longer term and
somewhat experimental project.


More information about the mesa-dev mailing list