hal/vulkan: generate separate hash identity for Texture/TextureViews #7972
+139
−12
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.
Connections
Closes #7922
Closes #7956
Description
Previously we used the raw handle for equality/hash value for textures and texture views. This worked fine as long as the handles we are given are unique. However, if the implementation re-uses handles after we delete the views, as it has full right to do, we will use an old VkFramebuffer, causing a use-after-free.
Testing
Ran against renderdoc and against the reproduction provided in #7922.
Squash or Rebase?
Squabase
Going to add a changelog entry on backport,