Microsoft расширила возможности DirectX 12 для разработчиков игр, выпустив предварительные версии Shader Model 6.10 и AgilitySDK 1.720. Обновление ориентировано на так называемый нейронный рендеринг — подход, при котором алгоритмы машинного обучения участвуют не только в апскейлинге изображения, но и непосредственно в формировании графики в реальном времени.
Ключевым нововведением стал набор API LinAlg (Linear Algebra), который добавляет поддержку матричных вычислений прямо в шейдерах — программах, выполняемых на GPU при отрисовке сцены. Такие операции лежат в основе современных методов машинного обучения и обработки изображений. Теперь разработчики смогут запускать подобные вычисления напрямую в графическом конвейере без обходных решений, что упрощает внедрение нейросетевых эффектов в играх. В Shader Model 6.10 также появились новые функции для более точного управления вычислениями внутри GPU. В частности, реализованы инструменты, позволяющие шейдерам учитывать структуру выполнения потоков и распределять задачи между ними более эффективно, что снижает зависимость от особенностей конкретного железа и облегчает оптимизацию проектов под видеокарты разных производителей.
Еще одно заметное изменение — снятие ограничения на объем общей памяти для группы потоков. Ранее спецификация ограничивала этот показатель 32 КБ (и 28 КБ для mesh-шейдеров), что сдерживало использование более сложных алгоритмов. Теперь шейдеры могут опираться на реальные возможности конкретного GPU, а это открывает путь для более ресурсоемких задач, включая крупные матричные операции, программную растеризацию и обработку больших массивов данных. На уровне DirectX 12 появились и пакетные асинхронные команды. Раньше операции вроде копирования или очистки