Unified shader model

统一着色器模型(Unified Shader Model),如Direct3D 10中的Shader Model 4.0,是指图形处理单元(GPU)中所有着色器阶段(几何、顶点、像素等)具有相同能力的硬件架构。这种架构提高了GPU的灵活性,允许根据工作负载动态分配计算单元,以优化性能。早期的GPU通常包含两种类型的着色器硬件,而统一着色器架构通过引入动态调度和负载平衡系统,使所有着色器处理单元都能处理任何类型的着色任务。

https://en.wikipedia.org/wiki/Unified_shader_model 

In the field of 3D computer graphics, the Unified Shader Model (known in Direct3D 10 as "Shader Model 4.0") refers to a form ofshader hardware in a graphical processing unit (GPU) where all of the shader stages in the rendering pipeline (geometry, vertex, pixel, etc.) have the same capabilities. They can all read textures and buffers, and they use instruction sets that are almost identical.[1]

Earlier GPUs generally included two types of shader hardware, with the vertex shaders having considerably more instructions than the simpler pixel shaders. This lowered the cost of implementation of the GPU as a whole, and allowed more shaders in total on a single unit. This was at the cost of making the system less flexible, and sometimes leaving one set of shaders idle if the workload used one more than the other. As improvements in fabrication continued, this distinction became less useful. ATI Technologies introduced a unified architecture on the hardware they developed for the Xbox 360, and then introduced this in card form in the TeraScale line. Nvidia quickly followed with their Tesla design. The concept has been universal since then.

Early shader abstractions (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. Even in the Unified model the instruction set may not be completely the same between different shader types; different shader stages may have a few distinctions. Fragment/pixel shaders can compute implicit texture coordinate gradients, while geometry shaders can emit rendering primitives.[1]

Unified Shading Architecture[edit]

Unified Shading Architecture is a hardware design by which all shader processing units of a piece of graphics hardware are capable of handling any type of shading tasks. Most often Unified Shading Architecture hardware is composed of an array of computing units and some form of dynamic scheduling/load balancing system that ensures that all of the computational units are kept working as often as possible.

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.

While Unified Shading Architecture hardware and Unified Shader Model programming interfaces are not a requirement for each other, a unified architecture is most sensible when designing hardware intended to support an API offering a Unified Shader Model.

OpenGL 3.3 (which offers a unified shader model) can still be implemented on hardware that does not have unified shading architecture. Similarly, hardware that supported non unified shader model APIs could be based on a unified shader architecture, as is the case with Xenos graphics chip in Xbox 360, for example.

The unified shading architecture was introduced with the Nvidia GeForce 8 seriesATI Radeon HD 2000S3 Chrome 400Intel GMA X3000 series, Xbox 360's GPUQualcomm Adreno 200 seriesMali Midgard, PowerVR SGX GPUs and is used in all subsequent series.

转载于:https://www.cnblogs.com/timeObjserver/p/9525566.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值