Microsoft soportará en DirectX 12 los Shaders compilados con Vulkan y OpenCL a través de SPIR-V

El equipo de Direct3D y HLSL de Microsoft ha compartido detalles sobre un cambio importante e increíble que redefinirá la programación de GPU, ya que implica la adopción de Shader Model 7 dentro de DX12 y la integración con SPIR-V, un formato binario intermedio utilizado en API como Vulkan y OpenCL. Una vez lanzado Shader Model 7, DirectX 12 podrá aceptar sombreadores compilados en SPIR-V, un paso que permitirá a los desarrolladores aprovechar tecnologías abiertas y estándares de la industria. ¿Vamos a ser testigos de una nueva era en los videojuegos?

Este anuncio marca un nuevo enfoque en el desarrollo abierto y la colaboración, ya que Microsoft ha estado trabajando junto con el grupo Khronos (responsable de Vulkan y SPIR-V) y el proyecto LLVM. Con este anuncio al comienzo del proceso de desarrollo, que durará varios años, “Microsoft subraya su compromiso con la transparencia y la adopción de herramientas y tecnologías de código abierto”.

DX12 soportará los shaders compilados de OpenCL y Vulkan a través de SPIR-V

SPIR-diagrama

A modo introductorio y dando por sabido de sobra qué es DX12, sí que nos pararemos a comentar brevemente qué es SPIR-V para dar contexto. SPIR-V (Standard Portable Intermediate Representation - Vulkan) es un estándar que trajo al mercado Khronos Group y lo que busca es ser intermediario entre los Shaders y los kernels en diferentes plataformas.

Explicado esto, hay que recalcar que el equipo de HLSL está colaborando directamente con Khronos para asegurar que la integración de SPIR-V en Direct3D beneficie a todo el ecosistema gráfico, manteniendo a HLSL como "un lenguaje relevante y eficiente".

La adopción de SPIR-V es una respuesta a las demandas de la industria por estándares unificados y herramientas de desarrollo más versátiles al más "estilo de las CPU". Desde el lanzamiento de Shader Model 6, Direct3D ha experimentado un crecimiento en su adopción, y más con el último hardware y software lanzados, por lo que la comunidad de código abierto ha jugado un papel clave en la expansión de la base de usuarios de HLSL, incluso entre desarrolladores de Vulkan y Metal.

Uno de los aspectos más destacados de este cambio es la participación del equipo de HLSL en los grupos de trabajo de SPIR y Vulkan del Khronos Group. Esta colaboración, indispensable ahora mismo, permitirá una integración más rápida de las características de Vulkan en HLSL, garantizando que este lenguaje continúe siendo una opción competitiva para la programación de Shaders en múltiples plataformas. Léase como "múltiples plataformas" desde consolas portátiles, consolas de sobremesa, PC y portátiles, por ejemplo.

Esta transición también incluye el desarrollo de herramientas que permiten convertir Shaders compilados en SPIR-V a DXIL y viceversa, facilitando la adopción gradual por parte de los desarrolladores de controladores y herramientas.

La transición hacia este “ecosistema gráfico unificado” para Shader Model 7 será gradual

DirectX-Shader-Compiler

De esta manera, Microsoft busca minimizar el impacto de la transición, asegurando que los flujos de trabajo para desarrolladores de Direct3D se mantengan prácticamente inalterados. Aunque algunos desarrolladores que manipulan Shaders compilados enfrentarán ajustes (veremos cuántos y cuántas quejas hay) se espera que las herramientas disponibles para trabajar con binarios SPIR-V proporcionen ventajas que compensen los costos de adaptación.

El diseño de SPIR-V es altamente extensible, lo que permitirá una innovación más rápida en las características de las API de GPU. Al utilizar un formato común para Shaders compilados, las API gráficas podrán adoptar nuevas características de manera más eficiente, beneficiando a toda la industria. En otras palabras, las mejoras que siempre se avanzan como "rompedoras" llegarán antes al mercado, a los desarrolladores y a DX12.

Microsoft anticipa que esta transición desbloqueará nuevas oportunidades de innovación en Direct3D, permitiendo que las capacidades de hardware de última generación sean accesibles a los desarrolladores de manera más rápida. Esto, en teoría, debería de acortar plazos de entrega y facilitar la labor de dichos desarrolladores y de los estudios de videojuegos.

En definitiva, la adopción de SPIR-V como formato intermedio en Shader Model 7 representa un cambio fundamental en la forma en que Direct3D manejará los Shaders en el futuro. Microsoft y sus socios en la industria esperan que este enfoque unificado en torno a estándares abiertos impulse la productividad y reduzca la duplicación de esfuerzos en el desarrollo de software gráfico.

Para finalizar y punto a tratar aquí es el hardware que soportará Shader Model 7, porque ya sabemos que estas cosas normalmente terminan con una criba de, en este caso, tarjetas gráficas soportadas. Veremos si la transición es común, o si AMD y NVIDIA cortan por lo sano con la excusa de los drivers, de DX12 o del propio Shader Model 7, que no debería, pero…