KhronosGroup / KhronosGroup/WebGL

Shipping extensions with GLES names can break existing content

Open
#3,604 8 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.