GL: implement EXT_clip_control and WEBGL_polygon_mode on Emscripten.
Following the spirit of extension-based functionality, the entrypoints
are available always but do something (i.e., call the actual WebGL API)
only if the extension is advertised. Which it is only on Emscripten
3.1.66+ because older versions don't have the corresponding entrypoints,
so there it's marked as disabled.
Additionally, EXT_polygon_offset_clamp is now also working on 3.1.66+,
but there's no wrapper for it yet.
extensions on GLES 3.1+, exposed as @ref GL::Texture::view() and similar
extensions on GLES 3.1+, exposed as @ref GL::Texture::view() and similar
APIs on other texture types
APIs on other texture types
- Implemented the GL 4.5 @gl_extension{ARB,clip_control} extension and
- Implemented the GL 4.5 @gl_extension{ARB,clip_control} extension and
matching @gl_extension{EXT,clip_control} extension on GLES, exposed as
matching @gl_extension{EXT,clip_control} and
@ref GL::Renderer::setClipControl(). See also [mosra/magnum#543](https://github.com/mosra/magnum/issues/543).
@webgl_extension{WEBGL,clip_control} extension on GLES and WebGL, exposed
as @ref GL::Renderer::setClipControl(). See also [mosra/magnum#543](https://github.com/mosra/magnum/issues/543).
- Implemented @gl_extension{EXT,texture_norm16} and
- Implemented @gl_extension{EXT,texture_norm16} and
@webgl_extension{EXT,texture_norm16} ES and WebGL extensions, making
@webgl_extension{EXT,texture_norm16} ES and WebGL extensions, making
normalized 16-bit texture and renderbuffer formats available on all
normalized 16-bit texture and renderbuffer formats available on all
@ -156,18 +157,19 @@ See also:
WebGL extensions, making @ref GL::SamplerWrapping::MirrorClampToEdge
WebGL extensions, making @ref GL::SamplerWrapping::MirrorClampToEdge
available on all platforms
available on all platforms
- Implemented the @m_class{m-doc-external} [ANGLE_provoking_vertex](https://chromium.googlesource.com/angle/angle/+/main/extensions/ANGLE_provoking_vertex.txt)
- Implemented the @m_class{m-doc-external} [ANGLE_provoking_vertex](https://chromium.googlesource.com/angle/angle/+/main/extensions/ANGLE_provoking_vertex.txt)
and @m_class{m-doc-external} [ANGLE_polygon_mode](https://chromium.googlesource.com/angle/angle/+/HEAD/extensions/ANGLE_polygon_mode.txt)
ES extension. Recognized also on WebGL as
ES extensions. Recognized also on WebGL as
@webgl_extension{WEBGL,provoking_vertex} but with no implementation as
@webgl_extension{WEBGL,provoking_vertex} and
@webgl_extension{WEBGL,polygon_mode} but with no implementation as
Emscripten doesn't have the required entrypoints yet.
Emscripten doesn't have the required entrypoints yet.
- Implemented the @m_class{m-doc-external} [ANGLE_polygon_mode](https://chromium.googlesource.com/angle/angle/+/HEAD/extensions/ANGLE_polygon_mode.txt)
and @webgl_extension{WEBGL,polygon_mode} ES and WebGL extension.
- Implemented the @m_class{m-doc-external} [ANGLE_stencil_texturing](https://chromium.googlesource.com/angle/angle/+/HEAD/extensions/ANGLE_stencil_texturing.txt)
- Implemented the @m_class{m-doc-external} [ANGLE_stencil_texturing](https://chromium.googlesource.com/angle/angle/+/HEAD/extensions/ANGLE_stencil_texturing.txt)
ES and @webgl_extension{WEBGL,stencil_texturing} WebGL extensions
ES and @webgl_extension{WEBGL,stencil_texturing} WebGL extensions
- Implemented the @gl_extension{EXT,blend_func_extended} ES and
- Implemented the @gl_extension{EXT,blend_func_extended} ES and