Ensure post processing happens when adjustments are enabled in the Compatibility renderer #93060
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: #92853
This issue was caused by how we manage our post-processing effects. Right now we only do post processing when the internal buffers are allocated. We check if the internal FBO exists (i.e. fbo != 0) as our condition for doing post effects.
The internal FBO is only ever allocated when glow or scaling are used. If neither of those are used then no post processing happens. Accordingly, the problem here was that adjustments didn't properly request for the internal FBO to get allocated.
Previously it was requested by Glow each frame. If Glow was enabled or disabled the existing buffers would get thrown out and re-allocated. I have adjusted this logic to simply request that the internal buffer be created. We don't need to free the buffers at run time. They should be allocated if needed, and then kept around to avoid performance penalties if effects are adjusted at run time.
I have fixed a few related issues too: