Skip to content

[WIP] gpuav: PoisonPass#12038

Open
jeffbolznv wants to merge 1 commit intoKhronosGroup:mainfrom
jeffbolznv:poison_pass
Open

[WIP] gpuav: PoisonPass#12038
jeffbolznv wants to merge 1 commit intoKhronosGroup:mainfrom
jeffbolznv:poison_pass

Conversation

@jeffbolznv
Copy link
Copy Markdown
Contributor

Model propagation of poison values in gpuav by tracking shadow values for anything that could potentially be poison. When a poison value could be used in a way that leads to undefined behavior, insert a check for poison and report an error (and skip the undefined behavior).

The "potentially poison" values are seeded based on uninitialized variables. This detects a real problem we see in practice where applications rely on specific compiler behavior or implicit zero-initialization of temporaries, and breaks when the compiler is updated. In the future, this pass could also be seeded with other sources of poison (e.g. shifting by too large of a value).

This code was largely AI-generated, with a bunch of review/feedback from me.

WIP because I still want to do more testing with real apps.

Model propagation of poison values in gpuav by tracking shadow values
for anything that could potentially be poison. When a poison value could
be used in a way that leads to undefined behavior, insert a check for
poison and report an error (and skip the undefined behavior).

The "potentially poison" values are seeded based on uninitialized variables.
This detects a real problem we see in practice where applications rely on
specific compiler behavior or implicit zero-initialization of temporaries,
and breaks when the compiler is updated. In the future, this pass could also
be seeded with other sources of poison (e.g. shifting by too large of a value).

This code was largely AI-generated, with a bunch of review/feedback from me.
@jeffbolznv jeffbolznv requested a review from a team as a code owner April 3, 2026 22:04
@ci-tester-lunarg
Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build queued with queue ID 699167.

@ci-tester-lunarg
Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build # 23031 running.

@ci-tester-lunarg
Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build # 23031 failed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants