Microsoft ha lanzado en fase preview Shader Model 6.10 junto a AgilitySDK 1.720, una actualización que amplía de forma relevante las capacidades de DirectX 12. Este nuevo paquete introduce mejoras orientadas tanto a gráficos en tiempo real como a cargas de IA y machine learning, reforzando el papel de DX12 como plataforma unificada para renderizado y computación.
La actualización continúa la evolución iniciada con Shader Model 6.9 y DXR 1.2, pero da un paso más allá. El objetivo es permitir cargas más complejas dentro del propio pipeline gráfico, reduciendo la dependencia de APIs externas y mejorando la eficiencia en hardware moderno.
Nuevas APIs de matrices: IA y renderizado convergen en el shader
Una de las principales novedades es la introducción de linalg::Matrix, un conjunto de APIs bajo el bloque LinAlg orientado a operaciones de álgebra lineal. Estas APIs permiten ejecutar operaciones matriciales directamente en shaders, algo clave para técnicas como neural rendering o procesamiento de imagen avanzado.
Además, se habilita el uso de operaciones MMA de alto ancho de banda, lo que permite aprovechar mejor el hardware moderno en cargas de IA. Esto unifica gráficos y machine learning dentro de una misma API, reduciendo la fragmentación en el desarrollo de motores y aplicaciones.
Control a nivel de wave: más eficiencia en ejecución paralela
Shader Model 6.10 introduce nuevas intrinsics como GetGroupWaveIndex() y GetGroupWaveCount(), que permiten conocer la estructura de ejecución a nivel de wave dentro de un grupo de hilos. Esto habilita una mejor coordinación entre hilos sin recurrir a soluciones no portables, algo que históricamente generaba inconsistencias entre arquitecturas.
Gracias a este cambio, los desarrolladores pueden optimizar mejor el reparto de trabajo en shaders de cómputo, mesh o amplificación. La ejecución paralela se vuelve más predecible y eficiente, lo que impacta directamente en el rendimiento en escenarios complejos.
Fin del límite de memoria compartida: más margen para algoritmos complejos
Otra mejora clave es la eliminación del límite tradicional de 32 KB de memoria groupshared. Ahora, mediante la nueva consulta MaxGroupSharedMemoryPerGroup, los shaders pueden acceder al límite real del hardware.
Esto permite declarar el uso de memoria con el atributo [GroupSharedLimit(<bytes>)], manteniendo compatibilidad con código antiguo. Se desbloquean algoritmos que antes estaban limitados por la API y no por el hardware, como rasterización por software, tile culling avanzado o cargas intensivas de matrices.
Ejecución asíncrona mejorada: más paralelismo real en GPU
En el lado de DirectX 12, destacan las nuevas Batched Asynchronous Command List APIs, que eliminan la ejecución estrictamente secuencial de operaciones como copias o limpiezas de buffers. El sistema permite ejecutar tareas independientes en paralelo dentro de una misma cola, reduciendo bloqueos innecesarios.
Este cambio introduce un modelo donde el desarrollador controla explícitamente la sincronización solo cuando es necesario. Se reduce el tiempo de inactividad de la GPU y se mejora el aprovechamiento del hardware, algo especialmente relevante en cargas modernas.
Compatibilidad: NVIDIA, AMD e Intel ya trabajan en soporte
Los principales fabricantes ya están dando soporte a estas funciones. NVIDIA ofrece compatibilidad amplia en su ecosistema RTX, mientras que AMD e Intel centran el soporte en sus arquitecturas más recientes como RDNA 4 y Arc B-Series.
Algunas funciones como Group Wave Index ya están disponibles en varias generaciones, mientras que otras como las APIs de álgebra lineal llegarán progresivamente. La adopción dependerá tanto del hardware como de futuras actualizaciones de drivers, algo habitual en este tipo de avances.
Más allá de DX12: Microsoft refuerza el puente entre gráficos e IA
Este lanzamiento refleja una tendencia clara: la convergencia entre gráficos y computación. DirectX 12 evoluciona hacia una plataforma capaz de manejar IA, renderizado y procesamiento en un mismo entorno, reduciendo la necesidad de soluciones separadas.
Para los desarrolladores, esto supone un cambio importante. El pipeline gráfico deja de ser exclusivo del renderizado y pasa a ser un entorno híbrido, donde se pueden ejecutar cargas cada vez más complejas con mayor eficiencia.
Vía: Wccftech










