> On Dec 15, 2023, at 19:45, キャロウ マーク <[email protected]> wrote: > > My CI builds have suddenly started failing with wasm_ld reporting > emscripten_GetProcAddress undefined errors. It is reporting one error for > each call to the function rather than one overall. I have not changed > anything in my code so I think this must be related to an update to the > Emscripten Docker image. My builds use emscripten/emsdk:latest. It is emcc > 3.1.51 with clang 18.0.0git. It seems unlikely this is a bug. Has there been > a change that I need to accommodate my code to?
I found the breaking change in the changelog:
Breaking change: Using the *glGetProcAddress() family of functions now requires
passing a linker flag -sGL_ENABLE_GET_PROC_ADDRESS. This prevents ports of
native GL renderers from later accidentally attempting to activate "dormant"
features if web browser implementations gain new WebGL extensions in the
future, which *glGetProcAddress() is not able to support. (#20802)
I do not understand the reason given for the change. As far as I understand it
the issue is that Emscripten reveals all the extensions offered by the WebGL
implementation even if they are not implemented by Emscripten’s {GL,ES} wrapper
and thus has no address for glGetProcAddress to return. If this is a correct
understanding, the issue should be fixed by Emscripten filtering the extension
list so it only shows those its wrappers implement not by introducing breaking
changes. I think the majority of GL applications use GetProcAddress.
Regards
-Mark
--
You received this message because you are subscribed to the Google Groups
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/emscripten-discuss/EA1C9222-7CAD-47E0-9CCD-5E2BE2464D52%40callow.im.
signature.asc
Description: Message signed with OpenPGP
