Convert shader compilation and occlusion buffer to use parallel for_range()
#79481
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Simplifies threading compared to direct usage of
WorkerThreadPool
, since there is no longer a need for intermediate functions or structs.Some instances of
WorkerThreadPool
have been omitted from this PR to avoid conflicting with #72687RaycastOcclusionCull::RaycastHZBuffer::update_camera_rays()
may experience performance regressions until #72716 is merged.This PR passes the regression test here: godotengine/godot-benchmarks#34
This PR has not been tested on https://github.com/Calinou/godot-rendering-tests