From a79b2aebf5fcd3027f45358a73f78b6d5b1b9d51 Mon Sep 17 00:00:00 2001
From: Kelsey Gilbert
- If the values written by the fragment shader do not match the format(s) of the corresponding
- color buffer(s) (for example, the output variable is an integer, but the corresponding color
- buffer has a floating-point format, or vice versa), and the color buffer states are not set to
- Draw Buffers
NONE
by DrawBuffers
, draws generate an INVALID_OPERATION
error;
- if the color buffer states are set to NONE
by DrawBuffers
, they remain untouched.
+ A draw buffer is "shader-output-incompatible" with a fragment shader if:
+
+
- If any draw buffer with an attachment does not have a defined fragment shader output, draws
- generate INVALID_OPERATION
, unless all 4 channels of colorMask
are set to false.
+ If any draw buffers are "shader-output-incompatible", draws generate INVALID_OPERATION
if:
+
colorMask
is set to trueDRAW_BUFFERi
of DRAW_FRAMEBUFFER
that is "shader-output-incompatible":
+ DRAW_BUFFERi
is not NONE
colorMaski
(from e.g. OES_draw_buffers_indexed) is set to true.