Skip to content

clarification on the meaning of VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT #2187

@brakhane

Description

@brakhane

§ 7.1.2 currently defines VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT as

[...] specifies the execution of all graphics pipeline stages, and is equivalent to the logical OR of [list of bits]

At the same time, VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT is defined as (emphasis mine)

[...] specifies all operations performed by all commands supported on the queue it is used with.

While ALL_COMMANDS explicitely mentions that only supported features are included, ALL_GRAPHICS doesn't; furthermore, it is specified as being equivalent to a logical OR of all the specific bits. Since a stage mask must not contain unsupported features, this could be interpreted as that ALL_GRAPHICS cannot be used unless all specific features are supported by the device.

The validation layers do interpret ALL_GRAPHICS to only include supported features, which is most likely what is intended.

If that is the case, the wording should be changed to make clear that it's the logical OR of all supported bits.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions