Корпорация Microsoft только что выпустила свой Agility SDK 1.619 с крупными улучшениями DX12, такими как Shader Model 6.9 и DXR 1.2.
Microsoft Agility SDK Добавляет Shader Model 6.9, DXR 1.2 и Различные Улучшения DX12: Готовность Видеокарт NVIDIA RTX, AMD Radeon и Intel Arc
В последнем выпуске Agility SDK 1.619 Microsoft вносит три обновления: Shader Model 6.9, DXR 1.2 и улучшения, связанные с DX12. Функции перечислены ниже:
- Shader Model 6.9 (через DXC 1.9.2602.16):
- Long Vector
- 16-битные специальные значения с плавающей точкой (16-bit float Specials)
- Операции шейдеров и волновые операции (shader ops and wave ops) с 16-битными и 64-битными данными теперь являются обязательными функциями
- Отображение HLSL следующего в DXR 1.2:
- DXR 1.2:
- Opacity Micromaps (Выпущены ранее, с небольшим фрагментом SM 6.9, активированным сейчас)
- Shader Execution Reordering (Переупорядочивание выполнения шейдеров)
- Функции, запрошенные клиентами D3D:
- Пересмотренные API создания представлений ресурсов (Revised Resource View Creation APIs)
- Периодические уведомления об освобождении (Periodic Trim Notifications)
- Увеличение лимита сетки диспетчеризации (Increased Dispatch Grid Limit)
- Разрешение запросов временной шкалы ЦП (CPU Timeline Query Resolves)
Самой значительной частью этого выпуска Agility SDK является введение Shader Model 6.9, который добавляет четыре новые функции: Long Vector, 16-битные специальные значения с плавающей точкой, 16-битные/64-битные операции шейдеров и волновые операции, а также отображение HLSL для DXR 1.2. С Long Vectors, HLSL может загружать, сохранять и выполнять векторы HLSL длиннее 4 элементов и до 1024 элементов. 16-битные и 64-битные операции шейдеров и волновые операции также теперь являются обязательными функциями с Shader Model 6.9.

Переходя к обновлениям DXR (DirectX Ray Tracing), последние функции включают Opacity Micromaps, выпущенные ранее, и SER (Shader Execution Reordering).
Для D3D12 Opacity Micromaps, или OMM, Microsoft заявляет, что новая функция позволит оборудованию обрабатывать геометрию с альфа-тестированием гораздо эффективнее, чем полагаться на дорогостоящие вызовы AnyHit.

В предыдущих примерах Microsoft демонстрировала прирост производительности до 2,3 раз в играх с трассировкой пути, использующих OMM. Один из примеров, освещенных NVIDIA, показывает прирост более 60%. Слева вы видите эталонную сцену при 55 FPS, а кадр справа с включенными Opacity Micro-maps дает 90 FPS. В настоящее время только NVIDIA предоставляет поддержку драйверов для OMM для своих видеокарт RTX, в то время как поддержка от других производителей ожидается в будущем.

