Am Sonntag, 23. März 2008 00:08:00 schrieb Roderick Colenbrander: > Hi, > > Windows drivers only offer post pixel shader blending support on generic > (A)RGB-like formats and in case of dx10-class cards like the Geforce8 also > on some float formats. Right now we enable blending even when it isn't > needed. In case of R32F (if you would disable the software conversion code) > this gives a 400% performance boost in > http://www.angelcode.com/dev/shadow/. Don't disable GL_BLEND() in context.c . This will be overwritten by the state_blend() state handler later if the state is dirty for some reason. Instead mark the state dirty and let the state handler code you added handle this.
You're checking for use_ps() in the state_blend handler, in this case you'll have to make sure that a pixel shader change updates this. However, I suspect that the pixel shader does not have any effect on blending and the flag's name is a red herring. Can you write a test testing blending on formats that do not support post pixel shader blending?