Уровни функций в Direct3D - Feature levels in Direct3D

Уровни функций в Direct3D определяют строгие наборы функций, необходимые для определенных версий Direct3D API и среды выполнения, а также дополнительные необязательные уровни функций, доступные в той же версии API.

Обзор

Уровни функций инкапсулируют специфические для оборудования возможности, которые существуют поверх общих обязательных требований и функций в конкретной версии API. Уровни сгруппированы в строгие надмножества друг друга, поэтому каждый более высокий уровень включает в себя все функции, необходимые на каждом более низком уровне.

Некоторые уровни функций включают ранее необязательные аппаратные функции, которые переведены в обязательный статус с новыми версиями API, чтобы лучше отображать новое оборудование. Более продвинутые функции, такие как новые модели шейдеров и этапы рендеринга, доступны только на оборудовании более высокого уровня,[1][2] однако оборудование не требуется для поддержки всех этих уровней функций[3] а среда выполнения Direct3D сделает необходимые переводы.

Уровни функций позволяют разработчикам унифицировать конвейер рендеринга и использовать одну версию API как на новом, так и на старом оборудовании, используя преимущества улучшений производительности и удобства использования в новой среде выполнения.[4]

Существуют отдельные возможности, указывающие на поддержку конкретных операций с текстурами и форматов ресурсов; они обычно указываются для каждого формата текстуры с использованием комбинации флагов возможностей, но некоторые из этих дополнительных функций становятся обязательными на верхних уровнях функций.[5]

Direct3D 10

Direct3D 10 представил фиксированный набор обязательных требований к графическому оборудованию. До Direct3D 10 в новых версиях API появилась поддержка новых аппаратных возможностей, однако эти возможности были необязательными, и их нужно было запрашивать с помощью «битов возможностей» или «заглавных букв».

Direct3D 10.1 API был первым, кто использовал концепцию «уровней функций».[1][3][6] для поддержки оборудования Direct3D 10.0 и 10.1.[3][7][8]

Direct3D 11

В Direct3D 11 концепция уровней функций была дополнительно расширена для работы на большинстве оборудования нижнего уровня, включая карты Direct3D 9 с WDDM водители.

Есть семь уровней функций, предоставляемых D3D_FEATURE_LEVEL структура; уровни 9_1, 9_2 и 9_3 (вместе известные как Direct3D 10, уровень 9) повторно инкапсулируют различные функции популярных карт Direct3D 9, соответствующих Shader Model 2.0, а уровни 10_0, 10_1, 11_0 и 11_1 относятся к соответствующим версиям Direct3D API.[1] Уровни функций "10 уровня 9" содержат подмножество Direct3D 10/11 API.[9] и требуют написания шейдеров на HLSL в соответствии с Шейдерная модель 4.0 4_0_LEVEL_9_x профили компилятора, а не в реальных "шейдерная сборка" язык[10] шейдерной модели 1.1 / 2.0; SM 3.0 (vs_3_0/ps_3_0) был намеренно опущен в Direct3D 10 уровня 9.[3]

Начиная с Direct3D 11.1 для Windows 8, некоторые обязательные функции, представленные для уровня 11_1, доступны как дополнительные на уровнях 10_0, 10_1 и 11_0 - эти функции можно проверить индивидуально с помощью ПроверитьФункцияПоддержка функция[11] однако уровень функций 11_1 и дополнительные функции недоступны в Direct3D 11.1 для Windows 7 обновление платформы[12] потому что он не поддерживает WDDM 1.2.[13]

Direct3D 11.2 для Windows 8.1 добавляет необязательные отображаемые буферы и необязательные мозаичные ресурсы для уровней 11_0 и 11_1; для этих функций требуются драйверы WDDM 1.3.[14]

Direct3D 11.3 для Windows 10 требует драйверов WDDM 2.0; он добавляет дополнительные функции и уровни 12_0 и 12_1 из Direct3D 12.

