You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 1, 2026. It is now read-only.
would want to avoid overlapping too much with spirv-val unless we can do in orders of magnitude less code
Rust-GPU's SPIR-V type rules could be a starting point (though they lack a lot of "concrete type" cases due to their limited scope, originally)
Ideally a lot of this could be modular/data-driven, to maximize potential reuse of the relevant rules (e.g. any type-checker can theoretically be turned into a constraint solver for e.g. inference purposes).
Right now some SPIR-T consumers (mostly
spv::lift) have assertions here and there but it's nowhere near enough.We really need a dedicated verifier, which could check:
spv::{lower,lift},see also Bring many basic types/insts into SPIR-T (instead of leaving them as SPIR-V). #1
SelectionKind::BoolCondselect should take a bool input)spirv-valunless we can do in orders of magnitude less codeIdeally a lot of this could be modular/data-driven, to maximize potential reuse of the relevant rules (e.g. any type-checker can theoretically be turned into a constraint solver for e.g. inference purposes).