ANGLE can't translate ESSL1 exts to ESSL3
Categories
(Core :: Graphics: CanvasWebGL, enhancement, P3)
Tracking
()
People
(Reporter: jgilbert, Unassigned)
References
Details
(Whiteboard: gfx-noted)
This means that even though the functionality of, say, EXT_frag_depth is core in ES3, we can't implement EXT_frag_depth in WebGL1 on an ES3 context.
| Reporter | ||
Updated•6 years ago
|
| Reporter | ||
Updated•6 years ago
|
Updated•3 years ago
|
I get the following output when opening https://registry.khronos.org/webgl/sdk/tests/conformance/extensions/ext-shader-texture-lod.html?webglVersion=1&quiet=0 on Mozilla Firefox 137.0 on Linux chernabog 6.14.2-401.asahi.fc42.aarch64+16k #1 SMP PREEMPT_DYNAMIC Wed Apr 16 12:06:15 UTC 2025 aarch64 GNU/Linux:
This test verifies the functionality of the EXT_shader_texture_lod extension, if it is available.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
TEST COMPLETE: 13 PASS, 0 FAIL
PASS WebGL context exists
Testing various shader compiles with extension disabled
PASS GL_EXT_shader_texture_lod not defined in shaders when extension disabled
PASS Shader built-ins disallowed without #extension pragma
PASS Shader built-ins failed to compile when extension disabled
PASS No EXT_shader_texture_lod support -- this is legal
PASS EXT_shader_texture_lod not listed as supported and getExtension failed -- this is legal
Testing new context to catch cache errors
PASS WebGL context exists
Testing various shader compiles with extension disabled
PASS GL_EXT_shader_texture_lod not defined in shaders when extension disabled
PASS Shader built-ins disallowed without #extension pragma
PASS Shader built-ins failed to compile when extension disabled
PASS No EXT_shader_texture_lod support -- this is legal
PASS EXT_shader_texture_lod not listed as supported and getExtension failed -- this is legal
PASS successfullyParsed is true
TEST COMPLETE
as well as the following lines in my syslog:
Apr 22 16:18:15 chernabog firefox.desktop[2183]: GetShaderInfoLog() ->
Apr 22 16:18:15 chernabog firefox.desktop[2183]: 0:2(12): error: extension `GL_EXT_shader_texture_lod' unsupported in fragment shader
Apr 22 16:18:15 chernabog firefox.desktop[2183]: GetShaderSource() ->
Apr 22 16:18:15 chernabog firefox.desktop[2183]: #extension GL_EXT_shader_texture_lod: require
Apr 22 16:18:15 chernabog firefox.desktop[2183]: void main() {}
Apr 22 16:18:15 chernabog firefox.desktop[2183]: GetShaderInfoLog() ->
Apr 22 16:18:15 chernabog firefox.desktop[2183]: 0:2(12): error: extension `GL_EXT_shader_texture_lod' unsupported in fragment shader
Apr 22 16:18:15 chernabog firefox.desktop[2183]: GetShaderSource() ->
Apr 22 16:18:15 chernabog firefox.desktop[2183]: #extension GL_EXT_shader_texture_lod: require
Apr 22 16:18:15 chernabog firefox.desktop[2183]: void main() {}
I asked Alyssa Rosenzweig, the GPU Asahi driver wizard, and they said:
no mesa drivers implement that EXT
and it's an ancient gles2 ext and been replaced by core gles3 functionality with slightly different syntax
the bug here being, Firefox's job is to translate the WebGL EXT of the same name to the core gles3 functionality instead of relying on the gles2 ext
Description
•