Modelo de sombreado unificado - Unified shader model

El modelo de sombreador unificado utiliza los mismos recursos de hardware para el procesamiento de vértices y fragmentos.

En el campo de los gráficos por computadora en 3D , el modelo de sombreado unificado (conocido en Direct3D 10 como " Modelo de sombreador 4.0 ") se refiere a una forma de hardware de sombreado en una unidad de procesamiento gráfico (GPU) donde todas las etapas del sombreador en la canalización de renderizado ( geometría, vértice, píxel, etc.) tienen las mismas capacidades. Todos pueden leer texturas y búferes, y usan conjuntos de instrucciones que son casi idénticos.

Historia

Las GPU anteriores generalmente incluían dos tipos de hardware de sombreado, y los sombreadores de vértices tenían considerablemente más instrucciones que los sombreadores de píxeles más simples . Esto redujo el costo de implementación de la GPU en su conjunto y permitió más sombreadores en total en una sola unidad. Esto fue a costa de hacer que el sistema sea menos flexible y, a veces, dejar un conjunto de sombreadores inactivo si la carga de trabajo usaba uno más que el otro. A medida que continuaron las mejoras en la fabricación , esta distinción se volvió menos útil. ATI Technologies introdujo una arquitectura unificada en el hardware que desarrollaron para Xbox 360 . Nvidia siguió rápidamente con su diseño de Tesla . AMD introdujo un sombreador unificado en forma de tarjeta dos años después en la línea TeraScale . El concepto ha sido universal desde entonces.

Las primeras abstracciones de sombreadores (como Shader Model 1.x) usaban conjuntos de instrucciones muy diferentes para los sombreadores de vértices y píxeles, y los sombreadores de vértices tenían conjuntos de instrucciones mucho más flexibles. Los modelos de sombreado posteriores (como Shader Model 2.xy 3.0) redujeron las diferencias, acercándose al modelo de sombreado unificado. Incluso en el modelo unificado, el conjunto de instrucciones puede no ser completamente el mismo entre diferentes tipos de sombreadores; Las diferentes etapas de sombreado pueden tener algunas distinciones. Los sombreadores de fragmentos / píxeles pueden calcular degradados de coordenadas de textura implícitas, mientras que los sombreadores de geometría pueden emitir primitivas de renderizado.

Arquitectura de sombreado unificada

La arquitectura de sombreado unificada (o arquitectura de sombreado unificada ) es un diseño de hardware mediante el cual todas las unidades de procesamiento de sombreado de una pieza de hardware de gráficos son capaces de manejar cualquier tipo de tareas de sombreado. La mayoría de las veces, el hardware de Unified Shading Architecture se compone de una serie de unidades informáticas y algún tipo de sistema de equilibrio de carga / programación dinámica que garantiza que todas las unidades informáticas sigan funcionando con la mayor frecuencia posible.

La arquitectura de sombreado unificada permite un uso más flexible del hardware de renderizado de gráficos. Por ejemplo, en una situación con una gran carga de trabajo de geometría, el sistema podría asignar la mayoría de las unidades informáticas para ejecutar sombreadores de vértice y geometría. En casos con menos carga de trabajo de vértices y mucha carga de píxeles, se podrían asignar más unidades informáticas para ejecutar sombreadores de píxeles.

Si bien el hardware de la arquitectura de sombreado unificada y las interfaces de programación del modelo de sombreador unificado no son un requisito el uno para el otro, una arquitectura unificada es más sensata cuando se diseña hardware destinado a admitir una API que ofrece un modelo de sombreador unificado.

OpenGL 3.3 (que ofrece un modelo de sombreado unificado) aún se puede implementar en hardware que no tiene una arquitectura de sombreado unificada. De manera similar, el hardware que admite API de modelos de sombreadores no unificados podría basarse en una arquitectura de sombreadores unificados, como es el caso del chip gráfico Xenos en Xbox 360 , por ejemplo.

La arquitectura de sombreado unificada se introdujo con la serie Nvidia GeForce 8 , ATI Radeon HD 2000 , S3 Chrome 400 , la serie Intel GMA X3000, la GPU de Xbox 360 , la serie Qualcomm Adreno 200 , las GPU Mali Midgard, PowerVR SGX y se utiliza en todas las series posteriores.

Nvidia

ATI / AMD

Referencias