- Unified shader model
Unified Shader Model term is used to describe two similar but separate concepts: Unified Shading Architecture and Unified Shader Model.
Unified Shader Model
ShaderModel, known in DirectX 10as Shader Model 4.0, uses a consistent instruction set across all shader types cite web | url=http://msdn.microsoft.com/en-us/library/bb509580(VS.85).aspx| title=Common Shader Core (DirectX HLSL) | publisher=Microsoft | accessdate=2008-08-17] . All shader types have almost the same capabilities - they can read from textures, data buffers and perform the same set of arithmetic instructions.
However, the instruction set is not completely the same between different shader types - for example, only the pixel shader can read textures with implicit coordinate gradients; only the geometry shader can emit extra rendering primitives and so on .
Early shader models (Shader Model 1.x) used very different instruction sets for vertex and pixel shaders, with vertex shaders having much more flexible instruction set. Later shader models (2.x and 3.0) reduced the differences, approaching Unified Shader Model.
Unified Shading Architecture
When graphics hardware supports Unified Shader Model, it can make sense to architect it's computational units so that any of them can run any type of shader. When computational units are "unified", that is called Unified Shading Architecture. Most often such hardware is composed of an array of computing units and a dynamic scheduling / load balancing unit that distributes shader work to the computing units.
Hardware is not required to have Unified Shading Architecture to support Unified Shader Model, and vice versa. A DirectX 10 level hardware can still have dedicated vertex, geometry and pixel processors (although because of very similar ISA, they would be quite similar on hardware level). A technologically earlier (e.g. Shader Model 3.0) hardware also can have unified architecture, as is the case with
Xenosgraphics chip in Xbox 360, for example.
Unified Shader Model allows more flexible use of the graphics rendering hardware cite web | url=http://www.extremetech.com/article2/0,1697,2053309,00.asp| title=GeForce 8800 GTX: 3D Architecture Overview | publisher=ExtremeTech | accessdate=2008-08-17] . For example, in a situation with a heavy geometry workload the system could allocate most computing units to run vertex and geometry shaders. In cases with less vertex workload and heavy pixel load, more computing units could be allocated to run pixel shaders.
Graphics processors that have unified shading architecture include the
Nvidia GeForce 8 series, Geforce 9series and GeForce 200 Series, ATIRadeon HD 2000 and Radeon HD 3000 series, Intel GMAX3000 series, Xbox 360's GPU and others.
Wikimedia Foundation. 2010.