Data can be retrieved from a pipeline cache object using the command:
// Provided by VK_VERSION_1_0 VkResult vkGetPipelineCacheData( VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
deviceis the logical device that owns the pipeline cache.
pipelineCacheis the pipeline cache to retrieve data from.
pDataSizeis a pointer to a
size_tvalue related to the amount of data in the pipeline cache, as described below.
NULLor a pointer to a buffer.
NULL, then the maximum size of the data that can be
retrieved from the pipeline cache, in bytes, is returned in
pDataSize must point to a variable set by the user to the
size of the buffer, in bytes, pointed to by
pData, and on return the
variable is overwritten with the amount of data actually written to
pDataSize is less than the maximum size that can be retrieved by
the pipeline cache, at most
pDataSize bytes will be written to
VK_INCOMPLETE will be returned instead of
VK_SUCCESS, to indicate that not all of the pipeline cache was
Any data written to
pData is valid and can be provided as the
pInitialData member of the VkPipelineCacheCreateInfo structure
Two calls to
vkGetPipelineCacheData with the same parameters must
retrieve the same data unless a command that modifies the contents of the
cache is called between them.
The initial bytes written to
pData must be a header as described in
the Pipeline Cache Header section.
pDataSize is less than what is necessary to store this header,
nothing will be written to
pData and zero will be written to
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.