On Friday 24 July 2009 20:00:16 Anders Juel Jensen wrote: > On Friday 24 July 2009 21:40:25 Keith Whitwell wrote: > > Thinking of LLVM as "the hardware" has a couple of positive > > psychological implications -- most importanly that we are in the > > business of programming LLVM to do rasterization, rather than just using > > it to provide some niche fastpaths in an otherwise complete software > > rasterizer. > > Does this approach mean that the softpipe will only handle missing > functionality for hardware that is fixed function, and then the > llvm-rasterizer will do the heavy lifting for "stupid" hardware like i945?
No, not quite. Gallium doesn't support fixed-function hardware at all. Softpipe is what we call the software rasterizer for Gallium, so it's not so much a fallback, but a software driver. LLVM rasterizer wouldn't be used for typical hardware drivers, but for things without a hardware rasterizer (cpu, cell, larrabee, etc). > > There at least four key places where we want to generate code (TGSI > > shaders are only one of them), and we want to choose plumbing between > > them which is optimal for however llvm turns out to require it -- all of > > which means that in such a driver LLVM won't be hidden behind shader > > opcodes, but will be completely in the foreground. > > The [at least] three remaining ones being? Well, there's lots of them. For the purpose of this discussion besides shader, there's all the parts that would be needed by the llvm rasterizer (samplers, depth-stencil-alpha, color combine) plus there's a lot of other places like the translate code and likely the vertex paths themselves that would benefit from it. z ------------------------------------------------------------------------------ _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev