From f9e3569aa41e960ee4d6a4ad43929a324e292032 Mon Sep 17 00:00:00 2001 From: Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> Date: Fri, 30 Jun 2023 02:49:27 +0400 Subject: [PATCH] Proposal: EXT_conservative_depth (#3549) --- .../EXT_conservative_depth/extension.xml | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 extensions/proposals/EXT_conservative_depth/extension.xml diff --git a/extensions/proposals/EXT_conservative_depth/extension.xml b/extensions/proposals/EXT_conservative_depth/extension.xml new file mode 100644 index 000000000..fbabd0087 --- /dev/null +++ b/extensions/proposals/EXT_conservative_depth/extension.xml @@ -0,0 +1,63 @@ + + + EXT_conservative_depth + + WebGL + working group (public_webgl 'at' khronos.org) + + + Members of the WebGL working group + + + NN + + + + + + + + + The depth_unchanged layout qualifier is not supported. + + + If the final value of gl_FragDepth is inconsistent with its layout qualifier, + implementations may enforce consistency by clamping it to the value of gl_FragCoord.z. + + + + + + + The gl_FragDepth built-in output variable may be redeclared with a depth layout qualifier. + + + + + + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_conservative_depth { +}; + + + +
+    #ifdef GL_EXT_conservative_depth
+      #extension GL_EXT_conservative_depth : enable
+      layout (depth_greater) out float gl_FragDepth;
+    #endif
+
+    void main() {
+        // Assign to gl_FragDepth as usual
+    }
+    
+
+ + + + Initial Draft. + + +