Compile combiner shader programs asynchronously to avoid stuttering. - #2978
Conversation
If GL_ARB/KHR_parallel_shader_compile is supported, compilation of a new combiner program is issued without waiting for the result: the driver compiles it in background threads while the current program is used as a substitute. Ready programs are added to the combiners map when the display list is finished, see gDPFullSync(). New config option: asyncShaderCompilation (enabled by default on Android).
Call glMaxShaderCompilerThreadsARB/KHR with count 0xFFFFFFFF at context init to request an implementation-specific maximum of background threads for parallel shader compilation.
|
It is the second attempt to solve "stuttering" problem caused by synchronous compilation of heavy GLideN64 shaders. |
If GL_ARB/KHR_parallel_shader_compile is supported, compilation of a new combiner program is issued without waiting for the result: the driver compiles it in background threads while the current program is used as a substitute. Ready programs are added to the combiners map when the display list is finished, see gDPFullSync().
New config option: asyncShaderCompilation (enabled by default on Android).