El backend de DirectX ha dejado de ser una pieza experimental dentro del proyecto LLVM para convertirse en un objetivo oficial del compilador, un paso que llega tras cuatro años de trabajo con el respaldo de Microsoft. Esta tecnología se encarga de traducir el código intermedio de LLVM al lenguaje DXIL, que es justo el que ejecutan los controladores gráficos de DirectX 12 en Windows. Hasta hace poco había que activarlo a mano, porque no venía incluido por defecto en las compilaciones. Ese capítulo, ahora, queda cerrado.
Quien confirmó el movimiento fue Farzon Lotfi, ingeniero de compiladores HLSL de Microsoft, al presentar el parche que formaliza la promoción. Según explicó, la decisión saca el backend de DirectX de su estado experimental y suma el frontend clang-dxc, de modo que la comunidad ya tiene un camino claro para probar esta pieza. Todo esto no salió de la nada. Antes hubo un mes largo de debate en el foro LLVM Discourse, donde se discutió si el backend estaba lo bastante maduro para dar el salto.
De pieza experimental a componente estable del compilador
Durante los últimos cuatro años, el backend de DirectX vivía en una especie de limbo técnico. Existía, funcionaba, pero había que activarlo de forma manual porque las compilaciones estándar no lo incluían. Esa etiqueta de experimental frenaba bastante su adopción fuera de los equipos que ya seguían el proyecto de cerca.
Con la promoción a objetivo oficial, el backend pasa a recibir el mismo trato que otras arquitecturas ya consolidadas dentro de LLVM. En la práctica eso suele significar mantenimiento continuo y pruebas de regresión periódicas. El frontend clang-dxc, hasta ahora un elemento secundario, queda incorporado para compilar código HLSL, el lenguaje con el que los estudios escriben sus shaders para DirectX. Ojo con un detalle importante, eso sí, la activación por defecto de clang-dxc y HLSL no llegará hasta LLVM 24. Conviene recordar que LLVM es ese conjunto de herramientas de compilación de código abierto que usan también proyectos como Clang, Rust o Swift para traducir código fuente en instrucciones que cada tipo de hardware entiende.
Ray tracing y los próximos Shader Models en el horizonte
En esa misma conversación en LLVM Discourse, Microsoft detalló hacia dónde va el trabajo a partir de ahora. La compañía apuntó que el desarrollo se centrará en dar soporte a los shaders gráficos y de ray tracing, a los Shader Models más recientes, y en estrechar la relación entre las capacidades del frontend HLSL de Clang y la generación de código del backend. Los Shader Models, para entendernos, son las especificaciones que marcan qué instrucciones puede ejecutar una tarjeta gráfica compatible con DirectX. Cada versión nueva añade funciones que los desarrolladores de videojuegos y aplicaciones 3D pueden aprovechar.
Microsoft también dejó claro por qué le interesa tanto que el backend sea oficial. Con él convertido en objetivo oficial y clang-dxc activado por defecto, la empresa espera recibir más comentarios de los usuarios, algo que ayudaría a mejorar la conformidad, el ajuste de rendimiento y la definición de futuras funciones. Ese soporte de clang-dxc y HLSL activado por defecto llegará con LLVM 24, la versión prevista para el próximo año.
Fuente
Imagen: softzone.es
