ABSTRACT

As GPUs have become increasingly powerful with each new architecture generation, the size and capabilities of the pipeline have expanded significantly. In addition, the complexity and configurability of each pipeline stage has steadily increased. The current rendering pipeline has fixed-function stages, as well as programmable shader stages. This chapter will first consider the differences between these types of pipeline stages. In particular, it will focus on the states that are required to make them function, as well as the processing they can perform. After clarifying this distinction, we will consider the higherlevel details of how the pipeline is invoked, and how each pipeline stage communicates with its neighbors.