-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix trimming that some current layout of image isn't tracked #1842
Conversation
Images with layout undefined will skip to dump snapshot during trimming, but not all the image layouts are set by VkImageBarrier or Renderpass, and CopyImage, BlitImage and ResolveImage.
CI gfxreconstruct build queued with queue ID 290077. |
CI gfxreconstruct build # 5226 running. |
CI gfxreconstruct build # 5226 passed. |
Hi @panos-lunarg, @bradgrantham-lunarg, |
I am not sure I understand when layout transitioning can be missed when tracking. None of the vulkan commands that are tracked and touched in this PR perform a layout transition. |
The example api call, image 382 is just a sample image. Image can be specify to this dest layout VK_IMAGE_LAYOUT_GENERAL from vkCmdCopyBufferToImage, does not use image barrier, or attachment in renderpass.
|
In your example Image
|
Yes, according the spec, vkCmdCopyBufferToImage does not transition image memory layout, the app calls vkCmdCopyBufferToImage without adding an appropriate image memory barrier, it may result in undefined behavior or incorrect data. This is an app bug. |
Images with layout undefined will skip to dump snapshot during trimming, but not all the image layouts are set by VkImageBarrier or Renderpass, and CopyImage, BlitImage and ResolveImage can also be set.