Vulkan-Docs/doc/specs/vulkan/man/vkCreatePipelineCache.txt

87 lines
2.6 KiB
Plaintext

// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
vkCreatePipelineCache(3)
========================
Name
----
vkCreatePipelineCache - Creates a new pipeline cache
C Specification
---------------
// refBegin vkCreatePipelineCache Creates a new pipeline cache
To create pipeline cache objects, call:
include::../api/protos/vkCreatePipelineCache.txt[]
Parameters
----------
* pname:device is the logical device that creates the pipeline cache
object.
* pname:pCreateInfo is a pointer to a sname:VkPipelineCacheCreateInfo
structure that contains the initial parameters for the pipeline cache
object.
* pname:pAllocator controls host memory allocation as described in the
<<memory-allocation, Memory Allocation>> chapter.
* pname:pPipelineCache is a pointer to a sname:VkPipelineCache handle in
which the resulting pipeline cache object is returned.
Description
-----------
[NOTE]
.Note
====
Applications can: track and manage the total host memory size of a pipeline
cache object using the pname:pAllocator. Applications can: limit the amount
of data retrieved from a pipeline cache object in fname:vkGetPipelineCacheData.
Implementations shouldnot: internally limit the total number of entries added to a
pipeline cache object or the total host memory consumed.
====
Once created, a pipeline cache can: be passed to the
fname:vkCreateGraphicsPipelines and fname:vkCreateComputePipelines commands.
If the pipeline cache passed into these commands is not
dlink:VK_NULL_HANDLE, the implementation will query it for possible reuse
opportunities and update it with new content. The use of the pipeline cache
object in these commands is internally synchronized, and the same pipeline
cache object can: be used in multiple threads simultaneously.
[NOTE]
.Note
====
Implementations should: make every effort to limit any critical sections
to the actual accesses to the cache, which is expected to be significantly
shorter than the duration of the fname:vkCreateGraphicsPipelines and
fname:vkCreateComputePipelines commands.
====
include::../validity/protos/vkCreatePipelineCache.txt[]
See Also
--------
slink:VkAllocationCallbacks, slink:VkDevice, slink:VkPipelineCache, slink:VkPipelineCacheCreateInfo
Document Notes
--------------
For more information, see the Vulkan Specification at URL
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#vkCreatePipelineCache
This page is extracted from the Vulkan Specification.
Fixes and changes should be made to the Specification,not directly.
include::footer.txt[]