Уровни функций Direct3D 10 и 11
Обязательные особенностиДополнительные особенностиГрафические процессоры с поддержкой максимального функционального уровня
Уровень характеристикСреда выполнения Direct3DМодель драйвераФункцииСреда выполнения Direct3DМодель драйвераФункции
9_111.0WDDM 1.0Шейдерная модель 2.0 (vs_2_0/ps_2_0), 2К текстуры, объемные текстуры, запросы событий, BC1-3 (также известный как DXTn), некоторые другие специфические возможности.Нет данныхNvidia GeForce FX; Intel GMA 950/3000 (Набор микросхем 945G / 965G); Тегра 3, Тегра 4
9_2Запросы окклюзии, форматы с плавающей запятой (без смешивания), расширенные заглавные буквы, все функции 9_1.ATI Radeon 9800/9700/9600/9500
9_3vs_2_a/ps_2_x с экземплярами и дополнительными ограничениями шейдеров, текстурами 4K, несколькими целевыми объектами рендеринга (4 MRT), смешиванием с плавающей запятой (ограничено), всеми функциями 9_2.ATI Radeon X800 / X700, X1900 / X1800 / X1600 / X1300; Nvidia GeForce 6, 7 серия; Адрено 220/300 серии; Мали-Т 6xx / 720/820/830,[15] Mali-G51; Matrox М-серия; Виванте Серии GC2000 и далее[16]
10_010.0Shader Model 4.0, геометрический шейдер, поток, альфа-покрытие, текстуры 8K, текстуры MSAA, двусторонний трафарет, общие виды целевой рендеринга, массивы текстур, BC4 / BC5, полная поддержка формата с плавающей запятой, все функции 9_3.ATI Radeon HD2000 серии; Nvidia GeForce 8 /9 /GTX 200 серии; Intel GMA X3100-X4500 (Чипсет GM965 / G35 / G45)
10_110.1Shader Model 4.1, массивы кубической карты, расширенный MSAA, все функции 10_0.ATI Radeon HD 3000 /4000 серии; Nvidia GT 205-240 /GT 300 серии;

Intel HD Графика (Arrandale /Кларкдейл Процессоры), Intel HD Графика 3000/2000 (Песчаный Мост )

11_011.0WDDM 1.1Shader Model 5.0, шейдеры корпуса и домена, DirectCompute (CS 5.0), текстуры 16K, BC6H / BC7, расширенные форматы пикселей, все функции 10_1.11.1WDDM 1.2[11]10_x: DirectCompute (CS 4.0 / CS 4.1), расширенные форматы пикселей, операции логического смешивания.
11_0: рендеринг только UAV с принудительным подсчетом выборок, постоянным смещением буфера и частичным обновлением, двойной точностью (64-битные) операции с плавающей запятой, минимальной точностью с плавающей запятой (10 или 16 бит).
AMD Radeon HD 5000 /6000 /7300-7600 /8300-8400, R5 210-235 серии (Тераскейл 2 ), HD 6900 (Тераскейл 3 );

Nvidia GeForce GTX 400 /500 серии (Ферми );
Intel HD Графика 4000/2500 (Ivy Bridge )

11.2WDDM 1.311_x: мозаичные ресурсы (два уровня), минимальная / максимальная фильтрацияNvidia GeForce GTX 600 /700 / Серия Титан (Кеплер ), GTX 745/750 серии (Максвелл, первое поколение )
11_111.1WDDM 1.2Логические операции смешивания, независимая от цели растеризация, беспилотные летательные аппараты на каждом этапе конвейера с увеличенным количеством слотов, рендеринг только беспилотных летательных аппаратов с принудительным подсчетом выборок, постоянное смещение буфера и частичные обновления, все функции 11_0.11.3WDDM 2.011_x / 12_x: консервативная растеризация (три уровня),[17] мозаичные ресурсы (четыре уровня), эталонное значение шаблона из пиксельного шейдера, упорядоченные виды растеризатора, типизированные загрузки БПЛА для дополнительных форматов, UMA / hUMA поддерживать[18]Мали-Т 760/860/880, Mali-G71 / 72; Адрено 400 серия;

AMD HD 7700-7900 /8500-8900, Rx 240/250/265/270/280, Rx 330/340/350/370, R5 / R7 400 серии (GCN1 );
Intel HD Графика 4200-5200 (7,5 поколения, Haswell ), 5300-6300 (8 поколений, Broadwell )

12_011.3WDDM 2.0Тайловые ресурсы уровня 2 (Texture2D), типизированные нагрузки БПЛА (дополнительные форматы).AMD HD 7790 /8770, Rx 260/290, Rx 360/390, R7 455 серии, Xbox One (GCN2 ), R9 285/380, серия Fury / Nano (GCN3), RX 460-480, RX 500 серии (GCN4)
12_1Консервативный уровень растеризации 1, упорядоченные просмотры растеризатора.Адрено 500/600 серии;

