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.
Registry has been updated internally and will push the changed EXT
spec to the webserver soon. We're just getting around to cleaning up
public bugs and this was overlooked for some time.