86 lines
4.0 KiB
Plaintext
86 lines
4.0 KiB
Plaintext
vkCreateGraphicsPipelines(3)
|
|
============================
|
|
|
|
Name
|
|
----
|
|
vkCreateGraphicsPipelines - Create graphics pipelines.
|
|
|
|
C Specification
|
|
---------------
|
|
|
|
include::../protos/vkCreateGraphicsPipelines.txt[]
|
|
|
|
Parameters
|
|
----------
|
|
|
|
pname:device::
|
|
A handle to the device to use to create the new graphics pipeline(s).
|
|
|
|
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:VkGraphicsPipelineCreateInfo structures defining the contents of
|
|
the new pipelines.
|
|
|
|
pname:pPipelines::
|
|
A pointer to an array to receive the handle(s) to the new graphics pipeline object(s).
|
|
|
|
Description
|
|
-----------
|
|
|
|
fname:vkCreateGraphicsPipelines creates new graphics 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:VkGraphicsPipelineCreateInfo is:
|
|
|
|
include::../structs/VkGraphicsPipelineCreateInfo.txt[]
|
|
|
|
.Create Info Details
|
|
|
|
- pname:pStages points to an array of pname:stageCount slink:VkPipelineShaderStageCreateInfo objects describing the stages comprising the pipeline. At minimum, the vertex shader stage must be defined.
|
|
|
|
- pname:pVertexInputState points to a slink:VkPipelineVertexInputStateCreateInfo object describing the layout of the vertex buffers as well as the attributes within the buffers for the pipeline.
|
|
|
|
- pname:pInputAssemblyState points to a slink:VkPipelineInputAssemblyStateCreateInfo object describing the input assembly state for the pipeline, including the primitive type and topology.
|
|
|
|
- pname:pTessellationState points to a slink:VkPipelineTessellationStateCreateInfo object describing the patch control state for the tesselation stage of the pipeline, or is set to 'NULL' if no tesselation stage is defined.
|
|
|
|
- pname:pViewportState points to a slink:VkPipelineViewportStateCreateInfo object describing the viewport state for the pipeline.
|
|
|
|
- pname:pRasterizationState points to a slink:VkPipelineRasterizationStateCreateInfo object describing the rasterizer state for the pipeline, including fill mode, clip mode, and face orientation.
|
|
|
|
- pname:pMultisampleState points to a slink:VkPipelineMultisampleStateCreateInfo object describing the multisample state for the pipeline.
|
|
|
|
- pname:pDepthStencilState points to a slink:VkPipelineDepthStencilStateCreateInfo object describing the depth and stencil state for the pipeline.
|
|
|
|
- pname:pColorBlendState points to a slink:VkPipelineColorBlendStateCreateInfo object describing the color buffer state for the pipeline, including state for each of the attachments that will be bound to the framebuffer.
|
|
|
|
- pname:flags is an instance of elink:VkPipelineCreateFlags, indicating additional usage hint (e.g., if this pipeline will be used to create derivative pipelines).
|
|
|
|
- pname:layout is a handle to a sname:VkPipelineLayout object created with fname:vkCreatePipelineLayout.
|
|
|
|
- pname:renderPass is a handle to a sname:VkRenderPass object describing a renderpass the pipeline will be compatible with.
|
|
|
|
- pname:subpass is the index of the subpass in the pname:renderPass the pipeline will be compatible with.
|
|
|
|
The created pipeline may only be used in a subpass compatible with the provided pname:renderPass and pname:subpass.
|
|
Two subpasses are compatible if they have the same index in their render passes, and if the render pass descriptions are
|
|
identical except for attachment load and store ops and image layouts. For a render pass with only one subpass,
|
|
the subpasses are compatible if they have the same number and kind of attachments, and if corresponding attachments
|
|
have the same format and sample count.
|
|
|
|
include::../validity/protos/vkCreateGraphicsPipelines.txt[]
|
|
|
|
See Also
|
|
--------
|
|
|
|
flink:vkCreateComputePipelines, flink:vkCmdBindPipeline, flink:vkDestroyPipeline
|
|
|
|
include::footer.txt[]
|