playcanvas / playcanvas/engine
Async Shader Compilation (KHR_parallel_shader_compile)
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 16.8k
- Forks
- 2k
- Avg merge
- 4h 32m
- Merged PRs (30d)
- 222
Description
There is a work going on for KHR_parallel_shader_compile extension:
Specs: https://www.khronos.org/registry/webgl/extensions/KHR_parallel_shader_compile/
Chrome Issue Tracker: https://bugs.chromium.org/p/chromium/issues/detail?id=849576
It allows to send shader to compiler without locking thread and check on compilation status later on.
That will speed up shader compilation on overall as well as open ability to compile shaders without thread lockup as it is now. From benchmarks even sync compilation path have already ~50% compilation time improvement.
Would be great to think about integrating it into the Engine once available.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the KHR_parallel_shader_compile specification and the linked Chrome Issue Tracker entry to understand availability and intended integration. Then inspect the engine's shader compilation entry points. Done means the extension is integrated without blocking the thread and compilation status can be checked later, with behavior verified against the specification.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100