Pipeline State Objects (PSO) in Vulkan
Pipeline state objects in a pipeline are the means by which the hardware settings of the physical devices are controlled. There are various types of pipeline state objects specified in the pipeline; which work in a predefined order. The input data and resources in these stages are subjected to changes in line with user-specified behavior. Each stage processes the input and passes it on to the next one. Depending upon application requirements, the pipeline state stage can be bypassed as per the user's choice. This is entirely configurable through VkComputePipelineCreateInfo
.
Let's have an overview of these pipeline state objects before we cover them in detail:
The dynamic state: This specifies the dynamic states used in this pipeline
The vertex input state: This specifies the data input rate and its interpretation
The input assembly state: This assembles the vertex data into the primitive's topology (line, point, and triangle variants)
The rasterization...