From 923e130a278b4582a4e9a3839ad714d19174d4b7 Mon Sep 17 00:00:00 2001 From: Pete LePage Date: Tue, 13 Aug 2024 14:43:30 -0400 Subject: [PATCH 1/5] Add WebGL2 Canvas Context --- features/draft/spec/webgl2.yml | 137 -------- features/draft/spec/webgl2.yml.dist | 172 ----------- features/webgl2-context-colorspace.yml | 6 + features/webgl2-context-colorspace.yml.dist | 29 ++ features/webgl2-context-desynchronized.yml | 5 + .../webgl2-context-desynchronized.yml.dist | 11 + features/webgl2.yml | 244 +++++++++++++++ features/webgl2.yml.dist | 292 ++++++++++++++++++ 8 files changed, 587 insertions(+), 309 deletions(-) delete mode 100644 features/draft/spec/webgl2.yml delete mode 100644 features/draft/spec/webgl2.yml.dist create mode 100644 features/webgl2-context-colorspace.yml create mode 100644 features/webgl2-context-colorspace.yml.dist create mode 100644 features/webgl2-context-desynchronized.yml create mode 100644 features/webgl2-context-desynchronized.yml.dist create mode 100644 features/webgl2.yml create mode 100644 features/webgl2.yml.dist diff --git a/features/draft/spec/webgl2.yml b/features/draft/spec/webgl2.yml deleted file mode 100644 index 8edb5f72845..00000000000 --- a/features/draft/spec/webgl2.yml +++ /dev/null @@ -1,137 +0,0 @@ -draft_date: 2024-08-12 -name: WebGL 2.0 Specification -description: TODO -spec: https://registry.khronos.org/webgl/specs/latest/2.0/ -compat_features: - - api.WebGL2RenderingContext - - api.WebGL2RenderingContext.beginQuery - - api.WebGL2RenderingContext.beginTransformFeedback - - api.WebGL2RenderingContext.bindBuffer - - api.WebGL2RenderingContext.bindBufferBase - - api.WebGL2RenderingContext.bindBufferRange - - api.WebGL2RenderingContext.bindFramebuffer - - api.WebGL2RenderingContext.bindSampler - - api.WebGL2RenderingContext.bindTexture - - api.WebGL2RenderingContext.bindTransformFeedback - - api.WebGL2RenderingContext.bindVertexArray - - api.WebGL2RenderingContext.blitFramebuffer - - api.WebGL2RenderingContext.checkFramebufferStatus - - api.WebGL2RenderingContext.clearBufferfi - - api.WebGL2RenderingContext.clearBufferfv - - api.WebGL2RenderingContext.clearBufferiv - - api.WebGL2RenderingContext.clearBufferuiv - - api.WebGL2RenderingContext.clientWaitSync - - api.WebGL2RenderingContext.compressedTexImage3D - - api.WebGL2RenderingContext.compressedTexSubImage3D - - api.WebGL2RenderingContext.copyBufferSubData - - api.WebGL2RenderingContext.copyTexSubImage3D - - api.WebGL2RenderingContext.createQuery - - api.WebGL2RenderingContext.createSampler - - api.WebGL2RenderingContext.createTransformFeedback - - api.WebGL2RenderingContext.createVertexArray - - api.WebGL2RenderingContext.deleteQuery - - api.WebGL2RenderingContext.deleteSampler - - api.WebGL2RenderingContext.deleteSync - - api.WebGL2RenderingContext.deleteTransformFeedback - - api.WebGL2RenderingContext.deleteVertexArray - - api.WebGL2RenderingContext.drawArraysInstanced - - api.WebGL2RenderingContext.drawBuffers - - api.WebGL2RenderingContext.drawElementsInstanced - - api.WebGL2RenderingContext.drawRangeElements - - api.WebGL2RenderingContext.endQuery - - api.WebGL2RenderingContext.endTransformFeedback - - api.WebGL2RenderingContext.fenceSync - - api.WebGL2RenderingContext.framebufferTextureLayer - - api.WebGL2RenderingContext.getActiveUniformBlockName - - api.WebGL2RenderingContext.getActiveUniformBlockParameter - - api.WebGL2RenderingContext.getActiveUniforms - - api.WebGL2RenderingContext.getBufferParameter - - api.WebGL2RenderingContext.getBufferSubData - - api.WebGL2RenderingContext.getFragDataLocation - - api.WebGL2RenderingContext.getFramebufferAttachmentParameter - - api.WebGL2RenderingContext.getIndexedParameter - - api.WebGL2RenderingContext.getInternalformatParameter - - api.WebGL2RenderingContext.getParameter - - api.WebGL2RenderingContext.getProgramParameter - - api.WebGL2RenderingContext.getQuery - - api.WebGL2RenderingContext.getQueryParameter - - api.WebGL2RenderingContext.getRenderbufferParameter - - api.WebGL2RenderingContext.getSamplerParameter - - api.WebGL2RenderingContext.getSyncParameter - - api.WebGL2RenderingContext.getTexParameter - - api.WebGL2RenderingContext.getTransformFeedbackVarying - - api.WebGL2RenderingContext.getUniform - - api.WebGL2RenderingContext.getUniformBlockIndex - - api.WebGL2RenderingContext.getUniformIndices - - api.WebGL2RenderingContext.getVertexAttrib - - api.WebGL2RenderingContext.invalidateFramebuffer - - api.WebGL2RenderingContext.invalidateSubFramebuffer - - api.WebGL2RenderingContext.isEnabled - - api.WebGL2RenderingContext.isQuery - - api.WebGL2RenderingContext.isSampler - - api.WebGL2RenderingContext.isSync - - api.WebGL2RenderingContext.isTransformFeedback - - api.WebGL2RenderingContext.isVertexArray - - api.WebGL2RenderingContext.pauseTransformFeedback - - api.WebGL2RenderingContext.pixelStorei - - api.WebGL2RenderingContext.readBuffer - - api.WebGL2RenderingContext.renderbufferStorage - - api.WebGL2RenderingContext.renderbufferStorageMultisample - - api.WebGL2RenderingContext.resumeTransformFeedback - - api.WebGL2RenderingContext.samplerParameterf - - api.WebGL2RenderingContext.samplerParameteri - - api.WebGL2RenderingContext.texImage2D - - api.WebGL2RenderingContext.texImage3D - - api.WebGL2RenderingContext.texParameterf - - api.WebGL2RenderingContext.texParameteri - - api.WebGL2RenderingContext.texStorage2D - - api.WebGL2RenderingContext.texStorage3D - - api.WebGL2RenderingContext.texSubImage2D - - api.WebGL2RenderingContext.texSubImage3D - - api.WebGL2RenderingContext.transformFeedbackVaryings - - api.WebGL2RenderingContext.uniform1ui - - api.WebGL2RenderingContext.uniform1uiv - - api.WebGL2RenderingContext.uniform2ui - - api.WebGL2RenderingContext.uniform2uiv - - api.WebGL2RenderingContext.uniform3ui - - api.WebGL2RenderingContext.uniform3uiv - - api.WebGL2RenderingContext.uniform4ui - - api.WebGL2RenderingContext.uniform4uiv - - api.WebGL2RenderingContext.uniformBlockBinding - - api.WebGL2RenderingContext.uniformMatrix2x3fv - - api.WebGL2RenderingContext.uniformMatrix2x4fv - - api.WebGL2RenderingContext.uniformMatrix3x2fv - - api.WebGL2RenderingContext.uniformMatrix3x4fv - - api.WebGL2RenderingContext.uniformMatrix4x2fv - - api.WebGL2RenderingContext.uniformMatrix4x3fv - - api.WebGL2RenderingContext.vertexAttribDivisor - - api.WebGL2RenderingContext.vertexAttribI4i - - api.WebGL2RenderingContext.vertexAttribI4iv - - api.WebGL2RenderingContext.vertexAttribI4ui - - api.WebGL2RenderingContext.vertexAttribI4uiv - - api.WebGL2RenderingContext.vertexAttribIPointer - - api.WebGL2RenderingContext.waitSync - - api.WebGLQuery - - api.WebGLRenderingContext.bindBuffer - - api.WebGLRenderingContext.bindFramebuffer - - api.WebGLRenderingContext.bindTexture - - api.WebGLRenderingContext.checkFramebufferStatus - - api.WebGLRenderingContext.getBufferParameter - - api.WebGLRenderingContext.getFramebufferAttachmentParameter - - api.WebGLRenderingContext.getParameter - - api.WebGLRenderingContext.getProgramParameter - - api.WebGLRenderingContext.getRenderbufferParameter - - api.WebGLRenderingContext.getTexParameter - - api.WebGLRenderingContext.getUniform - - api.WebGLRenderingContext.getVertexAttrib - - api.WebGLRenderingContext.isEnabled - - api.WebGLRenderingContext.pixelStorei - - api.WebGLRenderingContext.renderbufferStorage - - api.WebGLRenderingContext.texImage2D - - api.WebGLRenderingContext.texParameterf - - api.WebGLRenderingContext.texParameteri - - api.WebGLRenderingContext.texSubImage2D - - api.WebGLSampler - - api.WebGLSync - - api.WebGLTransformFeedback - - api.WebGLVertexArrayObject diff --git a/features/draft/spec/webgl2.yml.dist b/features/draft/spec/webgl2.yml.dist deleted file mode 100644 index 9505069b931..00000000000 --- a/features/draft/spec/webgl2.yml.dist +++ /dev/null @@ -1,172 +0,0 @@ -# Generated from: webgl2.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: "56" - chrome_android: "58" - edge: "79" - firefox: "51" - firefox_android: "51" - safari: "15" - safari_ios: "15" -compat_features: - # baseline: high - # baseline_low_date: 2015-07-29 - # baseline_high_date: 2018-01-29 - # support: - # chrome: "9" - # chrome_android: "25" - # edge: "12" - # firefox: "4" - # firefox_android: "4" - # safari: "5.1" - # safari_ios: "8" - - api.WebGLRenderingContext.bindBuffer - - api.WebGLRenderingContext.bindFramebuffer - - api.WebGLRenderingContext.bindTexture - - api.WebGLRenderingContext.checkFramebufferStatus - - api.WebGLRenderingContext.getBufferParameter - - api.WebGLRenderingContext.getFramebufferAttachmentParameter - - api.WebGLRenderingContext.getParameter - - api.WebGLRenderingContext.getProgramParameter - - api.WebGLRenderingContext.getRenderbufferParameter - - api.WebGLRenderingContext.getTexParameter - - api.WebGLRenderingContext.getUniform - - api.WebGLRenderingContext.getVertexAttrib - - api.WebGLRenderingContext.isEnabled - - api.WebGLRenderingContext.pixelStorei - - api.WebGLRenderingContext.renderbufferStorage - - api.WebGLRenderingContext.texImage2D - - api.WebGLRenderingContext.texParameterf - - api.WebGLRenderingContext.texParameteri - - api.WebGLRenderingContext.texSubImage2D - - # ⬇️ Same status as overall feature ⬇️ - # baseline: high - # baseline_low_date: 2021-09-20 - # baseline_high_date: 2024-03-20 - # support: - # chrome: "56" - # chrome_android: "58" - # edge: "79" - # firefox: "51" - # firefox_android: "51" - # safari: "15" - # safari_ios: "15" - - api.WebGL2RenderingContext - - api.WebGL2RenderingContext.beginQuery - - api.WebGL2RenderingContext.beginTransformFeedback - - api.WebGL2RenderingContext.bindBuffer - - api.WebGL2RenderingContext.bindBufferBase - - api.WebGL2RenderingContext.bindBufferRange - - api.WebGL2RenderingContext.bindFramebuffer - - api.WebGL2RenderingContext.bindSampler - - api.WebGL2RenderingContext.bindTexture - - api.WebGL2RenderingContext.bindTransformFeedback - - api.WebGL2RenderingContext.bindVertexArray - - api.WebGL2RenderingContext.blitFramebuffer - - api.WebGL2RenderingContext.checkFramebufferStatus - - api.WebGL2RenderingContext.clearBufferfi - - api.WebGL2RenderingContext.clearBufferfv - - api.WebGL2RenderingContext.clearBufferiv - - api.WebGL2RenderingContext.clearBufferuiv - - api.WebGL2RenderingContext.clientWaitSync - - api.WebGL2RenderingContext.compressedTexImage3D - - api.WebGL2RenderingContext.compressedTexSubImage3D - - api.WebGL2RenderingContext.copyBufferSubData - - api.WebGL2RenderingContext.copyTexSubImage3D - - api.WebGL2RenderingContext.createQuery - - api.WebGL2RenderingContext.createSampler - - api.WebGL2RenderingContext.createTransformFeedback - - api.WebGL2RenderingContext.createVertexArray - - api.WebGL2RenderingContext.deleteQuery - - api.WebGL2RenderingContext.deleteSampler - - api.WebGL2RenderingContext.deleteSync - - api.WebGL2RenderingContext.deleteTransformFeedback - - api.WebGL2RenderingContext.deleteVertexArray - - api.WebGL2RenderingContext.drawArraysInstanced - - api.WebGL2RenderingContext.drawBuffers - - api.WebGL2RenderingContext.drawElementsInstanced - - api.WebGL2RenderingContext.drawRangeElements - - api.WebGL2RenderingContext.endQuery - - api.WebGL2RenderingContext.endTransformFeedback - - api.WebGL2RenderingContext.fenceSync - - api.WebGL2RenderingContext.framebufferTextureLayer - - api.WebGL2RenderingContext.getActiveUniformBlockName - - api.WebGL2RenderingContext.getActiveUniformBlockParameter - - api.WebGL2RenderingContext.getActiveUniforms - - api.WebGL2RenderingContext.getBufferParameter - - api.WebGL2RenderingContext.getBufferSubData - - api.WebGL2RenderingContext.getFragDataLocation - - api.WebGL2RenderingContext.getFramebufferAttachmentParameter - - api.WebGL2RenderingContext.getIndexedParameter - - api.WebGL2RenderingContext.getInternalformatParameter - - api.WebGL2RenderingContext.getParameter - - api.WebGL2RenderingContext.getProgramParameter - - api.WebGL2RenderingContext.getQuery - - api.WebGL2RenderingContext.getQueryParameter - - api.WebGL2RenderingContext.getRenderbufferParameter - - api.WebGL2RenderingContext.getSamplerParameter - - api.WebGL2RenderingContext.getSyncParameter - - api.WebGL2RenderingContext.getTexParameter - - api.WebGL2RenderingContext.getTransformFeedbackVarying - - api.WebGL2RenderingContext.getUniform - - api.WebGL2RenderingContext.getUniformBlockIndex - - api.WebGL2RenderingContext.getUniformIndices - - api.WebGL2RenderingContext.getVertexAttrib - - api.WebGL2RenderingContext.invalidateFramebuffer - - api.WebGL2RenderingContext.invalidateSubFramebuffer - - api.WebGL2RenderingContext.isEnabled - - api.WebGL2RenderingContext.isQuery - - api.WebGL2RenderingContext.isSampler - - api.WebGL2RenderingContext.isSync - - api.WebGL2RenderingContext.isTransformFeedback - - api.WebGL2RenderingContext.isVertexArray - - api.WebGL2RenderingContext.pauseTransformFeedback - - api.WebGL2RenderingContext.pixelStorei - - api.WebGL2RenderingContext.readBuffer - - api.WebGL2RenderingContext.renderbufferStorage - - api.WebGL2RenderingContext.renderbufferStorageMultisample - - api.WebGL2RenderingContext.resumeTransformFeedback - - api.WebGL2RenderingContext.samplerParameterf - - api.WebGL2RenderingContext.samplerParameteri - - api.WebGL2RenderingContext.texImage2D - - api.WebGL2RenderingContext.texImage3D - - api.WebGL2RenderingContext.texParameterf - - api.WebGL2RenderingContext.texParameteri - - api.WebGL2RenderingContext.texStorage2D - - api.WebGL2RenderingContext.texStorage3D - - api.WebGL2RenderingContext.texSubImage2D - - api.WebGL2RenderingContext.texSubImage3D - - api.WebGL2RenderingContext.transformFeedbackVaryings - - api.WebGL2RenderingContext.uniform1ui - - api.WebGL2RenderingContext.uniform1uiv - - api.WebGL2RenderingContext.uniform2ui - - api.WebGL2RenderingContext.uniform2uiv - - api.WebGL2RenderingContext.uniform3ui - - api.WebGL2RenderingContext.uniform3uiv - - api.WebGL2RenderingContext.uniform4ui - - api.WebGL2RenderingContext.uniform4uiv - - api.WebGL2RenderingContext.uniformBlockBinding - - api.WebGL2RenderingContext.uniformMatrix2x3fv - - api.WebGL2RenderingContext.uniformMatrix2x4fv - - api.WebGL2RenderingContext.uniformMatrix3x2fv - - api.WebGL2RenderingContext.uniformMatrix3x4fv - - api.WebGL2RenderingContext.uniformMatrix4x2fv - - api.WebGL2RenderingContext.uniformMatrix4x3fv - - api.WebGL2RenderingContext.vertexAttribDivisor - - api.WebGL2RenderingContext.vertexAttribI4i - - api.WebGL2RenderingContext.vertexAttribI4iv - - api.WebGL2RenderingContext.vertexAttribI4ui - - api.WebGL2RenderingContext.vertexAttribI4uiv - - api.WebGL2RenderingContext.vertexAttribIPointer - - api.WebGL2RenderingContext.waitSync - - api.WebGLQuery - - api.WebGLSampler - - api.WebGLSync - - api.WebGLTransformFeedback - - api.WebGLVertexArrayObject diff --git a/features/webgl2-context-colorspace.yml b/features/webgl2-context-colorspace.yml new file mode 100644 index 00000000000..a84a8f00265 --- /dev/null +++ b/features/webgl2-context-colorspace.yml @@ -0,0 +1,6 @@ +name: Color management for WebGL2 +description: Specifies the color space to be used for the context. +spec: https://registry.khronos.org/webgl/specs/latest/2.0/ +compat_features: + - api.WebGL2RenderingContext.drawingBufferColorSpace + - api.WebGL2RenderingContext.unpackColorSpace diff --git a/features/webgl2-context-colorspace.yml.dist b/features/webgl2-context-colorspace.yml.dist new file mode 100644 index 00000000000..4466ed721a7 --- /dev/null +++ b/features/webgl2-context-colorspace.yml.dist @@ -0,0 +1,29 @@ +# Generated from: webgl2-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.WebGL2RenderingContext.drawingBufferColorSpace + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # chrome: "104" + # chrome_android: "104" + # edge: "104" + - api.WebGL2RenderingContext.unpackColorSpace diff --git a/features/webgl2-context-desynchronized.yml b/features/webgl2-context-desynchronized.yml new file mode 100644 index 00000000000..de8cbbb30f9 --- /dev/null +++ b/features/webgl2-context-desynchronized.yml @@ -0,0 +1,5 @@ +name: Desynchronized WebGL2 +description: Reduces latency by desynchronizing the canvas paint cycle from the event loop. +spec: https://registry.khronos.org/webgl/specs/latest/2.0/ +compat_features: + - api.HTMLCanvasElement.getContext.webgl2_context.options_desynchronized_parameter diff --git a/features/webgl2-context-desynchronized.yml.dist b/features/webgl2-context-desynchronized.yml.dist new file mode 100644 index 00000000000..c6f25e5112c --- /dev/null +++ b/features/webgl2-context-desynchronized.yml.dist @@ -0,0 +1,11 @@ +# Generated from: webgl2-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.webgl2_context.options_desynchronized_parameter diff --git a/features/webgl2.yml b/features/webgl2.yml new file mode 100644 index 00000000000..daac84ee39e --- /dev/null +++ b/features/webgl2.yml @@ -0,0 +1,244 @@ +name: WebGL2 2D and 3D Graphics +description: WebGL2 is a JavaScript API for rendering high-performance interactive 3D and 2D graphics and support for much of the OpenGL ES 3.0 feature set. +spec: https://registry.khronos.org/webgl/specs/latest/2.0/ +status: + compute_from: api.WebGL2RenderingContext +compat_features: + - api.HTMLCanvasElement.getContext.webgl2_context.options_alpha_parameter + - api.HTMLCanvasElement.getContext.webgl2_context.options_failIfMajorPerformanceCaveat_parameter + - api.HTMLCanvasElement.getContext.webgl2_context.options_powerPreference_parameter + - api.WebGL2RenderingContext + - api.WebGL2RenderingContext.activeTexture + - api.WebGL2RenderingContext.attachShader + - api.WebGL2RenderingContext.beginQuery + - api.WebGL2RenderingContext.beginTransformFeedback + - api.WebGL2RenderingContext.bindAttribLocation + - api.WebGL2RenderingContext.bindBuffer + - api.WebGL2RenderingContext.bindBufferBase + - api.WebGL2RenderingContext.bindBufferRange + - api.WebGL2RenderingContext.bindFramebuffer + - api.WebGL2RenderingContext.bindRenderbuffer + - api.WebGL2RenderingContext.bindSampler + - api.WebGL2RenderingContext.bindTexture + - api.WebGL2RenderingContext.bindTransformFeedback + - api.WebGL2RenderingContext.bindVertexArray + - api.WebGL2RenderingContext.blendColor + - api.WebGL2RenderingContext.blendEquation + - api.WebGL2RenderingContext.blendEquationSeparate + - api.WebGL2RenderingContext.blendFunc + - api.WebGL2RenderingContext.blendFuncSeparate + - api.WebGL2RenderingContext.blitFramebuffer + - api.WebGL2RenderingContext.bufferData + - api.WebGL2RenderingContext.bufferSubData + - api.WebGL2RenderingContext.canvas + - api.WebGL2RenderingContext.checkFramebufferStatus + - api.WebGL2RenderingContext.clear + - api.WebGL2RenderingContext.clearBufferfi + - api.WebGL2RenderingContext.clearBufferfv + - api.WebGL2RenderingContext.clearBufferiv + - api.WebGL2RenderingContext.clearBufferuiv + - api.WebGL2RenderingContext.clearColor + - api.WebGL2RenderingContext.clearDepth + - api.WebGL2RenderingContext.clearStencil + - api.WebGL2RenderingContext.clientWaitSync + - api.WebGL2RenderingContext.colorMask + - api.WebGL2RenderingContext.compileShader + - api.WebGL2RenderingContext.compressedTexImage2D + - api.WebGL2RenderingContext.compressedTexImage3D + - api.WebGL2RenderingContext.compressedTexSubImage2D + - api.WebGL2RenderingContext.compressedTexSubImage3D + - api.WebGL2RenderingContext.copyBufferSubData + - api.WebGL2RenderingContext.copyTexImage2D + - api.WebGL2RenderingContext.copyTexSubImage2D + - api.WebGL2RenderingContext.copyTexSubImage3D + - api.WebGL2RenderingContext.createBuffer + - api.WebGL2RenderingContext.createFramebuffer + - api.WebGL2RenderingContext.createProgram + - api.WebGL2RenderingContext.createQuery + - api.WebGL2RenderingContext.createRenderbuffer + - api.WebGL2RenderingContext.createSampler + - api.WebGL2RenderingContext.createShader + - api.WebGL2RenderingContext.createTexture + - api.WebGL2RenderingContext.createTransformFeedback + - api.WebGL2RenderingContext.createVertexArray + - api.WebGL2RenderingContext.cullFace + - api.WebGL2RenderingContext.deleteBuffer + - api.WebGL2RenderingContext.deleteFramebuffer + - api.WebGL2RenderingContext.deleteProgram + - api.WebGL2RenderingContext.deleteQuery + - api.WebGL2RenderingContext.deleteRenderbuffer + - api.WebGL2RenderingContext.deleteSampler + - api.WebGL2RenderingContext.deleteShader + - api.WebGL2RenderingContext.deleteSync + - api.WebGL2RenderingContext.deleteTexture + - api.WebGL2RenderingContext.deleteTransformFeedback + - api.WebGL2RenderingContext.deleteVertexArray + - api.WebGL2RenderingContext.depthFunc + - api.WebGL2RenderingContext.depthMask + - api.WebGL2RenderingContext.depthRange + - api.WebGL2RenderingContext.detachShader + - api.WebGL2RenderingContext.disable + - api.WebGL2RenderingContext.disableVertexAttribArray + - api.WebGL2RenderingContext.drawArrays + - api.WebGL2RenderingContext.drawArraysInstanced + - api.WebGL2RenderingContext.drawBuffers + - api.WebGL2RenderingContext.drawElements + - api.WebGL2RenderingContext.drawElementsInstanced + - api.WebGL2RenderingContext.drawingBufferFormat + - api.WebGL2RenderingContext.drawingBufferHeight + - api.WebGL2RenderingContext.drawingBufferStorage + - api.WebGL2RenderingContext.drawingBufferWidth + - api.WebGL2RenderingContext.drawRangeElements + - api.WebGL2RenderingContext.enable + - api.WebGL2RenderingContext.enableVertexAttribArray + - api.WebGL2RenderingContext.endQuery + - api.WebGL2RenderingContext.endTransformFeedback + - api.WebGL2RenderingContext.fenceSync + - api.WebGL2RenderingContext.finish + - api.WebGL2RenderingContext.flush + - api.WebGL2RenderingContext.framebufferRenderbuffer + - api.WebGL2RenderingContext.framebufferTexture2D + - api.WebGL2RenderingContext.framebufferTextureLayer + - api.WebGL2RenderingContext.frontFace + - api.WebGL2RenderingContext.generateMipmap + - api.WebGL2RenderingContext.getActiveAttrib + - api.WebGL2RenderingContext.getActiveUniform + - api.WebGL2RenderingContext.getActiveUniformBlockName + - api.WebGL2RenderingContext.getActiveUniformBlockParameter + - api.WebGL2RenderingContext.getActiveUniforms + - api.WebGL2RenderingContext.getAttachedShaders + - api.WebGL2RenderingContext.getAttribLocation + - api.WebGL2RenderingContext.getBufferParameter + - api.WebGL2RenderingContext.getBufferSubData + - api.WebGL2RenderingContext.getContextAttributes + - api.WebGL2RenderingContext.getError + - api.WebGL2RenderingContext.getExtension + - api.WebGL2RenderingContext.getFragDataLocation + - api.WebGL2RenderingContext.getFramebufferAttachmentParameter + - api.WebGL2RenderingContext.getIndexedParameter + - api.WebGL2RenderingContext.getInternalformatParameter + - api.WebGL2RenderingContext.getParameter + - api.WebGL2RenderingContext.getProgramInfoLog + - api.WebGL2RenderingContext.getProgramParameter + - api.WebGL2RenderingContext.getQuery + - api.WebGL2RenderingContext.getQueryParameter + - api.WebGL2RenderingContext.getRenderbufferParameter + - api.WebGL2RenderingContext.getSamplerParameter + - api.WebGL2RenderingContext.getShaderInfoLog + - api.WebGL2RenderingContext.getShaderParameter + - api.WebGL2RenderingContext.getShaderPrecisionFormat + - api.WebGL2RenderingContext.getShaderSource + - api.WebGL2RenderingContext.getSupportedExtensions + - api.WebGL2RenderingContext.getSyncParameter + - api.WebGL2RenderingContext.getTexParameter + - api.WebGL2RenderingContext.getTransformFeedbackVarying + - api.WebGL2RenderingContext.getUniform + - api.WebGL2RenderingContext.getUniformBlockIndex + - api.WebGL2RenderingContext.getUniformIndices + - api.WebGL2RenderingContext.getUniformLocation + - api.WebGL2RenderingContext.getVertexAttrib + - api.WebGL2RenderingContext.getVertexAttribOffset + - api.WebGL2RenderingContext.hint + - api.WebGL2RenderingContext.invalidateFramebuffer + - api.WebGL2RenderingContext.invalidateSubFramebuffer + - api.WebGL2RenderingContext.isBuffer + - api.WebGL2RenderingContext.isContextLost + - api.WebGL2RenderingContext.isEnabled + - api.WebGL2RenderingContext.isFramebuffer + - api.WebGL2RenderingContext.isProgram + - api.WebGL2RenderingContext.isQuery + - api.WebGL2RenderingContext.isRenderbuffer + - api.WebGL2RenderingContext.isSampler + - api.WebGL2RenderingContext.isShader + - api.WebGL2RenderingContext.isSync + - api.WebGL2RenderingContext.isTexture + - api.WebGL2RenderingContext.isTransformFeedback + - api.WebGL2RenderingContext.isVertexArray + - api.WebGL2RenderingContext.lineWidth + - api.WebGL2RenderingContext.linkProgram + - api.WebGL2RenderingContext.pauseTransformFeedback + - api.WebGL2RenderingContext.pixelStorei + - api.WebGL2RenderingContext.polygonOffset + - api.WebGL2RenderingContext.readBuffer + - api.WebGL2RenderingContext.readPixels + - api.WebGL2RenderingContext.renderbufferStorage + - api.WebGL2RenderingContext.renderbufferStorageMultisample + - api.WebGL2RenderingContext.resumeTransformFeedback + - api.WebGL2RenderingContext.sampleCoverage + - api.WebGL2RenderingContext.samplerParameterf + - api.WebGL2RenderingContext.samplerParameteri + - 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.texImage3D + - api.WebGL2RenderingContext.texParameterf + - api.WebGL2RenderingContext.texParameteri + - api.WebGL2RenderingContext.texStorage2D + - api.WebGL2RenderingContext.texStorage3D + - api.WebGL2RenderingContext.texSubImage2D + - api.WebGL2RenderingContext.texSubImage3D + - api.WebGL2RenderingContext.transformFeedbackVaryings + - api.WebGL2RenderingContext.uniform1f + - api.WebGL2RenderingContext.uniform1fv + - api.WebGL2RenderingContext.uniform1i + - api.WebGL2RenderingContext.uniform1iv + - api.WebGL2RenderingContext.uniform1ui + - api.WebGL2RenderingContext.uniform1uiv + - api.WebGL2RenderingContext.uniform2f + - api.WebGL2RenderingContext.uniform2fv + - api.WebGL2RenderingContext.uniform2i + - api.WebGL2RenderingContext.uniform2iv + - api.WebGL2RenderingContext.uniform2ui + - api.WebGL2RenderingContext.uniform2uiv + - api.WebGL2RenderingContext.uniform3f + - api.WebGL2RenderingContext.uniform3fv + - api.WebGL2RenderingContext.uniform3i + - api.WebGL2RenderingContext.uniform3iv + - api.WebGL2RenderingContext.uniform3ui + - api.WebGL2RenderingContext.uniform3uiv + - api.WebGL2RenderingContext.uniform4f + - api.WebGL2RenderingContext.uniform4fv + - api.WebGL2RenderingContext.uniform4i + - api.WebGL2RenderingContext.uniform4iv + - api.WebGL2RenderingContext.uniform4ui + - api.WebGL2RenderingContext.uniform4uiv + - api.WebGL2RenderingContext.uniformBlockBinding + - api.WebGL2RenderingContext.uniformMatrix2fv + - api.WebGL2RenderingContext.uniformMatrix2x3fv + - api.WebGL2RenderingContext.uniformMatrix2x4fv + - api.WebGL2RenderingContext.uniformMatrix3fv + - api.WebGL2RenderingContext.uniformMatrix3x2fv + - api.WebGL2RenderingContext.uniformMatrix3x4fv + - api.WebGL2RenderingContext.uniformMatrix4fv + - api.WebGL2RenderingContext.uniformMatrix4x2fv + - api.WebGL2RenderingContext.uniformMatrix4x3fv + - 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.vertexAttribDivisor + - api.WebGL2RenderingContext.vertexAttribI4i + - api.WebGL2RenderingContext.vertexAttribI4iv + - api.WebGL2RenderingContext.vertexAttribI4ui + - api.WebGL2RenderingContext.vertexAttribI4uiv + - api.WebGL2RenderingContext.vertexAttribIPointer + - api.WebGL2RenderingContext.vertexAttribPointer + - api.WebGL2RenderingContext.viewport + - api.WebGL2RenderingContext.waitSync + - api.WebGLQuery + - api.WebGLSampler + - api.WebGLSync + - api.WebGLTransformFeedback + - api.WebGLVertexArrayObject diff --git a/features/webgl2.yml.dist b/features/webgl2.yml.dist new file mode 100644 index 00000000000..5e933898720 --- /dev/null +++ b/features/webgl2.yml.dist @@ -0,0 +1,292 @@ +# Generated from: webgl2.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: "56" + chrome_android: "58" + edge: "79" + firefox: "51" + firefox_android: "51" + safari: "15" + safari_ios: "15" +compat_features: + # baseline: high + # baseline_low_date: 2021-09-20 + # baseline_high_date: 2024-03-20 + # support: + # chrome: "56" + # chrome_android: "56" + # 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 + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2021-09-20 + # baseline_high_date: 2024-03-20 + # support: + # chrome: "56" + # chrome_android: "58" + # edge: "79" + # firefox: "51" + # firefox_android: "51" + # safari: "15" + # safari_ios: "15" + - api.WebGL2RenderingContext + - api.WebGL2RenderingContext.activeTexture + - api.WebGL2RenderingContext.attachShader + - api.WebGL2RenderingContext.beginQuery + - api.WebGL2RenderingContext.beginTransformFeedback + - api.WebGL2RenderingContext.bindAttribLocation + - api.WebGL2RenderingContext.bindBuffer + - api.WebGL2RenderingContext.bindBufferBase + - api.WebGL2RenderingContext.bindBufferRange + - api.WebGL2RenderingContext.bindFramebuffer + - api.WebGL2RenderingContext.bindRenderbuffer + - api.WebGL2RenderingContext.bindSampler + - api.WebGL2RenderingContext.bindTexture + - api.WebGL2RenderingContext.bindTransformFeedback + - api.WebGL2RenderingContext.bindVertexArray + - api.WebGL2RenderingContext.blendColor + - api.WebGL2RenderingContext.blendEquation + - api.WebGL2RenderingContext.blendEquationSeparate + - api.WebGL2RenderingContext.blendFunc + - api.WebGL2RenderingContext.blendFuncSeparate + - api.WebGL2RenderingContext.blitFramebuffer + - api.WebGL2RenderingContext.bufferData + - api.WebGL2RenderingContext.bufferSubData + - api.WebGL2RenderingContext.canvas + - api.WebGL2RenderingContext.checkFramebufferStatus + - api.WebGL2RenderingContext.clear + - api.WebGL2RenderingContext.clearBufferfi + - api.WebGL2RenderingContext.clearBufferfv + - api.WebGL2RenderingContext.clearBufferiv + - api.WebGL2RenderingContext.clearBufferuiv + - api.WebGL2RenderingContext.clearColor + - api.WebGL2RenderingContext.clearDepth + - api.WebGL2RenderingContext.clearStencil + - api.WebGL2RenderingContext.clientWaitSync + - api.WebGL2RenderingContext.colorMask + - api.WebGL2RenderingContext.compileShader + - api.WebGL2RenderingContext.compressedTexImage2D + - api.WebGL2RenderingContext.compressedTexImage3D + - api.WebGL2RenderingContext.compressedTexSubImage2D + - api.WebGL2RenderingContext.compressedTexSubImage3D + - api.WebGL2RenderingContext.copyBufferSubData + - api.WebGL2RenderingContext.copyTexImage2D + - api.WebGL2RenderingContext.copyTexSubImage2D + - api.WebGL2RenderingContext.copyTexSubImage3D + - api.WebGL2RenderingContext.createBuffer + - api.WebGL2RenderingContext.createFramebuffer + - api.WebGL2RenderingContext.createProgram + - api.WebGL2RenderingContext.createQuery + - api.WebGL2RenderingContext.createRenderbuffer + - api.WebGL2RenderingContext.createSampler + - api.WebGL2RenderingContext.createShader + - api.WebGL2RenderingContext.createTexture + - api.WebGL2RenderingContext.createTransformFeedback + - api.WebGL2RenderingContext.createVertexArray + - api.WebGL2RenderingContext.cullFace + - api.WebGL2RenderingContext.deleteBuffer + - api.WebGL2RenderingContext.deleteFramebuffer + - api.WebGL2RenderingContext.deleteProgram + - api.WebGL2RenderingContext.deleteQuery + - api.WebGL2RenderingContext.deleteRenderbuffer + - api.WebGL2RenderingContext.deleteSampler + - api.WebGL2RenderingContext.deleteShader + - api.WebGL2RenderingContext.deleteSync + - api.WebGL2RenderingContext.deleteTexture + - api.WebGL2RenderingContext.deleteTransformFeedback + - api.WebGL2RenderingContext.deleteVertexArray + - api.WebGL2RenderingContext.depthFunc + - api.WebGL2RenderingContext.depthMask + - api.WebGL2RenderingContext.depthRange + - api.WebGL2RenderingContext.detachShader + - api.WebGL2RenderingContext.disable + - api.WebGL2RenderingContext.disableVertexAttribArray + - api.WebGL2RenderingContext.drawArrays + - api.WebGL2RenderingContext.drawArraysInstanced + - api.WebGL2RenderingContext.drawBuffers + - api.WebGL2RenderingContext.drawElements + - api.WebGL2RenderingContext.drawElementsInstanced + - api.WebGL2RenderingContext.drawRangeElements + - api.WebGL2RenderingContext.drawingBufferHeight + - api.WebGL2RenderingContext.drawingBufferWidth + - api.WebGL2RenderingContext.enable + - api.WebGL2RenderingContext.enableVertexAttribArray + - api.WebGL2RenderingContext.endQuery + - api.WebGL2RenderingContext.endTransformFeedback + - api.WebGL2RenderingContext.fenceSync + - api.WebGL2RenderingContext.finish + - api.WebGL2RenderingContext.flush + - api.WebGL2RenderingContext.framebufferRenderbuffer + - api.WebGL2RenderingContext.framebufferTexture2D + - api.WebGL2RenderingContext.framebufferTextureLayer + - api.WebGL2RenderingContext.frontFace + - api.WebGL2RenderingContext.generateMipmap + - api.WebGL2RenderingContext.getActiveAttrib + - api.WebGL2RenderingContext.getActiveUniform + - api.WebGL2RenderingContext.getActiveUniformBlockName + - api.WebGL2RenderingContext.getActiveUniformBlockParameter + - api.WebGL2RenderingContext.getActiveUniforms + - api.WebGL2RenderingContext.getAttachedShaders + - api.WebGL2RenderingContext.getAttribLocation + - api.WebGL2RenderingContext.getBufferParameter + - api.WebGL2RenderingContext.getBufferSubData + - api.WebGL2RenderingContext.getContextAttributes + - api.WebGL2RenderingContext.getError + - api.WebGL2RenderingContext.getExtension + - api.WebGL2RenderingContext.getFragDataLocation + - api.WebGL2RenderingContext.getFramebufferAttachmentParameter + - api.WebGL2RenderingContext.getIndexedParameter + - api.WebGL2RenderingContext.getInternalformatParameter + - api.WebGL2RenderingContext.getParameter + - api.WebGL2RenderingContext.getProgramInfoLog + - api.WebGL2RenderingContext.getProgramParameter + - api.WebGL2RenderingContext.getQuery + - api.WebGL2RenderingContext.getQueryParameter + - api.WebGL2RenderingContext.getRenderbufferParameter + - api.WebGL2RenderingContext.getSamplerParameter + - api.WebGL2RenderingContext.getShaderInfoLog + - api.WebGL2RenderingContext.getShaderParameter + - api.WebGL2RenderingContext.getShaderPrecisionFormat + - api.WebGL2RenderingContext.getShaderSource + - api.WebGL2RenderingContext.getSupportedExtensions + - api.WebGL2RenderingContext.getSyncParameter + - api.WebGL2RenderingContext.getTexParameter + - api.WebGL2RenderingContext.getTransformFeedbackVarying + - api.WebGL2RenderingContext.getUniform + - api.WebGL2RenderingContext.getUniformBlockIndex + - api.WebGL2RenderingContext.getUniformIndices + - api.WebGL2RenderingContext.getUniformLocation + - api.WebGL2RenderingContext.getVertexAttrib + - api.WebGL2RenderingContext.getVertexAttribOffset + - api.WebGL2RenderingContext.hint + - api.WebGL2RenderingContext.invalidateFramebuffer + - api.WebGL2RenderingContext.invalidateSubFramebuffer + - api.WebGL2RenderingContext.isBuffer + - api.WebGL2RenderingContext.isContextLost + - api.WebGL2RenderingContext.isEnabled + - api.WebGL2RenderingContext.isFramebuffer + - api.WebGL2RenderingContext.isProgram + - api.WebGL2RenderingContext.isQuery + - api.WebGL2RenderingContext.isRenderbuffer + - api.WebGL2RenderingContext.isSampler + - api.WebGL2RenderingContext.isShader + - api.WebGL2RenderingContext.isSync + - api.WebGL2RenderingContext.isTexture + - api.WebGL2RenderingContext.isTransformFeedback + - api.WebGL2RenderingContext.isVertexArray + - api.WebGL2RenderingContext.lineWidth + - api.WebGL2RenderingContext.linkProgram + - api.WebGL2RenderingContext.pauseTransformFeedback + - api.WebGL2RenderingContext.pixelStorei + - api.WebGL2RenderingContext.polygonOffset + - api.WebGL2RenderingContext.readBuffer + - api.WebGL2RenderingContext.readPixels + - api.WebGL2RenderingContext.renderbufferStorage + - api.WebGL2RenderingContext.renderbufferStorageMultisample + - api.WebGL2RenderingContext.resumeTransformFeedback + - api.WebGL2RenderingContext.sampleCoverage + - api.WebGL2RenderingContext.samplerParameterf + - api.WebGL2RenderingContext.samplerParameteri + - 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.texImage3D + - api.WebGL2RenderingContext.texParameterf + - api.WebGL2RenderingContext.texParameteri + - api.WebGL2RenderingContext.texStorage2D + - api.WebGL2RenderingContext.texStorage3D + - api.WebGL2RenderingContext.texSubImage2D + - api.WebGL2RenderingContext.texSubImage3D + - api.WebGL2RenderingContext.transformFeedbackVaryings + - api.WebGL2RenderingContext.uniform1f + - api.WebGL2RenderingContext.uniform1fv + - api.WebGL2RenderingContext.uniform1i + - api.WebGL2RenderingContext.uniform1iv + - api.WebGL2RenderingContext.uniform1ui + - api.WebGL2RenderingContext.uniform1uiv + - api.WebGL2RenderingContext.uniform2f + - api.WebGL2RenderingContext.uniform2fv + - api.WebGL2RenderingContext.uniform2i + - api.WebGL2RenderingContext.uniform2iv + - api.WebGL2RenderingContext.uniform2ui + - api.WebGL2RenderingContext.uniform2uiv + - api.WebGL2RenderingContext.uniform3f + - api.WebGL2RenderingContext.uniform3fv + - api.WebGL2RenderingContext.uniform3i + - api.WebGL2RenderingContext.uniform3iv + - api.WebGL2RenderingContext.uniform3ui + - api.WebGL2RenderingContext.uniform3uiv + - api.WebGL2RenderingContext.uniform4f + - api.WebGL2RenderingContext.uniform4fv + - api.WebGL2RenderingContext.uniform4i + - api.WebGL2RenderingContext.uniform4iv + - api.WebGL2RenderingContext.uniform4ui + - api.WebGL2RenderingContext.uniform4uiv + - api.WebGL2RenderingContext.uniformBlockBinding + - api.WebGL2RenderingContext.uniformMatrix2fv + - api.WebGL2RenderingContext.uniformMatrix2x3fv + - api.WebGL2RenderingContext.uniformMatrix2x4fv + - api.WebGL2RenderingContext.uniformMatrix3fv + - api.WebGL2RenderingContext.uniformMatrix3x2fv + - api.WebGL2RenderingContext.uniformMatrix3x4fv + - api.WebGL2RenderingContext.uniformMatrix4fv + - api.WebGL2RenderingContext.uniformMatrix4x2fv + - api.WebGL2RenderingContext.uniformMatrix4x3fv + - 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.vertexAttribDivisor + - api.WebGL2RenderingContext.vertexAttribI4i + - api.WebGL2RenderingContext.vertexAttribI4iv + - api.WebGL2RenderingContext.vertexAttribI4ui + - api.WebGL2RenderingContext.vertexAttribI4uiv + - api.WebGL2RenderingContext.vertexAttribIPointer + - api.WebGL2RenderingContext.vertexAttribPointer + - api.WebGL2RenderingContext.viewport + - api.WebGL2RenderingContext.waitSync + - api.WebGLQuery + - api.WebGLSampler + - api.WebGLSync + - api.WebGLTransformFeedback + - api.WebGLVertexArrayObject + + # baseline: false + # support: + # chrome: "75" + # chrome_android: "75" + # edge: "79" + # safari: "15" + # safari_ios: "15" + - api.HTMLCanvasElement.getContext.webgl2_context.options_powerPreference_parameter + + # baseline: false + # support: + # chrome: "122" + # chrome_android: "122" + # edge: "122" + - api.WebGL2RenderingContext.drawingBufferFormat + - api.WebGL2RenderingContext.drawingBufferStorage From 0c8d372ddfd749797ad3a9a1a1fa3adce965966e Mon Sep 17 00:00:00 2001 From: Pete LePage Date: Fri, 16 Aug 2024 11:09:28 -0400 Subject: [PATCH 2/5] Apply suggestions from code review Co-authored-by: Daniel D. Beck --- features/webgl2-context-colorspace.yml | 4 +++- features/webgl2-context-desynchronized.yml | 2 +- features/webgl2.yml | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/features/webgl2-context-colorspace.yml b/features/webgl2-context-colorspace.yml index a84a8f00265..637878c414d 100644 --- a/features/webgl2-context-colorspace.yml +++ b/features/webgl2-context-colorspace.yml @@ -1,6 +1,8 @@ name: Color management for WebGL2 -description: Specifies the color space to be used for the context. +description: The `drawingBufferColorSpace` and `unpackColorSpace` properties of `WebGL2RenderingContext` sets the color representation for the buffer and imported textures, such as `"srgb"` or `"display-p3"`. spec: https://registry.khronos.org/webgl/specs/latest/2.0/ +status: + compute_from: api.WebGL2RenderingContext.drawingBufferColorSpace compat_features: - api.WebGL2RenderingContext.drawingBufferColorSpace - api.WebGL2RenderingContext.unpackColorSpace diff --git a/features/webgl2-context-desynchronized.yml b/features/webgl2-context-desynchronized.yml index de8cbbb30f9..6869fcea37e 100644 --- a/features/webgl2-context-desynchronized.yml +++ b/features/webgl2-context-desynchronized.yml @@ -1,4 +1,4 @@ -name: Desynchronized WebGL2 +name: Desynchronized WebGL2 canvas description: Reduces latency by desynchronizing the canvas paint cycle from the event loop. spec: https://registry.khronos.org/webgl/specs/latest/2.0/ compat_features: diff --git a/features/webgl2.yml b/features/webgl2.yml index daac84ee39e..abd6bd41982 100644 --- a/features/webgl2.yml +++ b/features/webgl2.yml @@ -1,5 +1,6 @@ -name: WebGL2 2D and 3D Graphics -description: WebGL2 is a JavaScript API for rendering high-performance interactive 3D and 2D graphics and support for much of the OpenGL ES 3.0 feature set. +name: WebGL2 +description: The `WebGL2RenderingContext` API is the `"webgl2"` rendering context for the `` element. It represents a space for drawing two- and three-dimensional graphics and animations. It corresponds to OpenGL ES 3.0. +caniuse: webgl2 spec: https://registry.khronos.org/webgl/specs/latest/2.0/ status: compute_from: api.WebGL2RenderingContext From 7148b60379d6640eca0389e65b42c0a43e051bb8 Mon Sep 17 00:00:00 2001 From: Pete LePage Date: Fri, 16 Aug 2024 12:09:31 -0400 Subject: [PATCH 3/5] rename for consistency --- ...ext-colorspace.yml => webgl2-color-management.yml} | 0 ...pace.yml.dist => webgl2-color-management.yml.dist} | 11 ++++++++--- ...t-desynchronized.yml => webgl2-desynchronized.yml} | 0 ...onized.yml.dist => webgl2-desynchronized.yml.dist} | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) rename features/{webgl2-context-colorspace.yml => webgl2-color-management.yml} (100%) rename features/{webgl2-context-colorspace.yml.dist => webgl2-color-management.yml.dist} (77%) rename features/{webgl2-context-desynchronized.yml => webgl2-desynchronized.yml} (100%) rename features/{webgl2-context-desynchronized.yml.dist => webgl2-desynchronized.yml.dist} (83%) diff --git a/features/webgl2-context-colorspace.yml b/features/webgl2-color-management.yml similarity index 100% rename from features/webgl2-context-colorspace.yml rename to features/webgl2-color-management.yml diff --git a/features/webgl2-context-colorspace.yml.dist b/features/webgl2-color-management.yml.dist similarity index 77% rename from features/webgl2-context-colorspace.yml.dist rename to features/webgl2-color-management.yml.dist index 4466ed721a7..995fd6dd688 100644 --- a/features/webgl2-context-colorspace.yml.dist +++ b/features/webgl2-color-management.yml.dist @@ -1,13 +1,19 @@ -# Generated from: webgl2-context-colorspace.yml +# Generated from: webgl2-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.WebGL2RenderingContext.drawingBufferColorSpace - # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "104" diff --git a/features/webgl2-context-desynchronized.yml b/features/webgl2-desynchronized.yml similarity index 100% rename from features/webgl2-context-desynchronized.yml rename to features/webgl2-desynchronized.yml diff --git a/features/webgl2-context-desynchronized.yml.dist b/features/webgl2-desynchronized.yml.dist similarity index 83% rename from features/webgl2-context-desynchronized.yml.dist rename to features/webgl2-desynchronized.yml.dist index c6f25e5112c..c28609c660c 100644 --- a/features/webgl2-context-desynchronized.yml.dist +++ b/features/webgl2-desynchronized.yml.dist @@ -1,4 +1,4 @@ -# Generated from: webgl2-context-desynchronized.yml +# Generated from: webgl2-desynchronized.yml # Do not edit this file by hand. Edit the source file instead! status: From dfc10ff7ef6a58632c24847469eacd6e8a6dcabf Mon Sep 17 00:00:00 2001 From: "Daniel D. Beck" Date: Mon, 19 Aug 2024 14:32:32 +0200 Subject: [PATCH 4/5] Revise desynchronized WebGL2 canvas description --- features/webgl2-desynchronized.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/webgl2-desynchronized.yml b/features/webgl2-desynchronized.yml index 6869fcea37e..9b34ab529c2 100644 --- a/features/webgl2-desynchronized.yml +++ b/features/webgl2-desynchronized.yml @@ -1,5 +1,5 @@ name: Desynchronized WebGL2 canvas -description: Reduces latency by desynchronizing the canvas paint cycle from the event loop. +description: The optional `desynchronized` parameter of a canvas's `getContext()` method permits the browser to draw a WebGL2 canvas independently of the event loop. This can reduce drawing latency. spec: https://registry.khronos.org/webgl/specs/latest/2.0/ compat_features: - api.HTMLCanvasElement.getContext.webgl2_context.options_desynchronized_parameter From c8c78ea0202d8e1e203794d94c98fbc62218cf28 Mon Sep 17 00:00:00 2001 From: "Daniel D. Beck" Date: Mon, 19 Aug 2024 14:46:43 +0200 Subject: [PATCH 5/5] Refresh dist --- features/webgl2-color-management.yml.dist | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/features/webgl2-color-management.yml.dist b/features/webgl2-color-management.yml.dist index 995fd6dd688..b86a69ece14 100644 --- a/features/webgl2-color-management.yml.dist +++ b/features/webgl2-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.WebGL2RenderingContext.drawingBufferColorSpace