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

84 lines
2.7 KiB
Plaintext
Raw Normal View History

2016-02-16 01:53:44 -08:00
vkCreateComputePipelines(3)
===========================
Name
----
vkCreateComputePipelines - Creates a new compute pipeline object.
C Specification
---------------
include::../protos/vkCreateComputePipelines.txt[]
Parameters
----------
pname:device::
A handle to the device to use to create the new compute pipelines.
pname:pipelineCache::
A handle to a pipeline cache from which the result of previous compiles may
be retrieved, and to which the result of this compile may be stored.
pname:createInfoCount::
The number of pipelines to create.
pname:pCreateInfos::
Pointer to an array of pname:createInfoCount
sname:VkComputePipelineCreateInfo structures defining the contents of
the new pipelines.
pname:pPipelines::
A pointer to an array to receive the handles to the new compute pipeline
objects.
Description
-----------
fname:vkCreateComputePipelines creates new compute pipeline objects using the device specified in
pname:device and the creation information specified in the structures pointed to by pname:pCreateInfos and
deposits the resulting handles in the array pointed to by pname:pPipelines. The definition
of slink:VkComputePipelineCreateInfo is:
include::../structs/VkComputePipelineCreateInfo.txt[]
.Create Info Details
- pname:sType indicates the type of this structure and must be
ename:VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO.
- pname:pNext is a pointer to an extension-specific structure (can be NULL).
- pname:stage is a sname:VkPipelineShaderStageCreateInfo describing the
compute shader.
- pname:flags controls how the driver will create the pipeline.
- pname:layout the description of binding locations used by both the
pipeline and the descritor sets.
- pname:basePipelineHandle the pipeline to derive from (can be
Change log for April 22, 2016 Vulkan 1.0.11 spec update: * Bump API patch number and header version number to 11 for this update. Github Issues: * Clarify the WSI extension language by switching from the fuzzier "ownership" language to more-consistent "acquire" language (public issue 117). * Clarify that memory barriers apply to all commands in the dependency chains in the flink:vkGetRenderAreaGranularity command and the <<synchronization-execution-and-memory-dependencies,Execution And Memory Dependencies>> section (public issue 132). * Clarify that a queue family is a set of queues in the <<fundamentals-execmodel,Execution Model>> section (public issue 166). * Removed requirement from valid usage language that VkPresentInfoKHR::waitSemaphoreCount must be greater than 0 (public issue 171). * Fix broken internal links, describe structures consistently, use consistent style for SPIR-V codewords, and tag normative terms that were missing asciidoc tags (public issue 183 and ancillary markup/normative language fixes). * Fix typos for slink:VkPhysicalDeviceLimits member names in slink:VkImageCreateInfo validity language (public issue 184). Internal Issues: * Document that the requested patch version number specified as part of slink:VkApplicationInfo::pname:apiVersion is ignored when creating an instance (internal issue 176). * Clarify handling of extension structs in the <<fundamentals-validusageValid Usage>> section (internal issue 254). * Update required slink:VkImageFormatProperties::pname:maxMipLevels to be limited to the maximum allowed mipmap pyramid size corresponding to the actual maximum supported size for the format (internal issue 256). * Modify the <<features-extentperimagetype,Allowed Extent Values Based On Image Type>> section so the allowed maximum extent is the maximum image dimension supported for each dimension of the type of texture being queried (internal issue 257). * Clarify in the <<spirvenv-module-validation,Validation Rules within a Module>> section that at least one of the code:LocalSize execution mode or code:WorkgroupSize decoration is required for each compute shader entry point in a shader module (internal issue 279). * Add validity rules for formats in flink:vkCmdClearColorImage and flink:vkCmdClearDepthStencilImage (internal issue 283). * Clarify that slink:VkImageFormatProperties::pname:maxResourceSize is an upper bound, and that it may not be possible to create an image anywhere near that size (internal issue 284). Other Commits: * Fix various minor markup errors reported by validation scripts. * Change copyright from Khronos Free Use License to Apache 2.0 license on relevant script/XML/header files. This does not affect the specification source copyright.
2016-04-21 01:08:38 -07:00
code:VK_NULL_HANDLE, if pipeline is not derived).
2016-02-16 01:53:44 -08:00
- pname:basePipelineIndex the index into the pname:pCreateInfos parameter
to fname:vkCreateComputePipelines.
The parameters pname:basePipelineHandle and pname:basePipelineIndex are ignored
unless pname:flags has the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT bit set. If
using the pname:basePipelineIndex parameter, the index must refer to a
Change log for April 29, 2016 Vulkan 1.0.12 spec update: * Bump API patch number and header version number to 12 for this update. Github Issues: * Change valid usage statements intended to be "sub-points" to be actual sub-points (public issue 66). * Replace double negation in description of slink:VkRenderPassBeginInfo::pname:pClearValues (based on public merge 142). * Cleanup minor typos in spec, ref pages and XML, including those proposed in public pull requests 144, 150, 151, 167, 168, 181, and 186. * Use *strict subset* in describing the partial order of memory property types for slink:VkMemoryType, and update the style guide accordingly (public issue 190). * Fix various "a image" -> "an image" typos (public issue 191). * Note in the <<fundamentals-validusage,Valid Usage>> and <<extensions-interactions,Extension Interactions>> sections that structures defined by extensions which may be passed in structure chains using the ptext:pNext member must: include initial ptext:sType and ptext:pNext members (public issue 192). Internal Issues: * Remove duplicate language from the description of the pname:fence parameter to flink:vkQueueSubmit and improve validity language (internal issue 91). * Added documentation for "optional" attribute to XML readme.tex/pdf (internal issue 149). * Clarify the host-side data validity rules and behavior of flink:vkFlushMappedMemoryRanges and flink:vkInvalidateMappedMemoryRanges (internal issue 266). Other Commits: * Added clarification to flink:vkCmdFillBuffer regarding the use of ename:VK_WHOLE_SIZE. * Fixed and documented implementation of "validextensionstructs" attribute. in XML processing scripts and readme.tex/pdf. * Add missing validity statements to flink:vkResetEvent and flink:vkCmdResetEvent. * Fix validity for the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag. Correct all the draw/dispatch commands to mention optimally tiled images as well as linear tiled images, and say image VIEWS instead of images. Add validity statement to flink:vkCmdBlitImage * Replace the {apiname} macro with hardcoded "Vulkan", now that we've committed to that name. * Add the VK_AMD_rasterization_order extension to vk.xml.
2016-04-29 14:53:46 +02:00
pname:pCreateInfos parameter passed to vkCreateComputePipelines that appeared
2016-02-16 01:53:44 -08:00
earlier than the current sname:VkComputePipelineCreateInfo in the list. The
parameters pname:basePipelineHandle and pname:basePipelineIndex are mutually
exclusive. If you specify a valid pname:basePipelineHandle,
pname:basePipelineIndex must be set to -1. If you specify a valid
Change log for April 22, 2016 Vulkan 1.0.11 spec update: * Bump API patch number and header version number to 11 for this update. Github Issues: * Clarify the WSI extension language by switching from the fuzzier "ownership" language to more-consistent "acquire" language (public issue 117). * Clarify that memory barriers apply to all commands in the dependency chains in the flink:vkGetRenderAreaGranularity command and the <<synchronization-execution-and-memory-dependencies,Execution And Memory Dependencies>> section (public issue 132). * Clarify that a queue family is a set of queues in the <<fundamentals-execmodel,Execution Model>> section (public issue 166). * Removed requirement from valid usage language that VkPresentInfoKHR::waitSemaphoreCount must be greater than 0 (public issue 171). * Fix broken internal links, describe structures consistently, use consistent style for SPIR-V codewords, and tag normative terms that were missing asciidoc tags (public issue 183 and ancillary markup/normative language fixes). * Fix typos for slink:VkPhysicalDeviceLimits member names in slink:VkImageCreateInfo validity language (public issue 184). Internal Issues: * Document that the requested patch version number specified as part of slink:VkApplicationInfo::pname:apiVersion is ignored when creating an instance (internal issue 176). * Clarify handling of extension structs in the <<fundamentals-validusageValid Usage>> section (internal issue 254). * Update required slink:VkImageFormatProperties::pname:maxMipLevels to be limited to the maximum allowed mipmap pyramid size corresponding to the actual maximum supported size for the format (internal issue 256). * Modify the <<features-extentperimagetype,Allowed Extent Values Based On Image Type>> section so the allowed maximum extent is the maximum image dimension supported for each dimension of the type of texture being queried (internal issue 257). * Clarify in the <<spirvenv-module-validation,Validation Rules within a Module>> section that at least one of the code:LocalSize execution mode or code:WorkgroupSize decoration is required for each compute shader entry point in a shader module (internal issue 279). * Add validity rules for formats in flink:vkCmdClearColorImage and flink:vkCmdClearDepthStencilImage (internal issue 283). * Clarify that slink:VkImageFormatProperties::pname:maxResourceSize is an upper bound, and that it may not be possible to create an image anywhere near that size (internal issue 284). Other Commits: * Fix various minor markup errors reported by validation scripts. * Change copyright from Khronos Free Use License to Apache 2.0 license on relevant script/XML/header files. This does not affect the specification source copyright.
2016-04-21 01:08:38 -07:00
pname:basePipelineIndex, pname:basePipelineHandle must be code:VK_NULL_HANDLE.
2016-02-16 01:53:44 -08:00
include::../validity/protos/vkCreateComputePipelines.txt[]
See Also
--------
flink:vkCreateGraphicsPipelines, flink:vkCmdBindPipeline
include::footer.txt[]