-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow to skip parallel shader compilation if required #16121
Allow to skip parallel shader compilation if required #16121
Conversation
Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). |
Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). |
Snapshot stored with reference name: Test environment: To test a playground add it to the URL, for example: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16121/merge/index.html#WGZLGJ#4600 Links to test babylon tools with this snapshot: https://playground.babylonjs.com/?snapshot=refs/pull/16121/merge To test the snapshot in the playground with a playground ID add it after the snapshot query string: https://playground.babylonjs.com/?snapshot=refs/pull/16121/merge#BCU1XR#0 |
WebGL2 visualization test reporter: |
Visualization tests for WebGPU |
Looks good to me, but did you add this capability because you needed it? In my experience, we disable parallel compilation of shaders for testing purposes, but I've never had a use case where I needed to disable it specifically on a per effect/material basis. |
Yup this is required for a partner use case. |
Visualization tests for WebGPU |
WebGL2 visualization test reporter: |
Please wait with merging, I am adding a test for this. |
Visualization tests for WebGPU |
WebGL2 visualization test reporter: |
This allows disabling parallel shader compilation for a single effect. Instead of forcing us to change the engine's capabilities using this code:
engine.getCaps().parallelShaderCompile = undefined;
it is possible to set the flag to false. This flag is set on when creating a pipeline context and doesn't make any changes to the engine's capabilities, which allow an effects to be compiled in parallel and synchronously.