From: Brian P. <bri...@tu...> - 2007-03-26 23:14:23
|
Stephane Marchesin wrote: > Keith Whitwell wrote: >> Philipp Klaus Krause wrote: >> >>> Brian Paul schrieb: >>> >>> >>>> But we might ask ourselves if we really want to expose the shading >>>> language in drivers that can't actually run shaders with conditionals, etc. >>>> >>>> >>> With loop unrolling and use of the SLT instruction it could be possible >>> to run many shaders on that hardware. >>> >> Yes, there are lots of ways to simulate branches, I don't think we've >> really touched on what can be achieved yet. >> >> Even on hardware that supports branching, it is probably an optimization >> to eliminate them wherever possible. >> >> > Btw, what's the plan for these optimizations, which are obviously > card-dependent (for example one card may perform better with loop > unrolling, another one may not). It makes sense to have these be > card-specific, but it doesn't really make sense to have the code > rewritten 10 times... Loop unrolling (and various other things) should probably be done in the GLSL code generator since it's a device-independent transformation. Other techniques that are card-specific would be done in the drivers. I have other priorities for the near future but I encourage others to work on optimization techniques. -Brian |