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.

Reply via email to