Implementing the pipeline
The graphics pipeline is implemented at the initialization stage of the application in the VulkanRenderer
class. The VulkanRenderer::createPipelineStateManagement()
function is responsible for executing the creation of the pipeline. Inside this function, the cmdPipelineStateMgmt
command buffer object is created into which the pipeline creation process's commands are recorded. These recorded commands are then submitted to the graphics queue, that is, to the underlying implementation.
The following diagram shows the execution process. Here, first the command buffer is allocated for managing the pipeline operation. Under this, the pipeline cache object is created using the VulkanPipeline::createPipelineCache()
function; once this is done, the pipeline is created in VulkanPipeline::createPipeline()
. The following diagram shows the calling sequence:
Each drawing object (we will implement drawing objects in the next chapter) is associated with the created pipeline...