Nvidia GeForce 900 / Серия Титан (Максвелл, второе поколение );[19][20][21][22][23] GeForce 10 серии (Паскаль ), GeForce 20 серии (Тьюринг );
AMD RX Vega серии (GCN5), Radeon RX 5000 серии (RDNA );
Intel HD Графика 510-580 (9 поколения, Skylake ),[24] 605-620 (9,5 поколения, Kaby Lake )

Уровень характеристикСреда выполнения Direct3DМодель драйвераФункцииСреда выполнения Direct3DМодель драйвераФункцииГрафические процессоры с поддержкой максимального функционального уровня
Обязательные особенностиДополнительные особенности

Direct3D 12

Direct3D 12 требует графического оборудования, соответствующего уровням функций 11_0 и 11_1, которые поддерживают преобразование адресов виртуальной памяти.[25][26]

Есть два новых уровня функций, 12_0 и 12_1, которые включают некоторые функции, которые являются необязательными на уровнях 11_0 и 11_1.[27] Из-за реструктуризации API некоторые ранее необязательные функции были преобразованы в базовые на уровнях 11_0 и 11_1.

Direct3D 12 из юбилейного обновления Windows 10 (версия 1607) включает Shader Model 6.0,[28] для чего требуются драйверы WDDM 2.1 и новый компилятор DXIL на основе LLVM и СПИР-В.[29] Windows 10 Creators Update версий 1703 и 1709 включает Shader Model 6.1 и WDDM 2.2 / 2.3.

Shader Model 6+ доступна только для устройств 12 уровня функций.

Direct3D 12 уровней функций
УровеньМодель драйвераОбязательные особенностиДополнительные особенностиГрафические процессоры, поддерживающие максимальный уровень функций
11_0WDDM 2.0Все обязательные функции 11_0 из Direct3D 11, Shader Model 5.1, Resource binding Tier 1.

БПЛА на каждом этапе конвейера, БПЛА только рендеринг с подсчетом выборки силы, постоянным смещением буфера и частичным обновлением.

Привязка ресурсов (три уровня), мозаичные ресурсы (четыре уровня), консервативная растеризация (три уровня), эталонное значение шаблона из пиксельного шейдера, упорядоченные представления растеризатора, типизированные загрузки БПЛА для дополнительных форматов, UMA / hUMA поддержка, просмотр инстансов.

Логические операции смешивания, операции с плавающей запятой двойной точности (64-битные), минимальная точность с плавающей запятой (10 или 16 бит).

Шейдерная модель 6.0-6.6

Метакоманды, переменная скорость затенения, трассировка лучей, шейдеры сетки, обратная связь сэмплера.

Другие дополнительные функции, определяемые структурами D3D_FEATURE.[30]

Nvidia GeForce GTX 400 /500 серии (Ферми ), GeForce GTX 600 /700 / Серия Титан (Кеплер ), GTX 745/750 серии (Максвелл, первое поколение )
11_1Логические операции смешивания, независимая от цели растеризация, увеличенное количество слотов для БПЛА.Мали-Г 71/72;

AMD HD 7700-7900 /8500-8900, Rx 240/250/265/270/280, Rx 330/340/350/370, R5 / R7 400 серии (GCN1 );
Intel HD Графика 4200-5200 (7,5 поколения, Haswell ), 5300-6300 (8 поколений, Broadwell )

12_0WDDM 2.0Уровень привязки ресурсов 2, уровень мозаичных ресурсов 2 (Texture2D), типизированные нагрузки БПЛА (дополнительные форматы)AMD HD 7790 /8770, Rx 260/290, Rx 360/390, R7 455 серии, Xbox One (GCN2 ), R9 285/380, серия Fury / Nano (GCN3), RX 460-480, RX 500 серии (GCN4)
WDDM 2.1Шейдерная модель 6.0, DXIL
12_1Nvidia GeForce 900 / Серия Титан (Максвелл, второе поколение ), GeForce 10 серии (Паскаль ), GeForce 16 серии (Тьюринг )

AMD RX Vega серии (GCN5), Radeon RX 5000 серии (RDNA );
Intel HD Графика 510-580 (9 поколения, Skylake ), 605-620 (9,5 поколения, Kaby Lake )

