C Specification
A collection of 64-bit flags is represented by a bitmask using the type
VkFlags64
:
// Provided by VK_KHR_synchronization2
typedef uint64_t VkFlags64;
Description
When the 31 bits available in VkFlags
are insufficient, the
VkFlags64
type can be passed to commands and structures to
represent up to 64 options.
VkFlags64
is not used directly in the API.
Instead, a Vk*Flags2
type which is an alias of VkFlags64
, and
whose name matches the corresponding Vk*FlagBits2
that are valid for
that type, is used.
Any Vk*Flags2
member or parameter used in the API as an input must be
a valid combination of bit flags.
A valid combination is either zero or the bitwise OR of valid bit flags.
A bit flag is valid if:
-
The bit flag is defined as part of the
Vk*FlagBits2
type, where the bits type is obtained by taking the flag type and replacing the trailingFlags2
withFlagBits2
. For example, a flag value of type VkAccessFlags2KHR must contain only bit flags defined by VkAccessFlagBits2KHR. -
The flag is allowed in the context in which it is being used. For example, in some cases, certain bit flags or combinations of bit flags are mutually exclusive.
Any Vk*Flags2
member or parameter returned from a query command or
otherwise output from Vulkan to the application may contain bit flags
undefined in its corresponding Vk*FlagBits2
type.
An application cannot rely on the state of these unspecified bits.
Note
Both the |
See Also
VK_KHR_synchronization2, VkFlags
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.