Уровни компонентов оборудования

Описывает функциональные возможности аппаратных уровней 11_0–12_1.

Чтобы справиться с разнообразием видеоадаптеров на новых и существующих компьютерах, в Microsoft Direct3D 11 появилась концепция уровней функций. Каждый карта видео реализует определенный уровень функциональности Microsoft DirectX (DX) в зависимости от установленных графических процессоров (GPU). Уровень функций — это четко определенный набор функциональных возможностей GPU. Например, уровень компонентов 11_0 реализует функции, реализованные в Direct3D 11.

Теперь при создании устройства можно попытаться создать устройство для уровня функций, который требуется запросить. Если создать устройство удалось, этот уровень компонентов существует; если нет, оборудование не поддерживает этот уровень компонентов. Можно либо попробовать заново создать устройство на более низком уровне компонентов, либо закрыть приложение.

Ниже перечислены основные свойства уровней функций.

  • Все драйверы Direct3D 12 будут иметь уровень компонентов 11_0 или более поздней версии.
  • GPU, который позволяет создать устройство, соответствует функциональности этого уровня компонентов или превышает его.
  • Уровень компонентов всегда включает функции предыдущих или более низких уровней функций.
  • Уровень функций не подразумевает производительность, а только функциональные возможности. Производительность зависит от реализации оборудования.
  • Уровень функций выбирается при вызове D3D12CreateDevice.
  • Для получения более подробных сведений о поддерживаемых функциях (особенно тех, которые помечены как необязательные в таблице ниже, что означает, что оборудование может поддерживать эту функцию, но не требуется) вызовите CheckFeatureSupport.

Сведения об ограничениях на создание устройств не аппаратного типа на определенных уровнях функций см. в разделе Ограничения Создание WARP и Эталонные устройства. Дополнительные сведения о внедрении уровней функций см. в документации по Direct3D 11 по уровням функций Direct3D.

Системы нумерирования

Уровни функций оборудования не совпадают с версиями API. Например, существует API D3D11.3, но нет аппаратного уровня функций 11_3. Уровни функций определяются в перечислении D3D_FEATURE_LEVEL .

Существует три различных системы нумерирования:

  • Версии Direct3D используют точку; Например, Direct3D 12.0.
  • Модели шейдеров используют точку; например, модель шейдера 5.1.
  • Уровни признаков используют символ подчеркивания; например, уровень компонентов 12_0.

Поддержка уровня компонентов

Для каждого уровня функций Direct3D доступны следующие функции.

Заголовки в верхней строке представляют собой уровни функций Direct3D. Заголовки в левом столбце являются признаками.

Компонент \ Уровень компонентов 12_1; 12_0 11_1¹ 11_0
Модель шейдера 6,0 6,0 6.0/5.1² 6.0/5.1²
Уровень привязки ресурсов Уровень 2 Уровень 2 Уровень 1 Уровень 1
Плитки ресурсов Уровень 2 Уровень 2 Необязательно Необязательно
Консервативная растеризация Уровень 1 Необязательно Необязательно Нет
Упорядоченные представления средства программной прорисовки да Необязательно Необязательно Нет
Минимальные и максимальные фильтры Да да Необязательно Нет
Сопоставление буфера по умолчанию Необязательно Необязательно Необязательно Необязательно
Контрольное значение трафарета в шейдере Необязательно Необязательно Необязательно Нет
Загрузка типизированного представления неупорядоченного доступа 18 форматов, более необязательный 18 форматов, более необязательный 3 формата, более необязательный 3 формата, более необязательный
Шейдер геометрии Да Да Да Да
Потоковая передача Да Да Да Да
DirectCompute/ шейдер вычислений Да Да Да Да
Шейдеры корпусов и доменов Да Да Да Да
Массивы ресурсов текстуры Да Да Да Да
Массивы ресурсов Cubemap Да Да Да Да
Сжатие BC1–BC7 Да Да Да Да
Альфа-охват Да Да Да Да
Логические операции (объединение выходных данных) Да Да да Необязательно
Не зависят от целевого объекта растеризации Да Да Да Нет
Несколько целевых целей отрисовки (MRT) с ForcedSampleCount 1 Да Да да Необязательно
Максимальное число принудительных выборок для отрисовки только для UAV 16 16 16 8
Максимальное измерение текстуры 16384 16384 16384 16384
Max Cubemap Dimension 16384 16384 16384 16384
Максимальный экстент тома 2048 2048 2048 2048
Максимальное число повторов текстуры 16384 16384 16384 16384
Макс анизотропия 16 16 16 16
Максимальное число примитивов 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Индекс максимальной вершины 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Максимальное число слотов ввода 32 32 32 32
Целевые объекты одновременной отрисовки 8 8 8 8
Запросы окклюзии Да Да Да Да
Отдельная альфа-смесь Да Да Да Да
Зеркальное отображение один раз Да Да Да Да
Перекрывающиеся элементы вершин Да Да Да Да
Независимые маски записи Да Да Да Да
Instancing Да Да Да Да

 

  • 1. Требуется среда выполнения Direct3D 11.3 или Direct3D 12.
  • ¹ Требуется среда выполнения Direct3D 11.1.
  • 2 Модель шейдеров 5.0 может при необходимости поддерживать шейдеры двойной точности, расширенные шейдеры двойной точности, инструкции шейдеров SAD4 и шейдеры частичной точности. Чтобы определить доступные параметры модели шейдера 5.0, вызовите ID3D12Device::CheckFeatureSupport. Некоторая совместимость зависит от того, на каком оборудовании вы работаете: модель шейдера 5.1 поддерживается только на оборудовании, поддерживающем API DirectX 12, независимо от используемого уровня функций. Оборудование DirectX 11 поддерживает только шейдерную модель 5.0. API DirectX 12 переходит только к уровню компонентов 11_0.
  • 1 Высшие уровни являются необязательными.
  • Для уровней компонентов 12_0 и 12_1 требуется среда выполнения Direct3D 11.3 или Direct3D 12.
  • Для уровня компонентов 11_1 требуется среда выполнения Direct3D 11.1.
  • Для уровня компонентов 11_0 требуется среда выполнения Direct3D 11.0.

Аппаратная поддержка форматов DXGI

Чтобы просмотреть таблицы форматов DXGI и аппаратных функций, ознакомьтесь со следующими разделами:

Запрос возможностей

Основные сведения о Direct3D 12