VkPipelineCacheCreateFlagBits(3)

# VkPipelineCacheCreateFlagBits(3) Manual Page

## Name

VkPipelineCacheCreateFlagBits - Bitmask specifying the behavior of the pipeline cache

## C Specification

Bits which can be set in VkPipelineCacheCreateInfo::`flags`, specifying behavior of the pipeline cache, are:

    // Provided by VK_VERSION_1_0, VK_KHR_maintenance8, VK_EXT_pipeline_creation_cache_control
    typedef enum VkPipelineCacheCreateFlagBits {
      // Provided by VK_VERSION_1_3
        VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001,
      // Provided by VK_KHR_maintenance8
        VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR = 0x00000008,
      // Provided by VK_EXT_pipeline_creation_cache_control
        VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT,
    } VkPipelineCacheCreateFlagBits;

## Description

- VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT specifies that all commands that modify the created VkPipelineCache will be externally synchronized. When set, the implementation may skip any unnecessary processing needed to support simultaneous modification from multiple threads where allowed.

- VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR specifies that when the created VkPipelineCache is used as the `dstCache` parameter of vkMergePipelineCaches, it does not need to be externally synchronized. This flag is mutually exclusive with VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT.

## See Also

VK_EXT_pipeline_creation_cache_control, VK_KHR_maintenance8, VK_VERSION_1_0, VkPipelineCacheCreateFlags

## 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.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0