KhronosGroup / KhronosGroup/Vulkan-ValidationLayers

Detect union of copy regions

Open
#10,125 3 comments 0 reactions 0 assignees View on GitHub
Image Copies
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.