WDDM 2.0Консервативный уровень растеризации 1, упорядоченные просмотры растеризатора.
12_2WDDM 2.9DirectX 12 Ultimate: Shader Model 6.5, Raytracing Tier 1.1, Mesh Shaders, Затенение с переменной скоростью, Обратная связь сэмплера, Уровень 3 привязки ресурсов, Уровень 3 плиточных ресурсов (Texture3D), Уровень консервативной растеризации 3, 40-битное виртуальное адресное пространство.[31][32]NVidia GeForce 20 серии (Тьюринг ), GeForce 30 серии (Ампер );

AMD Radeon RX 6000 серии (RDNA2 )

CORE_1_0MCDM[33]Устройство только для вычислений: уровень привязки ресурсов 1 (с ограничениями), модель шейдеров 6.0, DXIL, только вычислительные шейдеры[33]Shader Model 6.0-6.6, метакоманды.?

Direct3D 12 представляет обновленную модель привязки ресурсов, позволяющую явно управлять памятью. Абстрактный ресурс "просмотр" объектов[34] которые разрешили произвольный доступ для чтения / записи, теперь представлены дескрипторами ресурсов, которые выделяются с помощью кучи памяти и таблиц.[35] Эта модель поддерживается большинством существующих архитектур графических процессоров для настольных ПК и требует драйверов WDDM 2.0. Поддерживаемое оборудование разделено на три уровня привязки ресурсов, которые определяют максимальное количество дескрипторов, которые могут использоваться для CBV (представление постоянного буфера), SRV (представление ресурсов шейдера) и UAV (представление неупорядоченного доступа); CBV и SRV на каждую стадию трубопровода; БЛА для всех этапов трубопроводов; пробоотборники на этап; и количество таблиц дескрипторов SRV. Оборудование уровня 3, такое как AMD GCN и Intel Skylake, не имеет ограничений, позволяя использовать полностью свободные ресурсы, ограниченные только размером кучи дескрипторов, в то время как уровень 1 (Nvidia Fermi, Intel Haswell / Broadwell) и уровень 2 (Nvidia Kepler / Maxwell) оборудование накладывает некоторые ограничения на количество дескрипторов («представлений»), которые могут использоваться одновременно. Кроме того, буферы и текстуры могут смешиваться вместе в одной куче ресурсов только на оборудовании, поддерживающем уровень 2 кучи ресурсов, в то время как для оборудования уровня 1 требуются отдельные кучи памяти для буферов, текстур, а также поверхностей цели рендеринга и трафарета глубины. Уровень 1 привязки ресурсов и уровень 1 кучи ресурсов требуются для всего поддерживающего оборудования.

Уровни привязки ресурсов
Ограничения ресурсов1-го уровня2 уровеньУровень 3
Дескрипторы в куче CBV / SRV / UAV1 млн> 1 млн
CBV на этап шейдера14полная куча
SRV на этап шейдера128полная куча
БПЛА на всех этапах864полная куча
64
Сэмплеры на этап шейдера16полная куча
Требуется уровень функции11_011_1
Незаполненные записи корневой подписиНетТолько кучи SRVвсе кучи
64 слота на уровне функций 11_1 и оборудовании CORE_1_0

Некоторые из дополнительных функций, таких как мозаичные ресурсы и консервативная растеризация, имеют «уровни», которые определяют набор поддерживаемых возможностей.

Уровни плиточных ресурсов
Возможность1-го уровня2 уровеньУровень 34 уровень
Плиточный буферда
Плиточная текстура2Dда
Образец с зажимом LODНетда
Образец с обратной связьюНетда
NULL плитка прочитананеопределенныйнуль
NULL запись плиткинеопределенныйотброшен
Плиточная текстура3DНетда
Наследование данных плитки текстуры[36]Нетда

Консервативные уровни растеризации
Возможность1-го уровня2 уровеньУровень 3
Требуемая область неопределенности1/2 пикселя1/256 пикс.
Вырожденные треугольники после привязкиНетНе отбраковано
Внутреннее покрытие вводаНетда

Большинство функций являются необязательными для всех уровней функций, но некоторые из этих функций становятся обязательными на более высоких уровнях функций.

Матрица поддержки

