Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Рабочие графы — это система для автономности GPU в Direct3D 12, которая обеспечивает создание рабочих процессов на основе GPU. Потоки шейдера, работающие на GPU, могут запрашивать другую работу, не ожидая запуска этой работы, при этом система управляет планированием и памятью для потоков данных между задачами.
В этой статье описываются интерфейсы взаимодействия драйвера (DDI), добавленные для графического драйвера в пользовательском режиме (UMD) для поддержки рабочих графов D3D12. Функция рабочего графа доступна начиная с Windows 11 версии 24H2 (WDDM 3.2). Подробное описание рабочих графов можно найти в спецификации Рабочих графов D3D12 .
Универсальные программы — это связанная функция, которая предоставляет способ определения графических и вычислительных конвейеров внутри объектов состояния, используя ту же инфраструктуру, что и рабочие графы и ретрейсинг.
Поддержка рабочих отчетных графиков
UMD сообщает о поддержке рабочих графов с помощью следующих интерфейсов:
Запись D3D12DDICAPS_TYPE_OPTIONS_0109 о возможности добавляется в перечислениеD3D12DDICAPS_TYPE, используемое PFND3D12DDI_GETCAPS.
Эта запись заголовка соответствует структуре заголовка D3D12DDI_OPTIONS_DATA_0103, член WorkGraphsTier указывает уровень поддержки рабочих графов драйвера.
Таблицы функций DDI
Для поддержки рабочих графов UMD должен реализовать следующие функции и предоставить указатели на них в следующих таблицах функций DDI:
Справочные страницы для десятков структур рабочих графов и перечислений, связанных с этими добавленными DDIs, можно найти, следуя ссылкам со справочных страниц DDI.
Структуры и перечисления, связанные с созданием объектов состояния DDI
Следующие D3D12DDI_STATE_SUBOBJECT_TYPE типы подобъектов (и связанные с ними структуры создания объектов состояния) относятся к рабочим графам.
| Определение | Значение перечисления | Связанная структура |
|---|---|---|
| D3D12DDI_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG | 0 | D3D12DDI_STATE_OBJECT_CONFIG_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE | 1 | D3D12DDI_GLOBAL_ROOT_SIGNATURE_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE | 2 | D3D12DDI_LOCAL_ROOT_SIGNATURE_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_NODE_MASK | 3 | D3D12_NODE_MASK_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY | 5 | D3D12DDI_DXIL_LIBRARY_DESC_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION | 6 | D3D12DDI_EXISTING_COLLECTION_DESC_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_WORK_GRAPH | 13 (тринадцать) | D3D12DDI_WORK_GRAPH_DESC_0108 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_SHADER_EXPORT_SUMMARY | 0x100000 | D3D12DDI_FUNCTION_SUMMARY_005 |
В определении объекта состояния в DDI рабочие графы представляют собой подобъект типа D3D12DDI_STATE_SUBOBJECT_TYPE_WORK_GRAPH. См. структуру D3D12DDI_WORK_GRAPH_DESC_0108 для макета подобъекта. Связанные структуры и перечисления приведены на странице справки этой структуры.
Другие подобъекты наследуются as-is из спецификации DXR.