KHR_parallel_shader_compile must define behavior under context loss
In a discussion on Khronos' public_webgl mailing list about promoting WebGL's wrapper for the KHR_parallel_shader_compile extension, a point was raised: https://www.khronos.org/webgl/public-mailing-list/public_webgl/1904/msg00004.php
Namely, the KHR_robustness specification defines that if a graphics reset occurs, then queries of certain global and per-object state signal that they completed, so that applications which might poll those values continuously don't go into an infinite loop: https://www.khronos.org/registry/OpenGL/extensions/KHR/KHR_robustness.txt
(see the paragraph starting with "Any commands which might cause a polling application to block indefinitely...")
Currently, the KHR_parallel_shader_compile extension doesn't explicitly define what happens to pending compiles and links if a graphics reset occurs: https://www.khronos.org/registry/OpenGL/extensions/KHR/KHR_parallel_shader_compile.txt
It should be updated to define that queries of GL_COMPLETION_STATUS_KHR for both shaders and programs will return GL_TRUE if a graphics reset occurs.
cc @vonture
Filed http://anglebug.com/3379
We touched on this during the OpenGL/ES joint working group meeting today and agree this would be a good improvement to the GL_KHR_parallel_shader_compile spec. Will you propose a PR? Thanks.