KhronosGroup / KhronosGroup/Vulkan-ValidationLayers

Option to initialize undefined/discarded data with pattern

Open
#9,343 3 comments 0 reactions 0 assignees View on GitHub
Enhancement
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.