What kind of performance benefits are you seeing with the modifications? (and which browser/OS versions?)
2017-05-18 3:21 GMT+03:00 Alecazam <[email protected]>: > Looks like Emscripten's glLinkProgram prevents async shader compilation. > There are several problems here. First link reflects the uniforms > immediately (syncing cpu/driver), but populateUniformTable never even tests > the LINK_STATUS that I could find (there's a validate id in > populateUniformTable) before doing the reflection. > > It would be better to require callers to test GL.LINK_STATUS and do the > populate call there, but callers would need to call that or the table > wouldn't be populated. You could also do it in a few of the other program > get calls. We'll just bypass this call for now. > > > ``` > glLinkProgram__sig: 'vi', > glLinkProgram: function(program) { > #if GL_ASSERTIONS > GL.validateGLObjectID(GL.programs, program, 'glLinkProgram', > 'program'); > #endif > GLctx.linkProgram(GL.programs[program]); > GL.programInfos[program] = null; // uniforms no longer keep the same > names after linking > > GL.populateUniformTable(program); <- synchronous reflection > }, > ``` > > > -- > 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]. > For more options, visit https://groups.google.com/d/optout. > -- 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]. For more options, visit https://groups.google.com/d/optout.
