KhronosGroup / KhronosGroup/Vulkan-Docs
Missing VU for command buffer state cornercase
- Dominant language
- JavaScript
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 2
Description
- Secondary command buffers can be made with both `VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT` and `VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT`.
- Such secondary can be recorded to two primary buffers.
- Secondary with `ONE_TIME` flag finishes execution into an _invalid_ state, and it turns any primary it is recorded in into the _invalid_ state too.
- Submitting both primary command buffers would cause one to finish, and the other to be invalid while still pending.
This sounds illegal, but I cannot find a VU forbidding it. Should probably forbid recording such secondary to multiple buffers (and allow only multiple recordings into the same buffer).
Contributor guide
Research direction
No files or tests are named. Start by locating the Vulkan specification sections covering secondary command buffer usage, recording into primary buffers, and command buffer state transitions. Reproduce the described sequence conceptually and determine whether a validity statement is missing; done means the legality of this scenario is explicitly resolved in the specification.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100