Roland Scheidegger wrote: > Ian Romanick wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> Brian Paul wrote: >> >>> Another thought is to move some traditional per-fragment operations into >>> the fragment program itself. Alpha test, for example, may no longer >>> exist in OpenGL 3.0; it would be up to the user to encode the test in >>> their shader. >>> >>> With software rendering, we have the potential to do almost everything >>> in the fragment shader. One idea I had is to add a new input register >>> to fragment programs which is the current framebuffer color. We could >>> use that to do blending/masking/etc. in the program. Normally, this >>> would be hidden, but it could be exposed as an interesting new OpenGL >>> extension (and something unique to Mesa). >> The other option is to add another shader stage for post-fragment >> operations. This is roughly analogous to how geometry shaders are >> implemented. When I've thought about this in the past, I had only >> considered using it to replace alpha blending and stencil operations. >> >> I don't see any reason why we couldn't also implement alpha and stencil >> testing in the same stage. I'm a bit nervous about including depth >> testing. It seems like that would cause issues with early Z test. > > You could do early stencil testing just as well (there is hardware out > there AFAIK which supports that).
Don't worry too much about proliferating stages - the idea is to keep these things focused and simple. When it comes to an optimized version of this stuff, we'll be code-generating the entire fragment backend into a single run of code, with no jumps to different stages. Keeping them small should make it easier to do rearrangements like early-z, etc. Keith ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
