Developer reports
Vulkan push-constant update coverage
Trace missing byte/stage coverage and overlap-required update flags.
Your inputs
Start with an exampleYour result
Example resultHow it works
Check the supplied core-stage layout rules first. Split each update at layout boundaries. For each segment compare requested stages with covering stages: 01795 requires coverage for every requested stage; 01796 requires the update flags to include every overlapping range’s stages.
Vertex bytes 0–15 and fragment bytes 8–23 overlap at 8–15. An update there needs both flags. Requesting only vertex has coverage but fails the overlap-required fragment rule.
Limits
Selected range rules from the pinned Vulkan source only. Up to 256 ranges/updates, 32 flags per record, 500000 input characters, 131584 interval comparisons and an 8 MiB report. Unsigned 32-bit fields use exact non-wrapping sums. Six core stage bits and ALL_GRAPHICS only; nonempty flag arrays are a declared subset. Repeated stages across layout records invalidate the supplied layout even when byte ranges are disjoint. Zero-size updates have vacuous coverage, unlike zero-size layout ranges. Device limits, shader layouts/bytes, pointers, features, command state and complete Vulkan validity are not established.