Creating a graphics pipeline
A graphics pipeline consists of programmable, fixed-function pipeline stages, Render Passes, subpasses, and pipeline layouts. The programmable stages include multiple shader stages, such as the vertex, fragment, tessellation, geometry, and compute shaders. The fixed-function states consist of multiple pipeline state objects (PSOs) that represent the dynamic, vertex input, input assembly, rasterization, blending, viewport, multisampling, and depth-stencil states.
A graphics pipeline object (VkPipeline
) is created using the vkCreateGraphicsPipelines()
API. This API intakes the programmable stages, fixed-function pipeline stages, and pipeline layouts through a metadata control structure called VkGraphicsPipelineCreateInfo
. The following is the syntax of the vkCreateGraphicsPipelines()
API:
VkResult vkCreateGraphicsPipelines( VkDevice device, VkPipelineCache pipelineCache, ...