Unified shader model

From Wikipedia, the free encyclopedia

The Unified Shader Model (known in OpenGL as simply "Unified Shader Model," known in Direct3D 10 as "Shader Model 4.0"), uses a consistent instruction set across all shader types (geometry, vertex and pixel shaders).[1] 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 fragment/pixel shader can read textures with implicit coordinate gradients; only the geometry shader can emit extra rendering primitives and so on.[1]

Early shader models (such as 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 (such as Shader Model 2.x and 3.0) reduced the differences, approaching Unified Shader Model.

Unified Shading Architecture

Unified Shading Architecture is a design by which all computational units of a piece of graphics hardware are designed to handle any type of shading tasks. While Unified Shading Architecture and Unified Shader Model are not a requirement for each other, this type of design is most sensible when designing hardware intended to support Unified Shader Model.

Most often Unified Shading Architecture hardware is composed of an array of computing units and a dynamic scheduling/load balancing unit that distributes shader work to the computing units.

OpenGL 3.3 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 can also have unified architecture, as is the case with Xenos graphics chip in Xbox 360, for example.

Unified Shader Architecture allows more flexible use of the graphics rendering hardware.[2] 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 9 series, GeForce 200 Series, GeForce 400 Series, GeForce 500 Series, GeForce 600 Series, GeForce 700 Series, ATI Radeon HD 2000, Radeon HD 3000, Radeon HD 4000, Radeon HD 5000 series, Radeon HD 6000 series and Radeon HD7000 series S3 Chrome 400, Chrome 500, Intel GMA X3000 series, Xbox 360's GPU and others like the Qualcomm Adreno series.

References

  1. 1.0 1.1 "Common Shader Core (DirectX HLSL)". Microsoft. Retrieved 2008-08-17. 
  2. "GeForce 8800 GTX: 3D Architecture Overview". ExtremeTech. Retrieved 2013-11-10. 
This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.