KhronosGroup / KhronosGroup/Vulkan-Docs

Missing VU for command buffer state cornercase

Open
#1,477 2 comments 0 reactions 0 assignees View on GitHub
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.