From a7164346f4d793c67aad5a485f8194007f3aec3b Mon Sep 17 00:00:00 2001 From: Pete LePage Date: Tue, 13 Aug 2024 14:27:48 -0400 Subject: [PATCH 1/5] Add WebGL1 Canvas Context --- .../draft/spec/webgl-color-buffer-float.yml | 6 - .../spec/webgl-compressed-texture-etc.yml | 6 - .../webgl-compressed-texture-etc.yml.dist | 14 - .../spec/webgl-compressed-texture-etc1.yml | 6 - .../webgl-compressed-texture-etc1.yml.dist | 14 - .../draft/spec/webgl-debug-renderer-info.yml | 6 - .../spec/webgl-debug-renderer-info.yml.dist | 17 -- features/draft/spec/webgl-debug-shaders.yml | 7 - .../draft/spec/webgl-debug-shaders.yml.dist | 18 -- features/draft/spec/webgl-depth-texture.yml | 6 - .../draft/spec/webgl-depth-texture.yml.dist | 17 -- features/draft/spec/webgl-draw-buffers.yml | 7 - .../draft/spec/webgl-draw-buffers.yml.dist | 14 - features/draft/spec/webgl-lose-context.yml | 8 - .../draft/spec/webgl-lose-context.yml.dist | 19 -- features/draft/spec/webgl-multi-draw.yml | 10 - features/draft/spec/webgl-multi-draw.yml.dist | 17 -- features/webgl-color-buffer-float.yml | 6 + .../webgl-color-buffer-float.yml.dist | 0 .../webgl-compressed-texture-astc.yml | 6 +- .../webgl-compressed-texture-astc.yml.dist | 0 features/webgl-compressed-texture-etc.yml | 9 + .../webgl-compressed-texture-etc.yml.dist | 33 +++ .../webgl-compressed-texture-s3tc-srgb.yml | 4 +- ...ebgl-compressed-texture-s3tc-srgb.yml.dist | 0 .../webgl-compressed-texture-s3tc.yml | 4 +- .../webgl-compressed-texture-s3tc.yml.dist | 0 features/webgl-context-colorspace.yml | 9 + features/webgl-context-colorspace.yml.dist | 29 ++ features/webgl-context-desynchronized.yml | 6 + .../webgl-context-desynchronized.yml.dist | 11 + features/{draft/spec/webgl1.yml => webgl.yml} | 174 ++---------- .../spec/webgl1.yml.dist => webgl.yml.dist} | 263 +++++------------- 33 files changed, 197 insertions(+), 549 deletions(-) delete mode 100644 features/draft/spec/webgl-color-buffer-float.yml delete mode 100644 features/draft/spec/webgl-compressed-texture-etc.yml delete mode 100644 features/draft/spec/webgl-compressed-texture-etc.yml.dist delete mode 100644 features/draft/spec/webgl-compressed-texture-etc1.yml delete mode 100644 features/draft/spec/webgl-compressed-texture-etc1.yml.dist delete mode 100644 features/draft/spec/webgl-debug-renderer-info.yml delete mode 100644 features/draft/spec/webgl-debug-renderer-info.yml.dist delete mode 100644 features/draft/spec/webgl-debug-shaders.yml delete mode 100644 features/draft/spec/webgl-debug-shaders.yml.dist delete mode 100644 features/draft/spec/webgl-depth-texture.yml delete mode 100644 features/draft/spec/webgl-depth-texture.yml.dist delete mode 100644 features/draft/spec/webgl-draw-buffers.yml delete mode 100644 features/draft/spec/webgl-draw-buffers.yml.dist delete mode 100644 features/draft/spec/webgl-lose-context.yml delete mode 100644 features/draft/spec/webgl-lose-context.yml.dist delete mode 100644 features/draft/spec/webgl-multi-draw.yml delete mode 100644 features/draft/spec/webgl-multi-draw.yml.dist create mode 100644 features/webgl-color-buffer-float.yml rename features/{draft/spec => }/webgl-color-buffer-float.yml.dist (100%) rename features/{draft/spec => }/webgl-compressed-texture-astc.yml (51%) rename features/{draft/spec => }/webgl-compressed-texture-astc.yml.dist (100%) create mode 100644 features/webgl-compressed-texture-etc.yml create mode 100644 features/webgl-compressed-texture-etc.yml.dist rename features/{draft/spec => }/webgl-compressed-texture-s3tc-srgb.yml (63%) rename features/{draft/spec => }/webgl-compressed-texture-s3tc-srgb.yml.dist (100%) rename features/{draft/spec => }/webgl-compressed-texture-s3tc.yml (61%) rename features/{draft/spec => }/webgl-compressed-texture-s3tc.yml.dist (100%) create mode 100644 features/webgl-context-colorspace.yml create mode 100644 features/webgl-context-colorspace.yml.dist create mode 100644 features/webgl-context-desynchronized.yml create mode 100644 features/webgl-context-desynchronized.yml.dist rename features/{draft/spec/webgl1.yml => webgl.yml} (50%) rename features/{draft/spec/webgl1.yml.dist => webgl.yml.dist} (54%) diff --git a/features/draft/spec/webgl-color-buffer-float.yml b/features/draft/spec/webgl-color-buffer-float.yml deleted file mode 100644 index 009c90d1fd3..00000000000 --- a/features/draft/spec/webgl-color-buffer-float.yml +++ /dev/null @@ -1,6 +0,0 @@ -draft_date: 2024-08-12 -name: WebGL WEBGL_color_buffer_float Extension Specification -description: TODO -spec: https://registry.khronos.org/webgl/extensions/WEBGL_color_buffer_float/ -compat_features: - - api.WEBGL_color_buffer_float diff --git a/features/draft/spec/webgl-compressed-texture-etc.yml b/features/draft/spec/webgl-compressed-texture-etc.yml deleted file mode 100644 index 581ad4146b0..00000000000 --- a/features/draft/spec/webgl-compressed-texture-etc.yml +++ /dev/null @@ -1,6 +0,0 @@ -draft_date: 2024-08-12 -name: WebGL WEBGL_compressed_texture_etc Extension Specification -description: TODO -spec: https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_etc/ -compat_features: - - api.WEBGL_compressed_texture_etc diff --git a/features/draft/spec/webgl-compressed-texture-etc.yml.dist b/features/draft/spec/webgl-compressed-texture-etc.yml.dist deleted file mode 100644 index c3c2514126a..00000000000 --- a/features/draft/spec/webgl-compressed-texture-etc.yml.dist +++ /dev/null @@ -1,14 +0,0 @@ -# Generated from: webgl-compressed-texture-etc.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: - chrome: "63" - chrome_android: "63" - edge: "79" - firefox_android: "51" - safari: "13.1" - safari_ios: "13.4" -compat_features: - - api.WEBGL_compressed_texture_etc diff --git a/features/draft/spec/webgl-compressed-texture-etc1.yml b/features/draft/spec/webgl-compressed-texture-etc1.yml deleted file mode 100644 index 4a96c05bef9..00000000000 --- a/features/draft/spec/webgl-compressed-texture-etc1.yml +++ /dev/null @@ -1,6 +0,0 @@ -draft_date: 2024-08-12 -name: WebGL WEBGL_compressed_texture_etc1 Extension Specification -description: TODO -spec: https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_etc1/ -compat_features: - - api.WEBGL_compressed_texture_etc1 diff --git a/features/draft/spec/webgl-compressed-texture-etc1.yml.dist b/features/draft/spec/webgl-compressed-texture-etc1.yml.dist deleted file mode 100644 index a6babe3ce08..00000000000 --- a/features/draft/spec/webgl-compressed-texture-etc1.yml.dist +++ /dev/null @@ -1,14 +0,0 @@ -# Generated from: webgl-compressed-texture-etc1.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: - chrome: "49" - chrome_android: "49" - edge: "79" - firefox_android: "30" - safari: "13.1" - safari_ios: "13.4" -compat_features: - - api.WEBGL_compressed_texture_etc1 diff --git a/features/draft/spec/webgl-debug-renderer-info.yml b/features/draft/spec/webgl-debug-renderer-info.yml deleted file mode 100644 index 7883f17ea7c..00000000000 --- a/features/draft/spec/webgl-debug-renderer-info.yml +++ /dev/null @@ -1,6 +0,0 @@ -draft_date: 2024-08-12 -name: WebGL WEBGL_debug_renderer_info Khronos Ratified Extension Specification -description: TODO -spec: https://registry.khronos.org/webgl/extensions/WEBGL_debug_renderer_info/ -compat_features: - - api.WEBGL_debug_renderer_info diff --git a/features/draft/spec/webgl-debug-renderer-info.yml.dist b/features/draft/spec/webgl-debug-renderer-info.yml.dist deleted file mode 100644 index 8465fe549ad..00000000000 --- a/features/draft/spec/webgl-debug-renderer-info.yml.dist +++ /dev/null @@ -1,17 +0,0 @@ -# Generated from: webgl-debug-renderer-info.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: high - baseline_low_date: 2017-04-19 - baseline_high_date: 2019-10-19 - support: - chrome: "33" - chrome_android: "33" - edge: "12" - firefox: "53" - firefox_android: "53" - safari: "9.1" - safari_ios: "9.3" -compat_features: - - api.WEBGL_debug_renderer_info diff --git a/features/draft/spec/webgl-debug-shaders.yml b/features/draft/spec/webgl-debug-shaders.yml deleted file mode 100644 index 5c5cdabdd9b..00000000000 --- a/features/draft/spec/webgl-debug-shaders.yml +++ /dev/null @@ -1,7 +0,0 @@ -draft_date: 2024-08-12 -name: WebGL WEBGL_debug_shaders Khronos Ratified Extension Specification -description: TODO -spec: https://registry.khronos.org/webgl/extensions/WEBGL_debug_shaders/ -compat_features: - - api.WEBGL_debug_shaders - - api.WEBGL_debug_shaders.getTranslatedShaderSource diff --git a/features/draft/spec/webgl-debug-shaders.yml.dist b/features/draft/spec/webgl-debug-shaders.yml.dist deleted file mode 100644 index d4e4afb8e78..00000000000 --- a/features/draft/spec/webgl-debug-shaders.yml.dist +++ /dev/null @@ -1,18 +0,0 @@ -# Generated from: webgl-debug-shaders.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: high - baseline_low_date: 2020-09-16 - baseline_high_date: 2023-03-16 - support: - chrome: "47" - chrome_android: "47" - edge: "79" - firefox: "56" - firefox_android: "56" - safari: "14" - safari_ios: "14" -compat_features: - - api.WEBGL_debug_shaders - - api.WEBGL_debug_shaders.getTranslatedShaderSource diff --git a/features/draft/spec/webgl-depth-texture.yml b/features/draft/spec/webgl-depth-texture.yml deleted file mode 100644 index e5ab364ca8b..00000000000 --- a/features/draft/spec/webgl-depth-texture.yml +++ /dev/null @@ -1,6 +0,0 @@ -draft_date: 2024-08-12 -name: WebGL WEBGL_depth_texture Khronos Ratified Extension Specification -description: TODO -spec: https://registry.khronos.org/webgl/extensions/WEBGL_depth_texture/ -compat_features: - - api.WEBGL_depth_texture diff --git a/features/draft/spec/webgl-depth-texture.yml.dist b/features/draft/spec/webgl-depth-texture.yml.dist deleted file mode 100644 index 6a6ea65be89..00000000000 --- a/features/draft/spec/webgl-depth-texture.yml.dist +++ /dev/null @@ -1,17 +0,0 @@ -# Generated from: webgl-depth-texture.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: high - baseline_low_date: 2015-07-29 - baseline_high_date: 2018-01-29 - support: - chrome: "26" - chrome_android: "26" - edge: "12" - firefox: "22" - firefox_android: "22" - safari: "8" - safari_ios: "8" -compat_features: - - api.WEBGL_depth_texture diff --git a/features/draft/spec/webgl-draw-buffers.yml b/features/draft/spec/webgl-draw-buffers.yml deleted file mode 100644 index c0d9d1acce7..00000000000 --- a/features/draft/spec/webgl-draw-buffers.yml +++ /dev/null @@ -1,7 +0,0 @@ -draft_date: 2024-08-12 -name: WebGL WEBGL_draw_buffers Khronos Ratified Extension Specification -description: TODO -spec: https://registry.khronos.org/webgl/extensions/WEBGL_draw_buffers/ -compat_features: - - api.WEBGL_draw_buffers - - api.WEBGL_draw_buffers.drawBuffersWEBGL diff --git a/features/draft/spec/webgl-draw-buffers.yml.dist b/features/draft/spec/webgl-draw-buffers.yml.dist deleted file mode 100644 index bc1075658a8..00000000000 --- a/features/draft/spec/webgl-draw-buffers.yml.dist +++ /dev/null @@ -1,14 +0,0 @@ -# Generated from: webgl-draw-buffers.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: - chrome: "36" - edge: "17" - firefox: "28" - safari: "9" - safari_ios: "15" -compat_features: - - api.WEBGL_draw_buffers - - api.WEBGL_draw_buffers.drawBuffersWEBGL diff --git a/features/draft/spec/webgl-lose-context.yml b/features/draft/spec/webgl-lose-context.yml deleted file mode 100644 index b65efeb83a0..00000000000 --- a/features/draft/spec/webgl-lose-context.yml +++ /dev/null @@ -1,8 +0,0 @@ -draft_date: 2024-08-12 -name: WebGL WEBGL_lose_context Khronos Ratified Extension Specification -description: TODO -spec: https://registry.khronos.org/webgl/extensions/WEBGL_lose_context/ -compat_features: - - api.WEBGL_lose_context - - api.WEBGL_lose_context.loseContext - - api.WEBGL_lose_context.restoreContext diff --git a/features/draft/spec/webgl-lose-context.yml.dist b/features/draft/spec/webgl-lose-context.yml.dist deleted file mode 100644 index 1383db7c403..00000000000 --- a/features/draft/spec/webgl-lose-context.yml.dist +++ /dev/null @@ -1,19 +0,0 @@ -# Generated from: webgl-lose-context.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: high - baseline_low_date: 2018-04-30 - baseline_high_date: 2020-10-30 - support: - chrome: "26" - chrome_android: "26" - edge: "17" - firefox: "22" - firefox_android: "22" - safari: "8" - safari_ios: "8" -compat_features: - - api.WEBGL_lose_context - - api.WEBGL_lose_context.loseContext - - api.WEBGL_lose_context.restoreContext diff --git a/features/draft/spec/webgl-multi-draw.yml b/features/draft/spec/webgl-multi-draw.yml deleted file mode 100644 index 6b272c47032..00000000000 --- a/features/draft/spec/webgl-multi-draw.yml +++ /dev/null @@ -1,10 +0,0 @@ -draft_date: 2024-08-12 -name: WebGL WEBGL_multi_draw Extension Specification -description: TODO -spec: https://registry.khronos.org/webgl/extensions/WEBGL_multi_draw/ -compat_features: - - api.WEBGL_multi_draw - - api.WEBGL_multi_draw.multiDrawArraysInstancedWEBGL - - api.WEBGL_multi_draw.multiDrawArraysWEBGL - - api.WEBGL_multi_draw.multiDrawElementsInstancedWEBGL - - api.WEBGL_multi_draw.multiDrawElementsWEBGL diff --git a/features/draft/spec/webgl-multi-draw.yml.dist b/features/draft/spec/webgl-multi-draw.yml.dist deleted file mode 100644 index 77e188c43c7..00000000000 --- a/features/draft/spec/webgl-multi-draw.yml.dist +++ /dev/null @@ -1,17 +0,0 @@ -# Generated from: webgl-multi-draw.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: - chrome: "86" - chrome_android: "86" - edge: "86" - safari: "15" - safari_ios: "15" -compat_features: - - api.WEBGL_multi_draw - - api.WEBGL_multi_draw.multiDrawArraysInstancedWEBGL - - api.WEBGL_multi_draw.multiDrawArraysWEBGL - - api.WEBGL_multi_draw.multiDrawElementsInstancedWEBGL - - api.WEBGL_multi_draw.multiDrawElementsWEBGL diff --git a/features/webgl-color-buffer-float.yml b/features/webgl-color-buffer-float.yml new file mode 100644 index 00000000000..79c9ac6297d --- /dev/null +++ b/features/webgl-color-buffer-float.yml @@ -0,0 +1,6 @@ +name: WebGL 32-bit floating-point color buffers +description: Support for rendering to 32-bit floating-point color buffers +spec: https://registry.khronos.org/webgl/extensions/WEBGL_color_buffer_float/ +group: webgl +compat_features: + - api.WEBGL_color_buffer_float diff --git a/features/draft/spec/webgl-color-buffer-float.yml.dist b/features/webgl-color-buffer-float.yml.dist similarity index 100% rename from features/draft/spec/webgl-color-buffer-float.yml.dist rename to features/webgl-color-buffer-float.yml.dist diff --git a/features/draft/spec/webgl-compressed-texture-astc.yml b/features/webgl-compressed-texture-astc.yml similarity index 51% rename from features/draft/spec/webgl-compressed-texture-astc.yml rename to features/webgl-compressed-texture-astc.yml index d0ec6d22942..c73c3f06c2b 100644 --- a/features/draft/spec/webgl-compressed-texture-astc.yml +++ b/features/webgl-compressed-texture-astc.yml @@ -1,7 +1,7 @@ -draft_date: 2024-08-12 -name: WebGL WEBGL_compressed_texture_astc Extension Specification -description: TODO +name: WebGL compressed ASTC textures +description: Allows ASTC textures encoded using either high or low dynamic range, corresponding to an "HDR profile" and "LDR profile". spec: https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_astc/ +group: webgl compat_features: - api.WEBGL_compressed_texture_astc - api.WEBGL_compressed_texture_astc.getSupportedProfiles diff --git a/features/draft/spec/webgl-compressed-texture-astc.yml.dist b/features/webgl-compressed-texture-astc.yml.dist similarity index 100% rename from features/draft/spec/webgl-compressed-texture-astc.yml.dist rename to features/webgl-compressed-texture-astc.yml.dist diff --git a/features/webgl-compressed-texture-etc.yml b/features/webgl-compressed-texture-etc.yml new file mode 100644 index 00000000000..81580f211f9 --- /dev/null +++ b/features/webgl-compressed-texture-etc.yml @@ -0,0 +1,9 @@ +name: WebGL compressed ETC texture support +description: Exposes the compressed texture formats EAC, ETC1, and ETC2. +spec: + - https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_etc/ + - https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_etc1/ +group: webgl +compat_features: + - api.WEBGL_compressed_texture_etc + - api.WEBGL_compressed_texture_etc1 diff --git a/features/webgl-compressed-texture-etc.yml.dist b/features/webgl-compressed-texture-etc.yml.dist new file mode 100644 index 00000000000..8c0f99671c9 --- /dev/null +++ b/features/webgl-compressed-texture-etc.yml.dist @@ -0,0 +1,33 @@ +# Generated from: webgl-compressed-texture-etc.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "63" + chrome_android: "63" + edge: "79" + firefox_android: "51" + safari: "13.1" + safari_ios: "13.4" +compat_features: + # baseline: false + # support: + # chrome: "49" + # chrome_android: "49" + # edge: "79" + # firefox_android: "30" + # safari: "13.1" + # safari_ios: "13.4" + - api.WEBGL_compressed_texture_etc1 + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # chrome: "63" + # chrome_android: "63" + # edge: "79" + # firefox_android: "51" + # safari: "13.1" + # safari_ios: "13.4" + - api.WEBGL_compressed_texture_etc diff --git a/features/draft/spec/webgl-compressed-texture-s3tc-srgb.yml b/features/webgl-compressed-texture-s3tc-srgb.yml similarity index 63% rename from features/draft/spec/webgl-compressed-texture-s3tc-srgb.yml rename to features/webgl-compressed-texture-s3tc-srgb.yml index 5212bce881a..d791cf73d3f 100644 --- a/features/draft/spec/webgl-compressed-texture-s3tc-srgb.yml +++ b/features/webgl-compressed-texture-s3tc-srgb.yml @@ -1,6 +1,6 @@ -draft_date: 2024-08-12 name: WebGL WEBGL_compressed_texture_s3tc_srgb Extension Specification -description: TODO +description: Exposes the sRGB compressed texture formats defined in the EXT_texture_compression_s3tc_srgb spec. spec: https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_s3tc_srgb/ +group: webgl compat_features: - api.WEBGL_compressed_texture_s3tc_srgb diff --git a/features/draft/spec/webgl-compressed-texture-s3tc-srgb.yml.dist b/features/webgl-compressed-texture-s3tc-srgb.yml.dist similarity index 100% rename from features/draft/spec/webgl-compressed-texture-s3tc-srgb.yml.dist rename to features/webgl-compressed-texture-s3tc-srgb.yml.dist diff --git a/features/draft/spec/webgl-compressed-texture-s3tc.yml b/features/webgl-compressed-texture-s3tc.yml similarity index 61% rename from features/draft/spec/webgl-compressed-texture-s3tc.yml rename to features/webgl-compressed-texture-s3tc.yml index c9a4c29d2e8..30ee580c8b2 100644 --- a/features/draft/spec/webgl-compressed-texture-s3tc.yml +++ b/features/webgl-compressed-texture-s3tc.yml @@ -1,6 +1,6 @@ -draft_date: 2024-08-12 name: WebGL WEBGL_compressed_texture_s3tc Khronos Ratified Extension Specification -description: TODO +description: Exposes the compressed texture formats defined in the EXT_texture_compression_s3tc OpenGL extension to WebGL. spec: https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_s3tc/ +group: webgl compat_features: - api.WEBGL_compressed_texture_s3tc diff --git a/features/draft/spec/webgl-compressed-texture-s3tc.yml.dist b/features/webgl-compressed-texture-s3tc.yml.dist similarity index 100% rename from features/draft/spec/webgl-compressed-texture-s3tc.yml.dist rename to features/webgl-compressed-texture-s3tc.yml.dist diff --git a/features/webgl-context-colorspace.yml b/features/webgl-context-colorspace.yml new file mode 100644 index 00000000000..a99e69b9db9 --- /dev/null +++ b/features/webgl-context-colorspace.yml @@ -0,0 +1,9 @@ +name: Color management for WebGL +description: Specifies the color space to be used for the context. +spec: + - https://registry.khronos.org/webgl/specs/latest/1.0/#DOM-WebGLRenderingContext-drawingBufferColorSpace + - https://registry.khronos.org/webgl/specs/latest/1.0/#DOM-WebGLRenderingContext-unpackColorSpace +group: webgl +compat_features: + - api.WebGLRenderingContext.drawingBufferColorSpace + - api.WebGLRenderingContext.unpackColorSpace diff --git a/features/webgl-context-colorspace.yml.dist b/features/webgl-context-colorspace.yml.dist new file mode 100644 index 00000000000..af2978d1fca --- /dev/null +++ b/features/webgl-context-colorspace.yml.dist @@ -0,0 +1,29 @@ +# Generated from: webgl-context-colorspace.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "104" + chrome_android: "104" + edge: "104" +compat_features: + # baseline: low + # baseline_low_date: 2024-06-11 + # support: + # chrome: "104" + # chrome_android: "104" + # edge: "104" + # firefox: "127" + # firefox_android: "127" + # safari: "16.4" + # safari_ios: "16.4" + - api.WebGLRenderingContext.drawingBufferColorSpace + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # chrome: "104" + # chrome_android: "104" + # edge: "104" + - api.WebGLRenderingContext.unpackColorSpace diff --git a/features/webgl-context-desynchronized.yml b/features/webgl-context-desynchronized.yml new file mode 100644 index 00000000000..96abc94e822 --- /dev/null +++ b/features/webgl-context-desynchronized.yml @@ -0,0 +1,6 @@ +name: Desynchronized WebGL +description: Reduces latency by desynchronizing the canvas paint cycle from the event loop.. +spec: https://registry.khronos.org/webgl/specs/latest/1.0/#5.2.1 +group: webgl +compat_features: + - api.HTMLCanvasElement.getContext.webgl_context.options_desynchronized_parameter diff --git a/features/webgl-context-desynchronized.yml.dist b/features/webgl-context-desynchronized.yml.dist new file mode 100644 index 00000000000..219812ed98f --- /dev/null +++ b/features/webgl-context-desynchronized.yml.dist @@ -0,0 +1,11 @@ +# Generated from: webgl-context-desynchronized.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "81" + chrome_android: "75" + edge: "79" +compat_features: + - api.HTMLCanvasElement.getContext.webgl_context.options_desynchronized_parameter diff --git a/features/draft/spec/webgl1.yml b/features/webgl.yml similarity index 50% rename from features/draft/spec/webgl1.yml rename to features/webgl.yml index 18662a3828f..98bff401815 100644 --- a/features/draft/spec/webgl1.yml +++ b/features/webgl.yml @@ -1,170 +1,38 @@ -draft_date: 2024-08-12 -name: WebGL Specification -description: TODO +name: WebGL 2D and 3D Graphics +description: WebGL is a JavaScript API for rendering high-performance interactive 3D and 2D graphics that can be used in the `` element. spec: https://registry.khronos.org/webgl/specs/latest/1.0/ +group: webgl +# status: +# compute_from: api.WebGLRenderingContext compat_features: - - api.HTMLCanvasElement.getContext.webgl2_context.options_alpha_parameter - - api.HTMLCanvasElement.getContext.webgl2_context.options_desynchronized_parameter - - api.HTMLCanvasElement.getContext.webgl2_context.options_failIfMajorPerformanceCaveat_parameter - - api.HTMLCanvasElement.getContext.webgl2_context.options_powerPreference_parameter - api.HTMLCanvasElement.getContext.webgl_context.options_alpha_parameter - - api.HTMLCanvasElement.getContext.webgl_context.options_desynchronized_parameter - api.HTMLCanvasElement.getContext.webgl_context.options_failIfMajorPerformanceCaveat_parameter - api.HTMLCanvasElement.getContext.webgl_context.options_powerPreference_parameter - api.HTMLCanvasElement.webglcontextcreationerror_event - api.HTMLCanvasElement.webglcontextlost_event - api.HTMLCanvasElement.webglcontextrestored_event - - api.WebGL2RenderingContext.activeTexture - - api.WebGL2RenderingContext.attachShader - - api.WebGL2RenderingContext.bindAttribLocation - - api.WebGL2RenderingContext.bindBuffer - - api.WebGL2RenderingContext.bindFramebuffer - - api.WebGL2RenderingContext.bindRenderbuffer - - api.WebGL2RenderingContext.bindTexture - - api.WebGL2RenderingContext.blendColor - - api.WebGL2RenderingContext.blendEquation - - api.WebGL2RenderingContext.blendEquationSeparate - - api.WebGL2RenderingContext.blendFunc - - api.WebGL2RenderingContext.blendFuncSeparate - - api.WebGL2RenderingContext.bufferData - - api.WebGL2RenderingContext.bufferSubData - - api.WebGL2RenderingContext.canvas - - api.WebGL2RenderingContext.checkFramebufferStatus - - api.WebGL2RenderingContext.clear - - api.WebGL2RenderingContext.clearColor - - api.WebGL2RenderingContext.clearDepth - - api.WebGL2RenderingContext.clearStencil - - api.WebGL2RenderingContext.colorMask - - api.WebGL2RenderingContext.compileShader - - api.WebGL2RenderingContext.compressedTexImage2D - - api.WebGL2RenderingContext.compressedTexSubImage2D - - api.WebGL2RenderingContext.copyTexImage2D - - api.WebGL2RenderingContext.copyTexSubImage2D - - api.WebGL2RenderingContext.createBuffer - - api.WebGL2RenderingContext.createFramebuffer - - api.WebGL2RenderingContext.createProgram - - api.WebGL2RenderingContext.createRenderbuffer - - api.WebGL2RenderingContext.createShader - - api.WebGL2RenderingContext.createTexture - - api.WebGL2RenderingContext.cullFace - - api.WebGL2RenderingContext.deleteBuffer - - api.WebGL2RenderingContext.deleteFramebuffer - - api.WebGL2RenderingContext.deleteProgram - - api.WebGL2RenderingContext.deleteRenderbuffer - - api.WebGL2RenderingContext.deleteShader - - api.WebGL2RenderingContext.deleteTexture - - api.WebGL2RenderingContext.depthFunc - - api.WebGL2RenderingContext.depthMask - - api.WebGL2RenderingContext.depthRange - - api.WebGL2RenderingContext.detachShader - - api.WebGL2RenderingContext.disable - - api.WebGL2RenderingContext.disableVertexAttribArray - - api.WebGL2RenderingContext.drawArrays - - api.WebGL2RenderingContext.drawElements - - api.WebGL2RenderingContext.drawingBufferColorSpace - - api.WebGL2RenderingContext.drawingBufferFormat - - api.WebGL2RenderingContext.drawingBufferHeight - - api.WebGL2RenderingContext.drawingBufferStorage - - api.WebGL2RenderingContext.drawingBufferWidth - - api.WebGL2RenderingContext.enable - - api.WebGL2RenderingContext.enableVertexAttribArray - - api.WebGL2RenderingContext.finish - - api.WebGL2RenderingContext.flush - - api.WebGL2RenderingContext.framebufferRenderbuffer - - api.WebGL2RenderingContext.framebufferTexture2D - - api.WebGL2RenderingContext.frontFace - - api.WebGL2RenderingContext.generateMipmap - - api.WebGL2RenderingContext.getActiveAttrib - - api.WebGL2RenderingContext.getActiveUniform - - api.WebGL2RenderingContext.getAttachedShaders - - api.WebGL2RenderingContext.getAttribLocation - - api.WebGL2RenderingContext.getBufferParameter - - api.WebGL2RenderingContext.getContextAttributes - - api.WebGL2RenderingContext.getError - - api.WebGL2RenderingContext.getExtension - - api.WebGL2RenderingContext.getFramebufferAttachmentParameter - - api.WebGL2RenderingContext.getParameter - - api.WebGL2RenderingContext.getProgramInfoLog - - api.WebGL2RenderingContext.getProgramParameter - - api.WebGL2RenderingContext.getRenderbufferParameter - - api.WebGL2RenderingContext.getShaderInfoLog - - api.WebGL2RenderingContext.getShaderParameter - - api.WebGL2RenderingContext.getShaderPrecisionFormat - - api.WebGL2RenderingContext.getShaderSource - - api.WebGL2RenderingContext.getSupportedExtensions - - api.WebGL2RenderingContext.getTexParameter - - api.WebGL2RenderingContext.getUniform - - api.WebGL2RenderingContext.getUniformLocation - - api.WebGL2RenderingContext.getVertexAttrib - - api.WebGL2RenderingContext.getVertexAttribOffset - - api.WebGL2RenderingContext.hint - - api.WebGL2RenderingContext.isBuffer - - api.WebGL2RenderingContext.isContextLost - - api.WebGL2RenderingContext.isEnabled - - api.WebGL2RenderingContext.isFramebuffer - - api.WebGL2RenderingContext.isProgram - - api.WebGL2RenderingContext.isRenderbuffer - - api.WebGL2RenderingContext.isShader - - api.WebGL2RenderingContext.isTexture - - api.WebGL2RenderingContext.lineWidth - - api.WebGL2RenderingContext.linkProgram - - api.WebGL2RenderingContext.pixelStorei - - api.WebGL2RenderingContext.polygonOffset - - api.WebGL2RenderingContext.readPixels - - api.WebGL2RenderingContext.renderbufferStorage - - api.WebGL2RenderingContext.sampleCoverage - - api.WebGL2RenderingContext.scissor - - api.WebGL2RenderingContext.shaderSource - - api.WebGL2RenderingContext.stencilFunc - - api.WebGL2RenderingContext.stencilFuncSeparate - - api.WebGL2RenderingContext.stencilMask - - api.WebGL2RenderingContext.stencilMaskSeparate - - api.WebGL2RenderingContext.stencilOp - - api.WebGL2RenderingContext.stencilOpSeparate - - api.WebGL2RenderingContext.texImage2D - - api.WebGL2RenderingContext.texParameterf - - api.WebGL2RenderingContext.texParameteri - - api.WebGL2RenderingContext.texSubImage2D - - api.WebGL2RenderingContext.uniform1f - - api.WebGL2RenderingContext.uniform1fv - - api.WebGL2RenderingContext.uniform1i - - api.WebGL2RenderingContext.uniform1iv - - api.WebGL2RenderingContext.uniform2f - - api.WebGL2RenderingContext.uniform2fv - - api.WebGL2RenderingContext.uniform2i - - api.WebGL2RenderingContext.uniform2iv - - api.WebGL2RenderingContext.uniform3f - - api.WebGL2RenderingContext.uniform3fv - - api.WebGL2RenderingContext.uniform3i - - api.WebGL2RenderingContext.uniform3iv - - api.WebGL2RenderingContext.uniform4f - - api.WebGL2RenderingContext.uniform4fv - - api.WebGL2RenderingContext.uniform4i - - api.WebGL2RenderingContext.uniform4iv - - api.WebGL2RenderingContext.uniformMatrix2fv - - api.WebGL2RenderingContext.uniformMatrix3fv - - api.WebGL2RenderingContext.uniformMatrix4fv - - api.WebGL2RenderingContext.unpackColorSpace - - api.WebGL2RenderingContext.useProgram - - api.WebGL2RenderingContext.validateProgram - - api.WebGL2RenderingContext.vertexAttrib1f - - api.WebGL2RenderingContext.vertexAttrib1fv - - api.WebGL2RenderingContext.vertexAttrib2f - - api.WebGL2RenderingContext.vertexAttrib2fv - - api.WebGL2RenderingContext.vertexAttrib3f - - api.WebGL2RenderingContext.vertexAttrib3fv - - api.WebGL2RenderingContext.vertexAttrib4f - - api.WebGL2RenderingContext.vertexAttrib4fv - - api.WebGL2RenderingContext.vertexAttribPointer - - api.WebGL2RenderingContext.viewport + - api.WEBGL_debug_renderer_info + - api.WEBGL_debug_shaders + - api.WEBGL_debug_shaders.getTranslatedShaderSource + - api.WEBGL_depth_texture + - api.WEBGL_draw_buffers + - api.WEBGL_draw_buffers.drawBuffersWEBGL + - api.WEBGL_lose_context + - api.WEBGL_lose_context.loseContext + - api.WEBGL_lose_context.restoreContext + - api.WEBGL_multi_draw + - api.WEBGL_multi_draw.multiDrawArraysInstancedWEBGL + - api.WEBGL_multi_draw.multiDrawArraysWEBGL + - api.WEBGL_multi_draw.multiDrawElementsInstancedWEBGL + - api.WEBGL_multi_draw.multiDrawElementsWEBGL - api.WebGLActiveInfo - api.WebGLActiveInfo.name - api.WebGLActiveInfo.size - api.WebGLActiveInfo.type - api.WebGLBuffer - api.WebGLContextEvent - - api.WebGLContextEvent.WebGLContextEvent - api.WebGLContextEvent.statusMessage + - api.WebGLContextEvent.WebGLContextEvent - api.WebGLFramebuffer - api.WebGLObject - api.WebGLProgram @@ -217,7 +85,6 @@ compat_features: - api.WebGLRenderingContext.disableVertexAttribArray - api.WebGLRenderingContext.drawArrays - api.WebGLRenderingContext.drawElements - - api.WebGLRenderingContext.drawingBufferColorSpace - api.WebGLRenderingContext.drawingBufferFormat - api.WebGLRenderingContext.drawingBufferHeight - api.WebGLRenderingContext.drawingBufferStorage @@ -300,7 +167,6 @@ compat_features: - api.WebGLRenderingContext.uniformMatrix2fv - api.WebGLRenderingContext.uniformMatrix3fv - api.WebGLRenderingContext.uniformMatrix4fv - - api.WebGLRenderingContext.unpackColorSpace - api.WebGLRenderingContext.useProgram - api.WebGLRenderingContext.validateProgram - api.WebGLRenderingContext.vertexAttrib1f diff --git a/features/draft/spec/webgl1.yml.dist b/features/webgl.yml.dist similarity index 54% rename from features/draft/spec/webgl1.yml.dist rename to features/webgl.yml.dist index 950a2e606ad..8cb95e4165e 100644 --- a/features/draft/spec/webgl1.yml.dist +++ b/features/webgl.yml.dist @@ -1,11 +1,10 @@ -# Generated from: webgl1.yml +# Generated from: webgl.yml # Do not edit this file by hand. Edit the source file instead! status: baseline: false support: chrome: "126" - chrome_android: "126" edge: "126" compat_features: # baseline: high @@ -189,6 +188,19 @@ compat_features: - api.WebGLTexture - api.WebGLUniformLocation + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "26" + # chrome_android: "26" + # edge: "12" + # firefox: "22" + # firefox_android: "22" + # safari: "8" + # safari_ios: "8" + - api.WEBGL_depth_texture + # baseline: high # baseline_low_date: 2016-09-20 # baseline_high_date: 2019-03-20 @@ -217,6 +229,34 @@ compat_features: # safari_ios: "8" - api.WebGLContextEvent.WebGLContextEvent + # baseline: high + # baseline_low_date: 2017-04-19 + # baseline_high_date: 2019-10-19 + # support: + # chrome: "33" + # chrome_android: "33" + # edge: "12" + # firefox: "53" + # firefox_android: "53" + # safari: "9.1" + # safari_ios: "9.3" + - api.WEBGL_debug_renderer_info + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "26" + # chrome_android: "26" + # edge: "17" + # firefox: "22" + # firefox_android: "22" + # safari: "8" + # safari_ios: "8" + - api.WEBGL_lose_context + - api.WEBGL_lose_context.loseContext + - api.WEBGL_lose_context.restoreContext + # baseline: high # baseline_low_date: 2020-01-15 # baseline_high_date: 2022-07-15 @@ -244,182 +284,28 @@ compat_features: - api.HTMLCanvasElement.getContext.webgl_context.options_failIfMajorPerformanceCaveat_parameter # baseline: high - # baseline_low_date: 2021-09-20 - # baseline_high_date: 2024-03-20 + # baseline_low_date: 2020-09-16 + # baseline_high_date: 2023-03-16 # support: - # chrome: "56" - # chrome_android: "56" + # chrome: "47" + # chrome_android: "47" # edge: "79" - # firefox: "51" - # firefox_android: "51" - # safari: "15" - # safari_ios: "15" - - api.HTMLCanvasElement.getContext.webgl2_context.options_alpha_parameter - - api.HTMLCanvasElement.getContext.webgl2_context.options_failIfMajorPerformanceCaveat_parameter + # firefox: "56" + # firefox_android: "56" + # safari: "14" + # safari_ios: "14" + - api.WEBGL_debug_shaders + - api.WEBGL_debug_shaders.getTranslatedShaderSource - # baseline: high - # baseline_low_date: 2021-09-20 - # baseline_high_date: 2024-03-20 + # baseline: false # support: - # chrome: "56" - # chrome_android: "58" - # edge: "79" - # firefox: "51" - # firefox_android: "51" - # safari: "15" + # chrome: "36" + # edge: "17" + # firefox: "28" + # safari: "9" # safari_ios: "15" - - api.WebGL2RenderingContext.activeTexture - - api.WebGL2RenderingContext.attachShader - - api.WebGL2RenderingContext.bindAttribLocation - - api.WebGL2RenderingContext.bindBuffer - - api.WebGL2RenderingContext.bindFramebuffer - - api.WebGL2RenderingContext.bindRenderbuffer - - api.WebGL2RenderingContext.bindTexture - - api.WebGL2RenderingContext.blendColor - - api.WebGL2RenderingContext.blendEquation - - api.WebGL2RenderingContext.blendEquationSeparate - - api.WebGL2RenderingContext.blendFunc - - api.WebGL2RenderingContext.blendFuncSeparate - - api.WebGL2RenderingContext.bufferData - - api.WebGL2RenderingContext.bufferSubData - - api.WebGL2RenderingContext.canvas - - api.WebGL2RenderingContext.checkFramebufferStatus - - api.WebGL2RenderingContext.clear - - api.WebGL2RenderingContext.clearColor - - api.WebGL2RenderingContext.clearDepth - - api.WebGL2RenderingContext.clearStencil - - api.WebGL2RenderingContext.colorMask - - api.WebGL2RenderingContext.compileShader - - api.WebGL2RenderingContext.compressedTexImage2D - - api.WebGL2RenderingContext.compressedTexSubImage2D - - api.WebGL2RenderingContext.copyTexImage2D - - api.WebGL2RenderingContext.copyTexSubImage2D - - api.WebGL2RenderingContext.createBuffer - - api.WebGL2RenderingContext.createFramebuffer - - api.WebGL2RenderingContext.createProgram - - api.WebGL2RenderingContext.createRenderbuffer - - api.WebGL2RenderingContext.createShader - - api.WebGL2RenderingContext.createTexture - - api.WebGL2RenderingContext.cullFace - - api.WebGL2RenderingContext.deleteBuffer - - api.WebGL2RenderingContext.deleteFramebuffer - - api.WebGL2RenderingContext.deleteProgram - - api.WebGL2RenderingContext.deleteRenderbuffer - - api.WebGL2RenderingContext.deleteShader - - api.WebGL2RenderingContext.deleteTexture - - api.WebGL2RenderingContext.depthFunc - - api.WebGL2RenderingContext.depthMask - - api.WebGL2RenderingContext.depthRange - - api.WebGL2RenderingContext.detachShader - - api.WebGL2RenderingContext.disable - - api.WebGL2RenderingContext.disableVertexAttribArray - - api.WebGL2RenderingContext.drawArrays - - api.WebGL2RenderingContext.drawElements - - api.WebGL2RenderingContext.drawingBufferHeight - - api.WebGL2RenderingContext.drawingBufferWidth - - api.WebGL2RenderingContext.enable - - api.WebGL2RenderingContext.enableVertexAttribArray - - api.WebGL2RenderingContext.finish - - api.WebGL2RenderingContext.flush - - api.WebGL2RenderingContext.framebufferRenderbuffer - - api.WebGL2RenderingContext.framebufferTexture2D - - api.WebGL2RenderingContext.frontFace - - api.WebGL2RenderingContext.generateMipmap - - api.WebGL2RenderingContext.getActiveAttrib - - api.WebGL2RenderingContext.getActiveUniform - - api.WebGL2RenderingContext.getAttachedShaders - - api.WebGL2RenderingContext.getAttribLocation - - api.WebGL2RenderingContext.getBufferParameter - - api.WebGL2RenderingContext.getContextAttributes - - api.WebGL2RenderingContext.getError - - api.WebGL2RenderingContext.getExtension - - api.WebGL2RenderingContext.getFramebufferAttachmentParameter - - api.WebGL2RenderingContext.getParameter - - api.WebGL2RenderingContext.getProgramInfoLog - - api.WebGL2RenderingContext.getProgramParameter - - api.WebGL2RenderingContext.getRenderbufferParameter - - api.WebGL2RenderingContext.getShaderInfoLog - - api.WebGL2RenderingContext.getShaderParameter - - api.WebGL2RenderingContext.getShaderPrecisionFormat - - api.WebGL2RenderingContext.getShaderSource - - api.WebGL2RenderingContext.getSupportedExtensions - - api.WebGL2RenderingContext.getTexParameter - - api.WebGL2RenderingContext.getUniform - - api.WebGL2RenderingContext.getUniformLocation - - api.WebGL2RenderingContext.getVertexAttrib - - api.WebGL2RenderingContext.getVertexAttribOffset - - api.WebGL2RenderingContext.hint - - api.WebGL2RenderingContext.isBuffer - - api.WebGL2RenderingContext.isContextLost - - api.WebGL2RenderingContext.isEnabled - - api.WebGL2RenderingContext.isFramebuffer - - api.WebGL2RenderingContext.isProgram - - api.WebGL2RenderingContext.isRenderbuffer - - api.WebGL2RenderingContext.isShader - - api.WebGL2RenderingContext.isTexture - - api.WebGL2RenderingContext.lineWidth - - api.WebGL2RenderingContext.linkProgram - - api.WebGL2RenderingContext.pixelStorei - - api.WebGL2RenderingContext.polygonOffset - - api.WebGL2RenderingContext.readPixels - - api.WebGL2RenderingContext.renderbufferStorage - - api.WebGL2RenderingContext.sampleCoverage - - api.WebGL2RenderingContext.scissor - - api.WebGL2RenderingContext.shaderSource - - api.WebGL2RenderingContext.stencilFunc - - api.WebGL2RenderingContext.stencilFuncSeparate - - api.WebGL2RenderingContext.stencilMask - - api.WebGL2RenderingContext.stencilMaskSeparate - - api.WebGL2RenderingContext.stencilOp - - api.WebGL2RenderingContext.stencilOpSeparate - - api.WebGL2RenderingContext.texImage2D - - api.WebGL2RenderingContext.texParameterf - - api.WebGL2RenderingContext.texParameteri - - api.WebGL2RenderingContext.texSubImage2D - - api.WebGL2RenderingContext.uniform1f - - api.WebGL2RenderingContext.uniform1fv - - api.WebGL2RenderingContext.uniform1i - - api.WebGL2RenderingContext.uniform1iv - - api.WebGL2RenderingContext.uniform2f - - api.WebGL2RenderingContext.uniform2fv - - api.WebGL2RenderingContext.uniform2i - - api.WebGL2RenderingContext.uniform2iv - - api.WebGL2RenderingContext.uniform3f - - api.WebGL2RenderingContext.uniform3fv - - api.WebGL2RenderingContext.uniform3i - - api.WebGL2RenderingContext.uniform3iv - - api.WebGL2RenderingContext.uniform4f - - api.WebGL2RenderingContext.uniform4fv - - api.WebGL2RenderingContext.uniform4i - - api.WebGL2RenderingContext.uniform4iv - - api.WebGL2RenderingContext.uniformMatrix2fv - - api.WebGL2RenderingContext.uniformMatrix3fv - - api.WebGL2RenderingContext.uniformMatrix4fv - - api.WebGL2RenderingContext.useProgram - - api.WebGL2RenderingContext.validateProgram - - api.WebGL2RenderingContext.vertexAttrib1f - - api.WebGL2RenderingContext.vertexAttrib1fv - - api.WebGL2RenderingContext.vertexAttrib2f - - api.WebGL2RenderingContext.vertexAttrib2fv - - api.WebGL2RenderingContext.vertexAttrib3f - - api.WebGL2RenderingContext.vertexAttrib3fv - - api.WebGL2RenderingContext.vertexAttrib4f - - api.WebGL2RenderingContext.vertexAttrib4fv - - api.WebGL2RenderingContext.vertexAttribPointer - - api.WebGL2RenderingContext.viewport - - # baseline: low - # baseline_low_date: 2024-06-11 - # support: - # chrome: "104" - # chrome_android: "104" - # edge: "104" - # firefox: "127" - # firefox_android: "127" - # safari: "16.4" - # safari_ios: "16.4" - - api.WebGL2RenderingContext.drawingBufferColorSpace - - api.WebGLRenderingContext.drawingBufferColorSpace + - api.WEBGL_draw_buffers + - api.WEBGL_draw_buffers.drawBuffersWEBGL # baseline: false # support: @@ -432,40 +318,25 @@ compat_features: # baseline: false # support: - # chrome: "75" - # chrome_android: "75" - # edge: "79" + # chrome: "86" + # chrome_android: "86" + # edge: "86" # safari: "15" # safari_ios: "15" - - api.HTMLCanvasElement.getContext.webgl2_context.options_powerPreference_parameter - - # baseline: false - # support: - # chrome: "81" - # chrome_android: "75" - # edge: "79" - - api.HTMLCanvasElement.getContext.webgl2_context.options_desynchronized_parameter - - api.HTMLCanvasElement.getContext.webgl_context.options_desynchronized_parameter - - # baseline: false - # support: - # chrome: "104" - # chrome_android: "104" - # edge: "104" - - api.WebGL2RenderingContext.unpackColorSpace - - api.WebGLRenderingContext.unpackColorSpace + - api.WEBGL_multi_draw + - api.WEBGL_multi_draw.multiDrawArraysInstancedWEBGL + - api.WEBGL_multi_draw.multiDrawArraysWEBGL + - api.WEBGL_multi_draw.multiDrawElementsInstancedWEBGL + - api.WEBGL_multi_draw.multiDrawElementsWEBGL # baseline: false # support: # chrome: "122" # chrome_android: "122" # edge: "122" - - api.WebGL2RenderingContext.drawingBufferFormat - - api.WebGL2RenderingContext.drawingBufferStorage - api.WebGLRenderingContext.drawingBufferFormat - api.WebGLRenderingContext.drawingBufferStorage - # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "126" From 63e2a08081c15fbb85e31394a116e96ba1affa07 Mon Sep 17 00:00:00 2001 From: Pete LePage Date: Tue, 13 Aug 2024 14:45:58 -0400 Subject: [PATCH 2/5] Update `compute_from` --- features/webgl.yml | 4 ++-- features/webgl.yml.dist | 14 +++++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/features/webgl.yml b/features/webgl.yml index 98bff401815..6d92cdf666d 100644 --- a/features/webgl.yml +++ b/features/webgl.yml @@ -2,8 +2,8 @@ name: WebGL 2D and 3D Graphics description: WebGL is a JavaScript API for rendering high-performance interactive 3D and 2D graphics that can be used in the `` element. spec: https://registry.khronos.org/webgl/specs/latest/1.0/ group: webgl -# status: -# compute_from: api.WebGLRenderingContext +status: + compute_from: api.WebGLRenderingContext compat_features: - api.HTMLCanvasElement.getContext.webgl_context.options_alpha_parameter - api.HTMLCanvasElement.getContext.webgl_context.options_failIfMajorPerformanceCaveat_parameter diff --git a/features/webgl.yml.dist b/features/webgl.yml.dist index 8cb95e4165e..fe457f382bc 100644 --- a/features/webgl.yml.dist +++ b/features/webgl.yml.dist @@ -2,11 +2,19 @@ # Do not edit this file by hand. Edit the source file instead! status: - baseline: false + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 support: - chrome: "126" - edge: "126" + chrome: "9" + chrome_android: "25" + edge: "12" + firefox: "4" + firefox_android: "4" + safari: "5.1" + safari_ios: "8" compat_features: + # ⬇️ Same status as overall feature ⬇️ # baseline: high # baseline_low_date: 2015-07-29 # baseline_high_date: 2018-01-29 From 39a5334fd78913170fd12ae4f6c1e7ddd699bbd5 Mon Sep 17 00:00:00 2001 From: Pete LePage Date: Fri, 16 Aug 2024 11:14:33 -0400 Subject: [PATCH 3/5] Apply suggestions from code review Co-authored-by: Daniel D. Beck --- features/webgl-context-colorspace.yml | 4 +++- features/webgl-context-desynchronized.yml | 4 ++-- features/webgl.yml | 5 +++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/features/webgl-context-colorspace.yml b/features/webgl-context-colorspace.yml index a99e69b9db9..f46e50afe3b 100644 --- a/features/webgl-context-colorspace.yml +++ b/features/webgl-context-colorspace.yml @@ -1,9 +1,11 @@ name: Color management for WebGL -description: Specifies the color space to be used for the context. +description: The `drawingBufferColorSpace` and `unpackColorSpace` properties of `WebGLRenderingContext` sets the color representation for the buffer and imported textures, such as `"srgb"` or `"display-p3"`. spec: - https://registry.khronos.org/webgl/specs/latest/1.0/#DOM-WebGLRenderingContext-drawingBufferColorSpace - https://registry.khronos.org/webgl/specs/latest/1.0/#DOM-WebGLRenderingContext-unpackColorSpace group: webgl +status: + compute_from: api.WebGLRenderingContext.drawingBufferColorSpace compat_features: - api.WebGLRenderingContext.drawingBufferColorSpace - api.WebGLRenderingContext.unpackColorSpace diff --git a/features/webgl-context-desynchronized.yml b/features/webgl-context-desynchronized.yml index 96abc94e822..49398f21a6c 100644 --- a/features/webgl-context-desynchronized.yml +++ b/features/webgl-context-desynchronized.yml @@ -1,5 +1,5 @@ -name: Desynchronized WebGL -description: Reduces latency by desynchronizing the canvas paint cycle from the event loop.. +name: Desynchronized WebGL canvas +description: The optional `desynchronized` parameter of a canvas's `getContext()` method permits the browser to draw a WebGL canvas independently of the event loop. This can reduce drawing latency. spec: https://registry.khronos.org/webgl/specs/latest/1.0/#5.2.1 group: webgl compat_features: diff --git a/features/webgl.yml b/features/webgl.yml index 6d92cdf666d..150ddc77544 100644 --- a/features/webgl.yml +++ b/features/webgl.yml @@ -1,5 +1,6 @@ -name: WebGL 2D and 3D Graphics -description: WebGL is a JavaScript API for rendering high-performance interactive 3D and 2D graphics that can be used in the `` element. +name: WebGL +description: The `WebGLRenderingContext` API is the `"webgl"` rendering context for the `` element. It represents a space for drawing two- and three-dimensional graphics and animations. +caniuse: webgl spec: https://registry.khronos.org/webgl/specs/latest/1.0/ group: webgl status: From cb332e5ad9747ada5a25764838ca178049ac5dee Mon Sep 17 00:00:00 2001 From: Pete LePage Date: Fri, 16 Aug 2024 12:04:42 -0400 Subject: [PATCH 4/5] rename & combine --- features/webgl-color-buffer-float.yml | 6 -- features/webgl-color-buffer-float.yml.dist | 17 ----- ...orspace.yml => webgl-color-management.yml} | 0 ...l.dist => webgl-color-management.yml.dist} | 11 +++- features/webgl-compressed-texture-astc.yml | 7 -- .../webgl-compressed-texture-astc.yml.dist | 18 ----- features/webgl-compressed-texture-etc.yml | 9 --- .../webgl-compressed-texture-etc.yml.dist | 33 ---------- .../webgl-compressed-texture-s3tc-srgb.yml | 6 -- ...ebgl-compressed-texture-s3tc-srgb.yml.dist | 14 ---- features/webgl-compressed-texture-s3tc.yml | 6 -- .../webgl-compressed-texture-s3tc.yml.dist | 12 ---- ...chronized.yml => webgl-desynchronized.yml} | 0 ...yml.dist => webgl-desynchronized.yml.dist} | 2 +- features/webgl.yml | 7 ++ features/webgl.yml.dist | 65 +++++++++++++++++++ 16 files changed, 81 insertions(+), 132 deletions(-) delete mode 100644 features/webgl-color-buffer-float.yml delete mode 100644 features/webgl-color-buffer-float.yml.dist rename features/{webgl-context-colorspace.yml => webgl-color-management.yml} (100%) rename features/{webgl-context-colorspace.yml.dist => webgl-color-management.yml.dist} (77%) delete mode 100644 features/webgl-compressed-texture-astc.yml delete mode 100644 features/webgl-compressed-texture-astc.yml.dist delete mode 100644 features/webgl-compressed-texture-etc.yml delete mode 100644 features/webgl-compressed-texture-etc.yml.dist delete mode 100644 features/webgl-compressed-texture-s3tc-srgb.yml delete mode 100644 features/webgl-compressed-texture-s3tc-srgb.yml.dist delete mode 100644 features/webgl-compressed-texture-s3tc.yml delete mode 100644 features/webgl-compressed-texture-s3tc.yml.dist rename features/{webgl-context-desynchronized.yml => webgl-desynchronized.yml} (100%) rename features/{webgl-context-desynchronized.yml.dist => webgl-desynchronized.yml.dist} (83%) diff --git a/features/webgl-color-buffer-float.yml b/features/webgl-color-buffer-float.yml deleted file mode 100644 index 79c9ac6297d..00000000000 --- a/features/webgl-color-buffer-float.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: WebGL 32-bit floating-point color buffers -description: Support for rendering to 32-bit floating-point color buffers -spec: https://registry.khronos.org/webgl/extensions/WEBGL_color_buffer_float/ -group: webgl -compat_features: - - api.WEBGL_color_buffer_float diff --git a/features/webgl-color-buffer-float.yml.dist b/features/webgl-color-buffer-float.yml.dist deleted file mode 100644 index f1a3ce32f81..00000000000 --- a/features/webgl-color-buffer-float.yml.dist +++ /dev/null @@ -1,17 +0,0 @@ -# Generated from: webgl-color-buffer-float.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: high - baseline_low_date: 2021-09-20 - baseline_high_date: 2024-03-20 - support: - chrome: "63" - chrome_android: "63" - edge: "17" - firefox: "30" - firefox_android: "30" - safari: "14" - safari_ios: "15" -compat_features: - - api.WEBGL_color_buffer_float diff --git a/features/webgl-context-colorspace.yml b/features/webgl-color-management.yml similarity index 100% rename from features/webgl-context-colorspace.yml rename to features/webgl-color-management.yml diff --git a/features/webgl-context-colorspace.yml.dist b/features/webgl-color-management.yml.dist similarity index 77% rename from features/webgl-context-colorspace.yml.dist rename to features/webgl-color-management.yml.dist index af2978d1fca..1a157ac6bc3 100644 --- a/features/webgl-context-colorspace.yml.dist +++ b/features/webgl-color-management.yml.dist @@ -1,13 +1,19 @@ -# Generated from: webgl-context-colorspace.yml +# Generated from: webgl-color-management.yml # Do not edit this file by hand. Edit the source file instead! status: - baseline: false + baseline: low + baseline_low_date: 2024-06-11 support: chrome: "104" chrome_android: "104" edge: "104" + firefox: "127" + firefox_android: "127" + safari: "16.4" + safari_ios: "16.4" compat_features: + # ⬇️ Same status as overall feature ⬇️ # baseline: low # baseline_low_date: 2024-06-11 # support: @@ -20,7 +26,6 @@ compat_features: # safari_ios: "16.4" - api.WebGLRenderingContext.drawingBufferColorSpace - # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "104" diff --git a/features/webgl-compressed-texture-astc.yml b/features/webgl-compressed-texture-astc.yml deleted file mode 100644 index c73c3f06c2b..00000000000 --- a/features/webgl-compressed-texture-astc.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: WebGL compressed ASTC textures -description: Allows ASTC textures encoded using either high or low dynamic range, corresponding to an "HDR profile" and "LDR profile". -spec: https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_astc/ -group: webgl -compat_features: - - api.WEBGL_compressed_texture_astc - - api.WEBGL_compressed_texture_astc.getSupportedProfiles diff --git a/features/webgl-compressed-texture-astc.yml.dist b/features/webgl-compressed-texture-astc.yml.dist deleted file mode 100644 index 2c825767c24..00000000000 --- a/features/webgl-compressed-texture-astc.yml.dist +++ /dev/null @@ -1,18 +0,0 @@ -# Generated from: webgl-compressed-texture-astc.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: high - baseline_low_date: 2020-01-15 - baseline_high_date: 2022-07-15 - support: - chrome: "47" - chrome_android: "47" - edge: "79" - firefox: "53" - firefox_android: "53" - safari: "12" - safari_ios: "12" -compat_features: - - api.WEBGL_compressed_texture_astc - - api.WEBGL_compressed_texture_astc.getSupportedProfiles diff --git a/features/webgl-compressed-texture-etc.yml b/features/webgl-compressed-texture-etc.yml deleted file mode 100644 index 81580f211f9..00000000000 --- a/features/webgl-compressed-texture-etc.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: WebGL compressed ETC texture support -description: Exposes the compressed texture formats EAC, ETC1, and ETC2. -spec: - - https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_etc/ - - https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_etc1/ -group: webgl -compat_features: - - api.WEBGL_compressed_texture_etc - - api.WEBGL_compressed_texture_etc1 diff --git a/features/webgl-compressed-texture-etc.yml.dist b/features/webgl-compressed-texture-etc.yml.dist deleted file mode 100644 index 8c0f99671c9..00000000000 --- a/features/webgl-compressed-texture-etc.yml.dist +++ /dev/null @@ -1,33 +0,0 @@ -# Generated from: webgl-compressed-texture-etc.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: - chrome: "63" - chrome_android: "63" - edge: "79" - firefox_android: "51" - safari: "13.1" - safari_ios: "13.4" -compat_features: - # baseline: false - # support: - # chrome: "49" - # chrome_android: "49" - # edge: "79" - # firefox_android: "30" - # safari: "13.1" - # safari_ios: "13.4" - - api.WEBGL_compressed_texture_etc1 - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: - # chrome: "63" - # chrome_android: "63" - # edge: "79" - # firefox_android: "51" - # safari: "13.1" - # safari_ios: "13.4" - - api.WEBGL_compressed_texture_etc diff --git a/features/webgl-compressed-texture-s3tc-srgb.yml b/features/webgl-compressed-texture-s3tc-srgb.yml deleted file mode 100644 index d791cf73d3f..00000000000 --- a/features/webgl-compressed-texture-s3tc-srgb.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: WebGL WEBGL_compressed_texture_s3tc_srgb Extension Specification -description: Exposes the sRGB compressed texture formats defined in the EXT_texture_compression_s3tc_srgb spec. -spec: https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_s3tc_srgb/ -group: webgl -compat_features: - - api.WEBGL_compressed_texture_s3tc_srgb diff --git a/features/webgl-compressed-texture-s3tc-srgb.yml.dist b/features/webgl-compressed-texture-s3tc-srgb.yml.dist deleted file mode 100644 index df4a390c34f..00000000000 --- a/features/webgl-compressed-texture-s3tc-srgb.yml.dist +++ /dev/null @@ -1,14 +0,0 @@ -# Generated from: webgl-compressed-texture-s3tc-srgb.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: - chrome: "60" - chrome_android: "60" - edge: "80" - firefox: "55" - safari: "14.1" - safari_ios: "14.5" -compat_features: - - api.WEBGL_compressed_texture_s3tc_srgb diff --git a/features/webgl-compressed-texture-s3tc.yml b/features/webgl-compressed-texture-s3tc.yml deleted file mode 100644 index 30ee580c8b2..00000000000 --- a/features/webgl-compressed-texture-s3tc.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: WebGL WEBGL_compressed_texture_s3tc Khronos Ratified Extension Specification -description: Exposes the compressed texture formats defined in the EXT_texture_compression_s3tc OpenGL extension to WebGL. -spec: https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_s3tc/ -group: webgl -compat_features: - - api.WEBGL_compressed_texture_s3tc diff --git a/features/webgl-compressed-texture-s3tc.yml.dist b/features/webgl-compressed-texture-s3tc.yml.dist deleted file mode 100644 index a312b04af99..00000000000 --- a/features/webgl-compressed-texture-s3tc.yml.dist +++ /dev/null @@ -1,12 +0,0 @@ -# Generated from: webgl-compressed-texture-s3tc.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: - chrome: "26" - edge: "12" - firefox: "22" - safari: "8" -compat_features: - - api.WEBGL_compressed_texture_s3tc diff --git a/features/webgl-context-desynchronized.yml b/features/webgl-desynchronized.yml similarity index 100% rename from features/webgl-context-desynchronized.yml rename to features/webgl-desynchronized.yml diff --git a/features/webgl-context-desynchronized.yml.dist b/features/webgl-desynchronized.yml.dist similarity index 83% rename from features/webgl-context-desynchronized.yml.dist rename to features/webgl-desynchronized.yml.dist index 219812ed98f..c0aea66bd9a 100644 --- a/features/webgl-context-desynchronized.yml.dist +++ b/features/webgl-desynchronized.yml.dist @@ -1,4 +1,4 @@ -# Generated from: webgl-context-desynchronized.yml +# Generated from: webgl-desynchronized.yml # Do not edit this file by hand. Edit the source file instead! status: diff --git a/features/webgl.yml b/features/webgl.yml index 150ddc77544..5205047f2ae 100644 --- a/features/webgl.yml +++ b/features/webgl.yml @@ -12,6 +12,13 @@ compat_features: - api.HTMLCanvasElement.webglcontextcreationerror_event - api.HTMLCanvasElement.webglcontextlost_event - api.HTMLCanvasElement.webglcontextrestored_event + - api.WEBGL_color_buffer_float + - api.WEBGL_compressed_texture_astc + - api.WEBGL_compressed_texture_astc.getSupportedProfiles + - api.WEBGL_compressed_texture_etc + - api.WEBGL_compressed_texture_etc1 + - api.WEBGL_compressed_texture_s3tc + - api.WEBGL_compressed_texture_s3tc_srgb - api.WEBGL_debug_renderer_info - api.WEBGL_debug_shaders - api.WEBGL_debug_shaders.getTranslatedShaderSource diff --git a/features/webgl.yml.dist b/features/webgl.yml.dist index fe457f382bc..8e570c35f49 100644 --- a/features/webgl.yml.dist +++ b/features/webgl.yml.dist @@ -291,6 +291,20 @@ compat_features: # safari_ios: "10.3" - api.HTMLCanvasElement.getContext.webgl_context.options_failIfMajorPerformanceCaveat_parameter + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "47" + # chrome_android: "47" + # edge: "79" + # firefox: "53" + # firefox_android: "53" + # safari: "12" + # safari_ios: "12" + - api.WEBGL_compressed_texture_astc + - api.WEBGL_compressed_texture_astc.getSupportedProfiles + # baseline: high # baseline_low_date: 2020-09-16 # baseline_high_date: 2023-03-16 @@ -305,6 +319,49 @@ compat_features: - api.WEBGL_debug_shaders - api.WEBGL_debug_shaders.getTranslatedShaderSource + # baseline: high + # baseline_low_date: 2021-09-20 + # baseline_high_date: 2024-03-20 + # support: + # chrome: "63" + # chrome_android: "63" + # edge: "17" + # firefox: "30" + # firefox_android: "30" + # safari: "14" + # safari_ios: "15" + - api.WEBGL_color_buffer_float + + # baseline: false + # support: + # chrome: "49" + # chrome_android: "49" + # edge: "79" + # firefox_android: "30" + # safari: "13.1" + # safari_ios: "13.4" + - api.WEBGL_compressed_texture_etc1 + + # baseline: false + # support: + # chrome: "60" + # chrome_android: "60" + # edge: "80" + # firefox: "55" + # safari: "14.1" + # safari_ios: "14.5" + - api.WEBGL_compressed_texture_s3tc_srgb + + # baseline: false + # support: + # chrome: "63" + # chrome_android: "63" + # edge: "79" + # firefox_android: "51" + # safari: "13.1" + # safari_ios: "13.4" + - api.WEBGL_compressed_texture_etc + # baseline: false # support: # chrome: "36" @@ -337,6 +394,14 @@ compat_features: - api.WEBGL_multi_draw.multiDrawElementsInstancedWEBGL - api.WEBGL_multi_draw.multiDrawElementsWEBGL + # baseline: false + # support: + # chrome: "26" + # edge: "12" + # firefox: "22" + # safari: "8" + - api.WEBGL_compressed_texture_s3tc + # baseline: false # support: # chrome: "122" From e7d61c2efe6ed4cdc60d1aa0755d05b94ac0c1b1 Mon Sep 17 00:00:00 2001 From: "Daniel D. Beck" Date: Mon, 19 Aug 2024 14:43:13 +0200 Subject: [PATCH 5/5] Refresh dist --- features/webgl-color-management.yml.dist | 10 +---- features/webgl.yml.dist | 57 ------------------------ 2 files changed, 2 insertions(+), 65 deletions(-) diff --git a/features/webgl-color-management.yml.dist b/features/webgl-color-management.yml.dist index 1a157ac6bc3..3ce0cce9f1a 100644 --- a/features/webgl-color-management.yml.dist +++ b/features/webgl-color-management.yml.dist @@ -2,26 +2,20 @@ # Do not edit this file by hand. Edit the source file instead! status: - baseline: low - baseline_low_date: 2024-06-11 + baseline: false support: chrome: "104" chrome_android: "104" edge: "104" - firefox: "127" - firefox_android: "127" safari: "16.4" safari_ios: "16.4" compat_features: # ⬇️ Same status as overall feature ⬇️ - # baseline: low - # baseline_low_date: 2024-06-11 + # baseline: false # support: # chrome: "104" # chrome_android: "104" # edge: "104" - # firefox: "127" - # firefox_android: "127" # safari: "16.4" # safari_ios: "16.4" - api.WebGLRenderingContext.drawingBufferColorSpace diff --git a/features/webgl.yml.dist b/features/webgl.yml.dist index 904a65f6c04..8e570c35f49 100644 --- a/features/webgl.yml.dist +++ b/features/webgl.yml.dist @@ -332,7 +332,6 @@ compat_features: # safari_ios: "15" - api.WEBGL_color_buffer_float -<<<<<<< HEAD:features/webgl.yml.dist # baseline: false # support: # chrome: "49" @@ -373,22 +372,6 @@ compat_features: - api.WEBGL_draw_buffers - api.WEBGL_draw_buffers.drawBuffersWEBGL -||||||| 398385fe:features/draft/spec/webgl1.yml.dist - # baseline: low - # baseline_low_date: 2024-06-11 - # support: - # chrome: "104" - # chrome_android: "104" - # edge: "104" - # firefox: "127" - # firefox_android: "127" - # safari: "16.4" - # safari_ios: "16.4" - - api.WebGL2RenderingContext.drawingBufferColorSpace - - api.WebGLRenderingContext.drawingBufferColorSpace - -======= ->>>>>>> main:features/draft/spec/webgl1.yml.dist # baseline: false # support: # chrome: "75" @@ -413,51 +396,11 @@ compat_features: # baseline: false # support: -<<<<<<< HEAD:features/webgl.yml.dist # chrome: "26" # edge: "12" # firefox: "22" # safari: "8" - api.WEBGL_compressed_texture_s3tc -||||||| 398385fe:features/draft/spec/webgl1.yml.dist - # chrome: "81" - # chrome_android: "75" - # edge: "79" - - api.HTMLCanvasElement.getContext.webgl2_context.options_desynchronized_parameter - - api.HTMLCanvasElement.getContext.webgl_context.options_desynchronized_parameter - - # baseline: false - # support: - # chrome: "104" - # chrome_android: "104" - # edge: "104" - - api.WebGL2RenderingContext.unpackColorSpace - - api.WebGLRenderingContext.unpackColorSpace -======= - # chrome: "104" - # chrome_android: "104" - # edge: "104" - # safari: "16.4" - # safari_ios: "16.4" - - api.WebGL2RenderingContext.drawingBufferColorSpace - - api.WebGLRenderingContext.drawingBufferColorSpace - - # baseline: false - # support: - # chrome: "81" - # chrome_android: "75" - # edge: "79" - - api.HTMLCanvasElement.getContext.webgl2_context.options_desynchronized_parameter - - api.HTMLCanvasElement.getContext.webgl_context.options_desynchronized_parameter - - # baseline: false - # support: - # chrome: "104" - # chrome_android: "104" - # edge: "104" - - api.WebGL2RenderingContext.unpackColorSpace - - api.WebGLRenderingContext.unpackColorSpace ->>>>>>> main:features/draft/spec/webgl1.yml.dist # baseline: false # support: