KhronosGroup / KhronosGroup/Vulkan-ValidationLayers
Missing validation logic for bufferImageGranularity
- Dominant language
- C++
- Stars
- 1k
- Forks
- 504
- Avg merge
- 11h 35m
- Merged PRs (30d)
- 224
Description
**Describe the situation in which you encountered the missing validation**
Issue description: While changing the memory types selected for resources on NVIDIA GPUs sampling a textures returned invalid values, but only when a specific allocation pattern was used. I root caused the issue to our memory allocator not honoring the `VkPhysicalDeviceLimits::bufferImageGranularity`.
**Valid Usage IDs requested**
Please include the valid usage IDs for the checks you are requesting: There is no VUID for this D:
This [section of the specification](https://www.khronos.org/registry/vulkan/specs/1.2/html/vkspec.html#resources-bufferimagegranularity
) is basically a corner case of the definition of resource aliasing.
**Additional Context**
Any additional information:
Found running the test for [this Dawn commit](https://dawn-review.googlesource.com/c/dawn/+/39500).
Contributor guide
Research direction
No repository file or test is named. Start with the Vulkan specification's resources-bufferimagegranularity section and reproduce the allocation pattern from the Dawn commit test; trace the validation-layer path that handles resource memory aliasing. Done means the missing bufferImageGranularity violation is detected for the reported case without invalid reports for valid usage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics, devtools, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100