From a79b2aebf5fcd3027f45358a73f78b6d5b1b9d51 Mon Sep 17 00:00:00 2001 From: Kelsey Gilbert Date: Wed, 3 Apr 2024 17:01:28 -0700 Subject: [PATCH] [webgl2 spec] "shader-output-incompatible" draw buffer validation. (#3626) * [webgl2 spec] "shader-output-incompatible" draw buffer validation. Fixes #3623. --- specs/latest/2.0/index.html | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/specs/latest/2.0/index.html b/specs/latest/2.0/index.html index af8f81134..b7c2c0a91 100644 --- a/specs/latest/2.0/index.html +++ b/specs/latest/2.0/index.html @@ -3720,16 +3720,26 @@

Draw Buffers

- 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 - 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: +

No Program Binaries