Microsoft ha actualizado su SDK Agility para DirectX 12, se trata de la versión 1.710.0-preview del mismo que como su nombre indica aún estaría en un estado provisional o beta, pero es el paso previo para seguir adelante y nos sirve para saber cuáles serán las siguientes novedades introducidas en la API más común para los videojuegos.

Según avisa WCCF Tech se pueden destacar dos nuevas funciones que Microsoft ha introducido en esta versión, que serían GPU Upload Heaps y Non-normalized Sampling.
GPU Upload Heaps es una función que a muchos nos suena puesto que es la capacidad de poder acceder a toda la memoria gráfica por parte de la CPU o la GPU y eso ya lo hemos visto en parte con la introducción de tecnologías bautizadas como Resizable BAR o Smart Acces Memory.

Según cuenta Microsoft históricamente la VRAM de las gráficas ha sido inaccesible desde la CPU, forzando a los programas a tener que copiar grandes cantidades de datos hacía la gráfica a través del bus PCI. Las gráficas actuales han añadido el VRAM resizable base address register (Re-BAR) permitiendo que Windows pueda manejar la VRAM de la gráfica si disponen de Windows Display Driver Model (WDDM) versión 2.0 o superior.
Con la VRAM gestionada por Windows, D3D ahora expone el acceso a la memoria de la pila directamente a la CPU. Esto permite que tanto la CPU como la GPU accedan directamente a la memoria simultáneamente, eliminando la necesidad de copiar datos de la CPU a la GPU, lo que aumenta el rendimiento en ciertos escenarios.
GPU upload heaps se puede usar tanto en gráfica integradas como en gráficas dedicadas aunque en el segundo caso es necesario que se active en la BIOS de nuestra placa base la función resizable bar.

Parece pues que lo iniciado por AMD con su tecnología SAM finalmente terminará siendo ampliado y una parte más de la API DirectX para juegos de Microsoft por lo que debería facilitar su adopción y generalizar su uso. Este mismo año ya hemos visto que aún es algo difícil tanto de activar como de gestionar y es que según como se haga la gestión aparecen problemas como los mencionados en títulos del calibre de Dead Space Remake o Horizon Zero Dawn.
Probablemente su introducción dentro de la API de Microsoft permita evitar que sean las compañías de tarjetas gráficas quienes lo gestionen y que los desarrolladores creen sus juegos teniendo en cuenta esta tecnología de forma más natural y nativa.
Non-normalized Sampling es la otra tecnología añadida en este SDK y sobre el cual hay mucha menos información, de hecho la traducción imperfecta sería la siguiente: "Con este SDK de Agility en el hardware compatible, hay disponible un nuevo indicador de muestreo para crear un muestreador que interprete las coordenadas de muestreo como absolutas".
Si vamos a la web de Microsoft encontramos la siguiente información en inglés:
With this Agility SDK on supported hardware, a new sampler flag is available to create a sampler that interprets sampling coordinates as absolute.
When a sampler is created with the D3D12_SAMPLER_FLAG_NON_NORMALIZED_COORDINATES flag, the coordinates will refer to the absolute texel location within the texture and are therefore bound by the dimensions of the sampled texture, not 0 to 1.0.
Por lo que parece este movimiento no es algo de gran secretismo y no deja de estar consensuado con los fabricantes de tarjetas gráficas, en este aspecto Microsoft comenta que el soporte para estas novedades ya está disponible o cerca.
Concretamente mencionan que NVIDIA ya tienen soporte tras los controladores GRD 531.41 e Intel hizo los deberes con la versión 31.0.101.4255 de sus controladores gráficos. Por su parte AMD sería algo más opaca en ofrecer fechas o versiones, puesto que invita a que los desarrolladores interesados contacten con su "AMD alliance manager", pero está claro que añadirán soporte oficial en futuros controladores.