Fix resolving DS with different formats #3389
Merged
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 #3386
This fixes 3 different validation errors in that game.
Resolves
Resolves hit the new temp image code path which didn't account for depth stencil (or passing VK_FORMAT_UNDEFINED as the resolve format) at all. So we ended up creating an image with VK_FORMAT_UNDEFINED and there were a ton of usage and image aspect errors.
It uses the new code path because the check for view compatibility fails because that check doesn't account for VK_FORMAT_UNDEFINED.
resolveImageFbDirect
will just get the formats off thesrcImage
&dstImage
if it receivesVK_FORMAT_UNDEFINED
, so the format will automatically be compatible.0 sized clears
Fairly self explainatory.
Image layout error with feedback loops
This was caused by the following events:
changeImageLayout
to change to a feedback loop layoutspillRenderPass(true)
transitionRenderTargetLayouts()
m_rtLayouts.color[i] = color.view->imageInfo().layout;
So to fix this, I just opted to update the tracked render target layouts in
changeImageLayout
if necessary.