Ensure that particles are processed at least once before being used #70418
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.
Fixes: #56691
Fixes: #59072
Fixes: #65443
The underlying problem in these issues is that the particles were being used for 1 frame before they were ever processed. So for the first frame the particle data came from uninitialized memory. This PR ensures that the particles will be updated at least one before they are drawn.
Oddly enough, these bugs were exposed in #58491. My theory is that prior to #58491 the uninitialized memory looked enough like a normal particle storage buffer that the bug did not surface often.
CC @RandomShaper who helped me debug this earlier today.