Skip to content

clarification on the meaning of VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT #2187

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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