I just have a few random ideas about EGL_ANGLE_explicit_context to share...
1) It would be much easier to use it with C++ if the context was the last argument so in can automatically default to a global variable. I don't see that as a problem if it's manually configured that way when building the library.
2) You may read this as nitpicking, but calling on eglGetProcAddress will pull in code from every extension and the lookup table (string table) in proc_table_egl_autogen.cpp, like for instance with /OPT:REF.
For this reason it would be nice to be able to control the behavior of
support_egl_ANGLE_explicit_context in
https://chromium.googlesource.com/angle/angle/+/refs/heads/main/scripts/gen_proc_table.py to omit one or the other versions. I did a quick test and excluding unused code dropped the debug build from 21MB to 14MB (with some extra non-ANGLE code) and then not calling eglGetProcAddress (but explicitly referencing every non-extension procedure) reduced the EXE by another third, down to 7MB. That reduction includes non-ContextANGLE extensions, but as you can see it's not completely insignificant, although doing optimizations might change the picture (increase or decrease.)
(For the record, dropping "ContextANGLE" from the string table would only save 10KB. Maybe not worth it then.)
P.S. If not for (1) I wouldn't write this letter. I think I would not use this extension without (1) because it would require pretty elaborate wrappers to make it work without explicitly passing the context to every call. Anyway, I hope someone's heard this.