Bugzilla – Bug 360
EXT_framebuffer_sRGB missed LogicOp interaction; so does core
Last modified: 2010-09-17 11:54:24 PDT
Created attachment 55 [details]
logic-op updated EXT_framebuffer_sRGB specification
The EXT_framebuffer_sRGB specification missed specifying the proper interaction with glLogicOp consistent with precedent.
The precedent set by ARB_color_buffer_float and prior extensions that introduced floating-point color components to OpenGL is that the bit-wise LogicOp doesn't make sense when the color value is not a fixed-point value.
So these specifications (and now the core) say if the logic op is enabled and you are rendering to such a buffer, the logic op "has no effect".
When a framebuffer is rendered as sRGB, like floating-point, a bit-wise operation does make good sense.
This precedent should be applied whenever the destination color format is not a simple fixed-point format.
Alex Eddy and Chris Niederauer @ Apple first raised this issue.
I'm attaching an updated EXT_framebuffer_sRGB specification.
Also see the related Khronos bug 359.