llvmpipe: clamp inputs for srgb render buffers
authorRoland Scheidegger <sroland@vmware.com>
Thu, 18 Jul 2013 00:10:27 +0000 (02:10 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Thu, 18 Jul 2013 17:04:20 +0000 (19:04 +0200)
commit4ef19f7fecbd96169e2b9039afc0168c7c2704cd
tree6e1524a660d9db16db44b2a10cd933e586723ae1
parente57b98bad33b13ba02b11144709dd09af2ea8c95
llvmpipe: clamp inputs for srgb render buffers

Usually with fixed point renderbuffers clamping is done as part of conversion.
However, since we blend in float format, we essentially skip all conversion
steps pre-blend but since this is still a fixed point renderbuffer we must
still clamp the inputs in this case. Makes no difference for piglit though.
Obviously we could skip this if fragment color clamping is enabled, but a)
this is deprecated in OpenGL (d3d never had it) and b) we don't support it
natively so it gets baked into the shader.
Also add some comment about logic ops being broken for srgb, luckily no test
tries to do that as there's no easy fix...

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
src/gallium/drivers/llvmpipe/lp_state_fs.c