Уровни компонентов оборудования
Описывает функциональные возможности аппаратных уровней 11_0–12_1.
- Системы нумерирования
- Поддержка уровня компонентов
- Аппаратная поддержка форматов DXGI
- Связанные темы
Чтобы справиться с разнообразием видеоадаптеров на новых и существующих компьютерах, в 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 и аппаратных функций, ознакомьтесь со следующими разделами:
- Поддержка формата DXGI для оборудования Уровня компонентов Direct3D 12.1
- Поддержка формата DXGI для оборудования Уровня компонентов Direct3D 12.0
- Поддержка формата DXGI для оборудования Уровня компонентов Direct3D 11.1
- Поддержка формата DXGI для оборудования уровня компонентов Direct3D 11.0
- Аппаратная поддержка форматов Direct3D 10Level9
- Поддержка оборудования для форматов Direct3D 10.1
- Аппаратная поддержка форматов Direct3D 10
Связанные темы