Матрица поддержки дополнительных функций Direct3D 12 от производителя и серии графических процессоров
Особенность
MicrosoftAMD RadeonNvidia GeForceIntel HD Графика
ИмяУровниWARP12GCN 1GCN 2 / GCN 3 / GCN 4GCN 5 / RDNAРДНА 2ФермиКеплерМаксвелл
(1-е поколение)
Максвелл
(2-е поколение)
ПаскальВольтаТьюринг 16 серииТьюринг 20 серии / АмперHaswell
(7,5 поколения)
Broadwell
(8 поколение)
Skylake
(9 поколение)
/ Kaby Lake
(9,5 поколения)
Ледяное озеро
(11 поколений)
Тигровое озеро
(12 поколений)
Максимальный уровень возможностей12_111_112_012_112_211_012_112_211_112_1
Привязка ресурса[37]3Уровень 3Уровень 31-го уровня2 уровеньУровень 31-го уровняУровень 3
Плиточные ресурсы[38][39]4Уровень 31-го уровня2 уровеньУровень 34 уровень1-го уровняУровень 3Нет1-го уровняУровень 3
Типизированные загрузки БПЛА для дополнительных форматов[40]дадаНетдаНетда
Консервативная растеризация[41]3Уровень 3НетУровень 3Нет1-го уровня2 уровеньУровень 3НетУровень 3
Виды, упорядоченные растеризатором[42]даНетдаНетдада
Контрольное значение трафарета из пиксельного шейдера[43]дадаНетНетда
Слоты для БПЛА на всех этапах[44]полная кучаполная куча864полная куча64полная куча
Логические операции смешивания[45][46]дададада
Операции с плавающей запятой двойной точности (64-битные)[47][48]дададада
Минимальная точность с плавающей запятой[46][49]10 или 16 бит32-битная "убранная" поддержка в драйверах GCN3-416 бит32 бит16 бит32 бит16 бит
Куча ресурсов[50]22 уровень2 уровень1-го уровня2 уровень2 уровень
Виртуальная адресация по ресурсам[51]32 бит40 бит44 бит40 бит31 бит38 бит
Виртуальная адресация для каждого процесса[51]47 бит40 бит44 бит40 бит31 бит48 бит
Просмотр экземпляров[52][53]31-го уровня1-го уровня1-го уровня2 уровеньУровень 31-го уровня
Трассировка лучей[54]2НетНетУровень 1.1Нет1-го уровняУровень 1.1Нет
Затенение с переменной скоростью[55]21-го уровняНет2 уровеньНет2 уровеньНет1-го уровня
Сетка шейдеры[56]1НетНет1-го уровняНет1-го уровняНет
Сэмплер Обратная связь[57]2НетНет1-го уровняНетУровень 0.9НетУровень 0.9

Смотрите также

