vk/dma: Initialize COW DMA block contents to avoid leaks #11541
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.
It is possible to lose data when uploading since the result of map_dma can change types and handles. Not a problem when using passthrough DMA, but this extension does not work properly on NVIDIA + windows forcing us to fall back to mixed mode. When a copy-based slice takes over for a passthrough slice, leakage can occur. Simply initialize the block memory on creation instead of using uninitialized contents. It costs almost nothing and new blocks are spawned so rarely that it really shouldn't be a problem.
Fixes random weirdness on NVIDIA cards when running async texture streaming.