Поделиться через


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

Описывает функциональные возможности уровней компонентов оборудования 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 0 М 11_1no 11_0
Модель шейдера 6.0 6.0 6.0/5.1 2 6.0/5.1 2
уровне привязки ресурсов Уровень 2 Уровень 2 Уровень 19 Уровень 19
плитки ресурсов Уровень 2 Уровень 2 Необязательный Необязательный
консервативной растеризации Уровень 19 Необязательный Необязательный Нет
упорядоченных представлений растеризатора Да Необязательный Необязательный Нет
фильтров минимального и максимального значения Да Да Необязательный Нет
Буфер карты по умолчанию Необязательный Необязательный Необязательный Необязательный
указанное значение ссылочного набора элементов Необязательный Необязательный Необязательный Нет
типизированное неупорядоченное представление доступа загружает 18 форматов, более необязательный 18 форматов, более необязательный 3 формата, более необязательный 3 формата, более необязательный
шейдер геометрии Да Да Да Да
Stream Out Да Да Да Да
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
Запросы Occlusion Да Да Да Да
Отдельная альфа-смесь Да Да Да Да
Зеркальное отображение один раз Да Да Да Да
Перекрывающиеся элементы вершин Да Да Да Да
Независимые маски записи Да Да Да Да
Instancing Да Да Да Да

 

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

Поддержка оборудования для форматов DXGI

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

возможности запроса

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