KhronosGroup / KhronosGroup/Vulkan-ValidationLayers
Detect union of copy regions
- Dominant language
- C++
- Stars
- 1k
- Forks
- 504
- Avg merge
- 11h 35m
- Merged PRs (30d)
- 224
Description
The following VUs have the wording
> The union of all source regions, and the union of all destination regions, specified by the elements of pRegions, must not overlap in memory
- VUID-vkCmdCopyBuffer-pRegions-00117
- VUID-VkCopyBufferInfo2-pRegions-00117
- VUID-vkCmdCopyImage-pRegions-00124
- VUID-VkCopyImageInfo2-pRegions-00124
- VUID-vkCmdCopyBufferToImage-pRegions-00173
- VUID-vkCmdCopyImageToBuffer-pRegions-00184
- VUID-VkCopyBufferToImageInfo2-pRegions-00173
- VUID-VkCopyImageToBufferInfo2-pRegions-00184
- VUID-VkImageToMemoryCopy-pRegions-09067
- VUID-VkMemoryToImageCopy-pRegions-09062
- VUID-vkCmdBlitImage-pRegions-00217
- VUID-VkBlitImageInfo2-pRegions-00217
- VUID-vkCmdResolveImage-pRegions-00255
- VUID-VkResolveImageInfo2-pRegions-00255
----
This currently is not practical because we have no idea how to get the offset of the image in bytes actually. This means the best we could do is detect the VkBuffer is not overlapped in the `pRegions`
Contributor guide
Research direction
Start by reviewing the listed Vulkan copy, blit, and resolve command validation cases and how their pRegions are handled. The issue provides no file or test names; done means detecting overlap between the union of source regions and the union of destination regions for the listed VUs, including image regions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100