Fix Solari flickering by ordering solari_lighting#23304
Queued
alice-i-cecile wants to merge 1 commit intobevyengine:mainfrom
Queued
Fix Solari flickering by ordering solari_lighting#23304alice-i-cecile wants to merge 1 commit intobevyengine:mainfrom
alice-i-cecile wants to merge 1 commit intobevyengine:mainfrom
Conversation
aevyrie
approved these changes
Mar 11, 2026
mockersf
approved these changes
Mar 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Objective
Solari was flickering when DLSS was enabled after #23036.
Solution
My intuition was that this was a pre-existing system ordering issue, exposed by happenstance due to tweaks in the exact topo-sort being used.
That's consistent with both flickering and spooky action at a distance.
After some digging, I found that
solari_lighting's system ordering was not consistent withdeferred_lighting, and was free-floating inside ofCore3dSystems::MainPass).Ordering this before the
main_opaque_3d_passfixed the bug! I think the root ambiguity has something to do with the order in which GPU commands are queued, but that's a bit beyond my expertise.This bug likely exists without DLSS, and before the linked PR, but is hard to surface due to the topo sort of systems we were typically falling into.
Testing
cargo run --example solari --features="bevy_solari https free_camera dlss"