OpenGL1 pipeline-- nothing renders after updating emscriptem

28 views
Skip to first unread message

rapt...@gmail.com

unread,
Nov 3, 2024, 8:15:30 AM11/3/24
to emscripten-discuss
Hi all, this is code that worked on earlier versions of emscriptem (1.4.0).
Proof here: https://www.robotwantskitty.com/web/

This is an older game and uses OpenGL 1.2 + SDL with the old pipeline.  I recently upgraded to the newest emscriptem (3.1.5) and, using the same compile lines, I get nothing rendering, and the console window is just printing out"DrawElements doesn't actually prepareClientAttributes properly" repeatedly (this is not text that I have anywhere in my code).

OpenGL gives no other indicators of what might be going wrong.  Since it used to work on an earlier version of emscriptem, is there anything special I need to do on the newer builds for GL1 compatibility?

I am using these flags:
-s LEGACY_GL_EMULATION=1 -s GL_FFP_ONLY=1

I thought it might be an issue of versioning, so I tried added this:
SDL_GL_SetAttribute( SDL_GL_CONTEXT_MAJOR_VERSION, 1 );
SDL_GL_SetAttribute( SDL_GL_CONTEXT_MINOR_VERSION, 2 );

...but when I add that it just tells me it can't create an OpenGL context.

Any ideas what the next thing I could check?  Why would it break 
Thanks in advance for any help you can give!

Sam Clegg

unread,
Nov 4, 2024, 12:09:31 PM11/4/24
to emscripte...@googlegroups.com
Sounds like a regression in emscripten.  Could you open a bug for that?

It would be useful to know exactly which version of emscripten causes the regression.   Have you tried the very latest version (3.1.70)?   This might be an issue that has already been fixed.

cheers,
sam

--
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 emscripten-disc...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/emscripten-discuss/073265d5-8d3c-4b4b-97d4-35a4c051ac8bn%40googlegroups.com.

キャロウ マーク

unread,
Nov 5, 2024, 4:04:34 AM11/5/24
to emscripten-discuss Sam Clegg via
Almost certainly this is the known regression that you now (since 3.1.51) need -s GL_ENABLE_GET_PROC_ADDRESS=1 if your OpenGL app is loading the function pointers itself. This is highly likely in an older (or current) game.

Many people, including me, felt this breaking change was not the right way to fix the problem.

Regards

    -Mark

signature.asc
Reply all
Reply to author
Forward
0 new messages