Alan Wake от Remedy — еще одна игра, которая сильно зависит от геометрии с альфа-тестированием. Одна сцена может содержать от 4,5 млн + 9,3 млн треугольников в общей сложности, с 5,2 млн скиннингованных вершин и 2,2 тыс. скиннингованных экземпляров. Игра также является одной из самых требовательных с точки зрения визуализации, использующей трассировку пути, и при включенной трассировке лучей игра может генерировать 10 лучей на пиксель или 36,9 млн на кадр. RTX 4090 без каких-либо оптимизаций тратит в среднем 16,8 мс на рендеринг сцены, но с SER и OMM кадр может быть отрендерен всего за 10,2 мс.
Opacity Micromaps
Opacity Micromaps (OMMs) позволяют оборудованию обрабатывать геометрию с альфа-тестированием более эффективно, чем полагаться только на дорогостоящие вызовы шейдеров AnyHit. Общая функция была выпущена ранее, и только небольшая часть HLSL выходит из предварительной версии.
Shader Execution Reordering
Shader Execution Reordering (SER) позволяет коду шейдера приложения сообщать оборудованию, как находить когерентность между лучами, чтобы их можно было отсортировать для лучшего параллельного выполнения.
Эта функция выходит из предварительной версии сейчас. Добавлением с момента предварительной версии является возможность для приложений запрашивать, переупорядочивает ли устройство.
Наконец, Agility SDK 1.619 от Microsoft добавляет приятные улучшения D3D для своего API DirectX 12 Ultimate. Обновления устраняют предыдущие ограничения в представлениях буферов, которые должны были развиваться вместе с достижениями в архитектурах GPU. С новым обновлением представления буферов теперь могут измеряться с помощью байтовых смещений и размеров.
Пересмотренные API создания представлений ресурсов
По мере развития архитектур GPU исходная модель создания представлений D3D12 демонстрировала ограничения, особенно в отношении шаблонов доступа к буферам, управления дескрипторами и правил выравнивания. Пересмотренное создание представлений модернизирует эту область API в ответ на многочисленные запросы клиентов.
Ранее представления буферов ограничивались измерением в элементах. С этим изменением они теперь могут измеряться с использованием байтовых смещений и размеров. Кроме того, были добавлены варианты создания представлений, которые возвращают
HRESULTвместоvoid, чтобы обеспечить программную обработку ошибок, в отличие от опоры на проверку отладочного уровня и столкновения с удалением устройства.Периодические уведомления об освобождении
Уведомления об освобождении на уровне ядра теперь доступны через интерфейсы среды выполнения D3D12, что позволяет приложениям получать уведомления, когда системе следует освободить резидентность. Для этой функции не требуется новая поддержка драйверов.
Увеличенный лимит диспетчеризации 1D
Увеличивает максимальный размер диспетчеризации/DispatchMesh по 1-му измерению (в настоящее время 65535) до значения, специфичного для устройства, которое намного больше для большинства современных аппаратных средств.
D3D12_FEATURE_DATA_D3D12_OPTIONS22.Max1DDispatchSizeD3D12_FEATURE_DATA_D3D12_OPTIONS22.Max1DDispatchMeshSizeРазрешение запросов временной шкалы ЦП
Новый тип Query Heap, который может быть разрешен по временной шкале ЦП, избегая ненужной работы и накладных расходов GPU. Вводит
ID3D12Device15::CreateQueryHeap1вместе сID3D12Device15::ResolveQueryData.
Аппаратная и Программная Поддержка Производителей GPU для Microsoft Agility SDK 1.619
Что касается поддержки, все три производителя GPU готовы к поддержке Microsoft Agility SDK 1.619 и его новейших функций. Уровень поддержки варьируется от архитектуры к архитектуре.
Аппаратная Поддержка
Что касается NVIDIA, производитель GPU указывает, что все их видеокарты RTX поддерживают новейшие функции. Для DXR1.2 OMM аппаратно ускоряются на RTX 40 и более поздних версиях, в то время как SER поддерживается на RTX 40 и более поздних версиях. Поддержка OMM ограничена программной эмуляцией на более старом оборудовании.
Что касается AMD, они указывают поддержку для GPU RX 7000, RX 900 и Ryzen AI 300/400, по сути, указывая на поддержку архитектур RDNA 3, RDNA 3.5 и RDNA 4. Архитектуры RDNA 3 и RDNA 3.5 несут улучшения D3D, в то время как функции DXR 1.2 и Shader Model 6.9 ограничены GPU RDNA 4 (Radeon RX 9000).
Наконец, Intel указывает поддержку Arc B-Series (Battlemage) для всех функций, в то время как определенные функции D3D, такие как VPblit 3DLUT, применимы и к процессорам Lunar Lake.
Интересно, что OMM поддерживаются только на GPU RTX 40 и более поздних версиях, в то время как поддержка SER показывает переупорядочивание на GPU NVIDIA RTX 40+ и GPU Arc B-Series, но не поддерживает переупорядочивание на GPU RX 9000.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Hassan Mujtaba




