KhronosGroup / KhronosGroup/Vulkan-ValidationLayers
Option to initialize undefined/discarded data with pattern
- Dominant language
- C++
- Stars
- 1k
- Forks
- 504
- Avg merge
- 11h 35m
- Merged PRs (30d)
- 224
Description
This feature has been available in Renderdoc since version 1.9 (see [Release Notes](https://github.com/baldurk/renderdoc/releases/tag/v1.9))
When an image is not initialized, transitioned from UNDEFINED, or used as an attachment with *_DONT_CARE, it fills the image with a recognizable pattern. Buffers are initialized with `0xD15CAD3D`.
This feature is excellent, but Renderdoc is not always capable of capturing workloads that use new or rare Vulkan features.
I would like to have a similar option in ValidationLayers. It would visually indicate that your workload is relying on undefined behavior, which may not be visible on one hardware vendor but could appear when using another.
Additionally, an option to use different values like `0x00`, `0xFF`, or `0xCC` for uninitialized memory would be useful as well.
Contributor guide
Research direction
The issue does not name implementation files, tests, or an entry point. Start by locating how Vulkan ValidationLayers handles undefined, discarded, and DONT_CARE image or buffer data, then define the configuration and validation coverage needed for recognizable patterns and alternate fill values.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100