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[]