KhronosGroup / KhronosGroup/WebGL
Shipping extensions with GLES names can break existing content
- Dominant language
- HTML
- Stars
- 2.9k
- Forks
- 703
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 4
Description
Please see this bug for details: https://github.com/emscripten-core/emscripten/issues/20798
tl;dr:
- Emscripten exposes the GL_EXTENSIONS directly from WebGL.
- Emscripten does not implement glClipControlEXT or glPolygonOffsetClampEXT.
- Browser ships EXT_clip_control or EXT_polygon_offset_clamp.
- Existing pages on the Web that were compiled using Emscripten, from C/C++ code that supported these extensions ([like Filament](https://github.com/google/filament/blob/e7c67d1adb45182a0b7e765a7d90564c26640da9/filament/backend/src/opengl/OpenGLContext.cpp#L281)), start crashing
I have a few ideas about this but my suggestion on that bug is for the WebGL group to simply not ship new `EXT_` extensions that add new functions, and instead rebrand them as `WEBGL_`.
Contributor guide
Research direction
Start by reading the linked Emscripten issue 20798 and the referenced Filament OpenGLContext.cpp example to understand the compatibility failure. A complete outcome would require an agreed WebGL extension-naming or exposure policy, but this issue does not identify an implementation file or test.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, computer-graphics, web-dev
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100