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.
This is an early draft and should not be merged, as it currently breaks a few things and the code is very bad.
The idea of this pull request is to eliminate the overhead of rendering the vignette and the alpha blending of the entity outline buffer, which currently contributes to a significant amount of GPU time (sometimes 10%+ of the total frame time.)
We achieve this by creating a special compositing shader which blends these render targets in a single operation.
Additionally, some optimizations are made to how the main render target is configured. We don't need the alpha channel on the color attachment, and the depth texture can be converted to a depth buffer so that drivers are allowed to use specialized depth formats.
These patches, depending on the scene, can improve frame times by 5% to 15% on Intel Xe graphics under Linux. So it would seem a worthwhile investment to try and refine them further, since right now this is a fixed overhead that is always applied.