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