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

Reply via email to