Рекомендации

  1. ^ а б c «Direct3D 11 на оборудовании нижнего уровня». MSDN. Получено 2012-11-18.
  2. ^ «Комплект драйверов Windows - поддержка Direct3D 11». MSDN. Получено 2009-06-13.
  3. ^ а б c d Чак Уолборн (20 июня 2012 г.). «Уровни функций Direct3D». Игры для Windows и блог о DirectX SDK.
  4. ^ «Презентации Gamefest 2008». Microsoft. Архивировано из оригинал 13 ноября 2013 г.
  5. ^ «Уровни функций Direct3D». MSDN. Получено 2012-07-02.
  6. ^ «GameFest 2008: Введение в конвейер графики Direct3D 11». Microsoft. Слайд 56. Архивировано с оригинал на 2013-01-28.
  7. ^ "Перечисление D3D10_FEATURE_LEVEL1". MSDN. Получено 2009-11-22.
  8. ^ «Уровни функций Direct3D». MSDN. Получено 30 сентября 2014.
  9. ^ "Ссылка 10Level9". MSDN. Получено 2012-11-18.
  10. ^ MSDN - DirectX и игры - Справочник по шейдерам Asm
  11. ^ а б https://msdn.microsoft.com/en-us/library/windows/desktop/hh404562#check_support_of_new_direct3d_11.1_features_and_formats
  12. ^ «Блоги MSDN». Получено 30 сентября 2014.
  13. ^ https://msdn.microsoft.com/en-us/library/windows/desktop/jj863687.aspx
  14. ^ Беннетт Сорбо (26 июня 2013 г.). «Что нового в Direct3D 11.2». Канал9 - СТРОИТЬ 2013.
  15. ^ «Samsung анонсирует Exynos 5 Dual на базе A15 / Mali-T604». АнандТех. Получено 2013-06-15.
  16. ^ "Ядра Vivante Vega для 3D". Виванте. Архивировано из оригинал на 2015-02-15. Получено 2014-12-10.
  17. ^ "Перечисление D3D11_CONSERVATIVE_RASTERIZATION_TIER". Библиотека MSDN. 22 февраля 2015 г.. Получено 22 февраля 2015.
  18. ^ «Возможности Direct3D 11.3». Библиотека MSDN. 28 марта 2015 г.. Получено 28 марта 2015.
  19. ^ Райан Смит. "AnandTech - Обзор NVIDIA GeForce GTX 980: Maxwell Mark 2". Получено 30 сентября 2014. В первую очередь среди новых функций Maxwell 2 - полная совместимость с Direct3D 11.2 / 11.3.
  20. ^ Райан Смит. «AnandTech - Microsoft подробно описывает Direct3D 11.3 и 12 новых функций рендеринга». Получено 30 сентября 2014.
  21. ^ "Максвелл и DX12 доставлены". NVIDIA. Получено 30 сентября 2014.
  22. ^ «Блоги MSDN». Получено 30 сентября 2014.
  23. ^ http://devblogs.nvidia.com/parallelforall/maxwell-most-advanced-cuda-gpu-ever-made/
  24. ^ «Intel Skylake: Core i7-6700K и i5-6600K в тесте». ОБОРУДОВАНИЕ ДЛЯ ИГР ДЛЯ ПК ОНЛАЙН. 5 августа 2015 г.. Получено 5 августа 2015.
  25. ^ GVCS005 - Microsoft Direct3D 12: новые сведения об API и оптимизация Intel В архиве 4 апреля 2015 г. Wayback Machine
  26. ^ Сборка 2015: улучшенная графика и производительность DirectX12
  27. ^ https://msdn.microsoft.com/en-us/library/dn899127.aspx
  28. ^ https://msdn.microsoft.com/en-us/library/mt733232(v=vs.85).aspx
  29. ^ https://github.com/Microsoft/DirectXShaderCompiler/wiki/FAQ
  30. ^ https://docs.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_feature
  31. ^ https://devblogs.microsoft.com/directx/new-in-directx-feature-level-12_2/
  32. ^ https://microsoft.github.io/DirectX-Specs/d3d/D3D12_FeatureLevel12_2.html
  33. ^ а б https://docs.microsoft.com/en-us/windows/win32/direct3d12/core-feature-levels
  34. ^ https://msdn.microsoft.com/en-us/library/windows/desktop/ff476900(v=vs.85).aspx
  35. ^ Вольфганг Энгель. «Введение в привязку ресурсов в Microsoft DirectX 12».
  36. ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/memory-aliasing-and-data-inheritance#data-inheritance
  37. ^ Стивуимс. «Куча дескрипторов - приложения Windows». docs.microsoft.com. Получено 2019-09-08.
  38. ^ https://docs.microsoft.com/en-us/windows/desktop/api/D3D12/ne-d3d12-d3d12_tiled_resources_tier
  39. ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/volume-tiled-resources
  40. ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/typed-unordered-access-view-loads
  41. ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/conservative-rasterization
  42. ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/rasterizer-order-views
  43. ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/shader-specified-stencil-reference-value
  44. ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/descriptor-heaps
  45. ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d11/direct3d-11-1-features#use-logical-operations-in-a-render-target
  46. ^ а б https://docs.microsoft.com/en-us/windows/desktop/direct3d12/capability-querying
  47. ^ https://docs.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_doubles
  48. ^ https://docs.microsoft.com/en-us/windows-hardware/drivers/display/directx-feature-improvements-in-windows-8#dblshader
  49. ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d11/direct3d-11-1-features#use-hlsl-minimum-precision
  50. ^ windows-sdk-content. "D3D12_RESOURCE_HEAP_TIER (d3d12.h)". docs.microsoft.com. Получено 2019-09-08.
  51. ^ а б https://docs.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_feature_data_gpu_virtual_address_support
  52. ^ https://docs.microsoft.com/en-us/windows/desktop/api/d3d12/ne-d3d12-d3d12_view_instancing_tier
  53. ^ https://docs.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_view_instancing_desc
  54. ^ windows-sdk-content. "D3D12_RAYTRACING_TIER (d3d12.h)". docs.microsoft.com. Получено 2019-09-08.
  55. ^ Стивуимс. «Затенение с переменной скоростью (VRS) - Windows-приложения». docs.microsoft.com. Получено 2019-09-08.
  56. ^ https://microsoft.github.io/DirectX-Specs/d3d/MeshShader.html
  57. ^ https://microsoft.github.io/DirectX-Specs/d3d/SamplerFeedback.html

внешняя ссылка