Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обобщенные программы предоставляют способ определения графических и вычислительных конвейеров в объектах состояния, используя ту же инфраструктуру, что и трассировка лучей и рабочие графы. Вместо создания отдельных объектов состояния конвейера (PSOS) можно определить несколько программ в одном объекте состояния, составив общие стандартные блоки, такие как шейдеры и состояние смешения.
В этой статье описываются DDI для графического драйвера пользовательского режима (UMD), поддерживающего общие программы, доступного начиная с Windows 11 версии 24H2 (WDDM 3.2). Для универсальных программ требуется поддержка модели шейдера 6.8. Дополнительные сведения см. в спецификации универсальных программ.
Поддержка стандартных программ отчетности
Поддержка шейдера модели 6.8 подразумевает поддержку универсальных программ. Нет отдельных отчетов о возможностях, относящихся к универсальным программам.
Таблицы функций DDI
Универсальные программы используют следующие функции DDI:
Объекты состояния
Определите универсальные программы в объектах состояния с помощью типа подобъекта D3D12DDI_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM (значение 15) в D3D12DDI_STATE_SUBOBJECT_TYPE. См. D3D12DDI_GENERIC_PROGRAM_DESC_0108 для структуры подобъекта.
Универсальная программа задает имя программы, экспортирует шейдер вершин (шейдер вершин, шейдер пикселей, вычислительный шейдер и другие), а также ссылки на другие вложенные объекты, такие как состояние смешивания и состояние растризатора. Подобъекты состояния графического конвейера включают в себя смешивание, растризатор, компоненты глубины/трафарета, входное расположение, примитивную топологию, форматы целевых поверхностей отрисовки и другие, определенные в перечислении D3D12DDI_STATE_SUBOBJECT_TYPE.
Универсальные программы поддерживают следующие целевые объекты шейдера модели 6.8: vs_6_8, ps_6_8, cs_6_8, ms_6_8 и as_6_8.
Связь с рабочими графами
Универсальные программы и рабочие графы — это независимые функции, которые совместно используют инфраструктуру объектов состояния. Универсальные программы требуют только шейдер модели 6.8, в то время как для рабочих графов требуется явная поддержка возможностей WorkGraphsTier.