Ian Romanick wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > I've been digging through the softpipe code in gallium for the past few > days. I think I'm starting to "get it". I do have one question about > the way quads are processed. > > It looks like the triangle setup code produces a row of quads and passes > them off, one at a time, to the fragment shader. The fragment shader > then does the attribute interpolation and passes the fragments to the > real shader. Is that correct?
Yes. > It seems like instead we'd want the setup code to produce large groups > of quads with all of attributes pre-interpolated. Each quad would be > tagged with some ordering information. The shader code could then > process quads however it wanted as longs as the tagged ordering > information was respected. This would allow a few things: Yes of course. Softpipe is not an optimized rasterizer... We're figuring things out at this point. > 1. Group quad processing to better use the tile cache. > > 2. Trivially distribute quad processing to multiple CPU cores (not just > on Cell, either). > > 3. If the shader doesn't modify Z values, early Z culling could be > performed. > > I don't see any easy way to achieve this with the current code. Am I > missing something, or is this a place where I could jump in and help? Well it depends what you mean by easy. The work has to be done, and it will involve some restructuring of the data structures, eg to take a bunch of quads within a tile. But I don't think there are any structural barriers in place against this happening. I don't see it as being anything more than a step on from where we are now - ie what we're doing is a necessary step to get to a rasterizer with a wider pipeline... What we have in softpipe is sufficent to make progress on the rest of the stack and shader code-generation. The time is rapidly approaching where it will become necessary again to dig into the structure of the rasterization pipeline. And it certainly wouldn't hurt the efforts elsewhere if someone got an early start on that... Keith ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev