Graphics Reference
In-Depth Information
Figure 3,2. A block diagram of the common shader core.
The ability to execute a program lets these pipeline stages be used for a wide variety of
processing tasks. This contrasts with the fixed function stages, which are intended for a
very specific task and only offer a small amount of configurability. The programs that are
executed in these programmable pipeline stages are commonly referred to as shader pro-
grams, a name inherited from the early steps of programmability, when pixel shader stage
was initially used to modify how an object reacted to lighting. As more and more program-
mable stages were added to the pipeline, the name shader was adopted to refer to all of the
programmable pipeline stages. We will use this term interchangeably with programmable
stages throughout the topic. In the following sections, we will first take a look at these
programmable shader stages from a high level, and then dive into the details of their archi-
tecture, after establishing the basic concepts.
Common Shader Core
All of the programmable shader stages are built upon a common base of functionality,
which is referred to as the common shader core. The common shader core defines the
generic input and output design of the pipeline stage, providing a set of intrinsic func-
tions that all of the programmable shader stages support, as well as the interface to the
resources that a programmable shader can use. Figure 3.2 provides a visual representa-
tion of how the common shader core operates. As described above, the data flows into
the top of the stage, is processed within the shader core, and then flows out as output at
Search WWH ::




Custom Search