renderer_vulkan: Handle depth-stencil copies through depth render overrides. #2134
+146
−13
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.
As noted in the AMD docs,
DB_RENDER_OVERRIDE
bits may be used to perform copies to alternate surfaces. Detect and implement this case by looking for these bits set along with a valid depth/stencil read/write base and disabled color buffer mode.Fixes a lot of post-processing issues in Hedgehog Engine 2 games, such as persistent screen overlays (supposed to be an effect over objects far in the distance) and incorrect lighting effects (although there are still some other lighting problems remaining). Probably helps other games that do this as well.