KhronosGroup / KhronosGroup/Vulkan-ValidationLayers

Missing validation logic for bufferImageGranularity

Open
#2,510 2 comments 0 reactions 0 assignees View on GitHub
Incomplete
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.