## D.2. Flag Types

Vulkan flag types are all bitmasks aliasing the base type `VkFlags` and with corresponding bit flag types defining the valid bits for that flag, as described in Valid Usage for Flags. Flag types supported by the Vulkan API include:

    typedef VkFlags VkAccessFlags;

    typedef VkFlags VkAttachmentDescriptionFlags;

    typedef VkFlags VkBufferCreateFlags;

    typedef VkFlags VkBufferUsageFlags;

    typedef VkFlags VkBufferViewCreateFlags;

    typedef VkFlags VkColorComponentFlags;

    typedef VkFlags VkCommandBufferResetFlags;

    typedef VkFlags VkCommandBufferUsageFlags;

    typedef VkFlags VkCommandPoolCreateFlags;

    typedef VkFlags VkCommandPoolResetFlags;

    typedef VkFlags VkCullModeFlags;

    typedef VkFlags VkDependencyFlags;

    typedef VkFlags VkDescriptorPoolCreateFlags;

    typedef VkFlags VkDescriptorPoolResetFlags;

    typedef VkFlags VkDescriptorSetLayoutCreateFlags;

    typedef VkFlags VkDeviceCreateFlags;

    typedef VkFlags VkDeviceQueueCreateFlags;

    typedef VkFlags VkEventCreateFlags;

    typedef VkFlags VkFenceCreateFlags;

    typedef VkFlags VkFormatFeatureFlags;

    typedef VkFlags VkFramebufferCreateFlags;

    typedef VkFlags VkImageAspectFlags;

    typedef VkFlags VkImageCreateFlags;

    typedef VkFlags VkImageUsageFlags;

    typedef VkFlags VkImageViewCreateFlags;

    typedef VkFlags VkInstanceCreateFlags;

    typedef VkFlags VkMemoryHeapFlags;

    typedef VkFlags VkMemoryMapFlags;

    typedef VkFlags VkMemoryPropertyFlags;

    typedef VkFlags VkPipelineCacheCreateFlags;

    typedef VkFlags VkPipelineColorBlendStateCreateFlags;

    typedef VkFlags VkPipelineCreateFlags;

    typedef VkFlags VkPipelineDepthStencilStateCreateFlags;

    typedef VkFlags VkPipelineDynamicStateCreateFlags;

    typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;

    typedef VkFlags VkPipelineLayoutCreateFlags;

    typedef VkFlags VkPipelineMultisampleStateCreateFlags;

    typedef VkFlags VkPipelineRasterizationStateCreateFlags;

    typedef VkFlags VkPipelineShaderStageCreateFlags;

    typedef VkFlags VkPipelineStageFlags;

    typedef VkFlags VkPipelineTessellationStateCreateFlags;

    typedef VkFlags VkPipelineVertexInputStateCreateFlags;

    typedef VkFlags VkPipelineViewportStateCreateFlags;

    typedef VkFlags VkQueryControlFlags;

    typedef VkFlags VkQueryPipelineStatisticFlags;

    typedef VkFlags VkQueryPoolCreateFlags;

    typedef VkFlags VkQueryResultFlags;

    typedef VkFlags VkQueueFlags;

    typedef VkFlags VkRenderPassCreateFlags;

    typedef VkFlags VkSampleCountFlags;

    typedef VkFlags VkSamplerCreateFlags;

    typedef VkFlags VkSemaphoreCreateFlags;

    typedef VkFlags VkShaderModuleCreateFlags;

    typedef VkFlags VkShaderStageFlags;

    typedef VkFlags VkSparseImageFormatFlags;

    typedef VkFlags VkSparseMemoryBindFlags;

    typedef VkFlags VkStencilFaceFlags;

    typedef VkFlags VkSubpassDescriptionFlags;