Уровни функций в 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 | Модель драйвера | Функции | Среда выполнения Direct3D | Модель драйвера | Функции | |
9_1 | 11.0 | WDDM 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_3 | vs_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_0 | 10.0 | Shader 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_1 | 10.1 | Shader 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_0 | 11.0 | WDDM 1.1 | Shader Model 5.0, шейдеры корпуса и домена, DirectCompute (CS 5.0), текстуры 16K, BC6H / BC7, расширенные форматы пикселей, все функции 10_1. | 11.1 | WDDM 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 серии (Ферми ); |
11.2 | WDDM 1.3 | 11_x: мозаичные ресурсы (два уровня), минимальная / максимальная фильтрация | Nvidia GeForce GTX 600 /700 / Серия Титан (Кеплер ), GTX 745/750 серии (Максвелл, первое поколение ) | ||||
11_1 | 11.1 | WDDM 1.2 | Логические операции смешивания, независимая от цели растеризация, беспилотные летательные аппараты на каждом этапе конвейера с увеличенным количеством слотов, рендеринг только беспилотных летательных аппаратов с принудительным подсчетом выборок, постоянное смещение буфера и частичные обновления, все функции 11_0. | 11.3 | WDDM 2.0 | 11_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 ); |
12_0 | 11.3 | WDDM 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 серии (Тьюринг ); | |||||
Уровень характеристик | Среда выполнения 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 уровня функций.
Уровень | Модель драйвера | Обязательные особенности | Дополнительные особенности | Графические процессоры, поддерживающие максимальный уровень функций |
---|---|---|---|---|
11_0 | WDDM 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 ); | ||
12_0 | WDDM 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_1 | Nvidia GeForce 900 / Серия Титан (Максвелл, второе поколение ), GeForce 10 серии (Паскаль ), GeForce 16 серии (Тьюринг ) AMD RX Vega серии (GCN5), Radeon RX 5000 серии (RDNA ); | |||
WDDM 2.0 | Консервативный уровень растеризации 1, упорядоченные просмотры растеризатора. | |||
12_2 | WDDM 2.9 | DirectX 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_0 | MCDM[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 / UAV | 1 млн | > 1 млн | |
CBV на этап шейдера | 14 | полная куча | |
SRV на этап шейдера | 128 | полная куча | |
БПЛА на всех этапах | 8 | 64 | полная куча |
64† | |||
Сэмплеры на этап шейдера | 16 | полная куча | |
Требуется уровень функции | 11_0 | 11_1 | |
Незаполненные записи корневой подписи | Нет | Только кучи SRV | все кучи |
† 64 слота на уровне функций 11_1 и оборудовании CORE_1_0 |
Некоторые из дополнительных функций, таких как мозаичные ресурсы и консервативная растеризация, имеют «уровни», которые определяют набор поддерживаемых возможностей.
Возможность | 1-го уровня | 2 уровень | Уровень 3 | 4 уровень |
---|---|---|---|---|
Плиточный буфер | да | |||
Плиточная текстура2D | да | |||
Образец с зажимом LOD | Нет | да | ||
Образец с обратной связью | Нет | да | ||
NULL плитка прочитана | неопределенный | нуль | ||
NULL запись плитки | неопределенный | отброшен | ||
Плиточная текстура3D | Нет | да | ||
Наследование данных плитки текстуры[36] | Нет | да |
Возможность | 1-го уровня | 2 уровень | Уровень 3 |
---|---|---|---|
Требуемая область неопределенности | 1/2 пикселя | 1/256 пикс. | |
Вырожденные треугольники после привязки | Нет | Не отбраковано | |
Внутреннее покрытие ввода | Нет | да |
Большинство функций являются необязательными для всех уровней функций, но некоторые из этих функций становятся обязательными на более высоких уровнях функций.
Матрица поддержки
Особенность | Microsoft | AMD Radeon | Nvidia GeForce | Intel HD Графика | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Имя | Уровни | WARP12 | GCN 1 | GCN 2 / GCN 3 / GCN 4 | GCN 5 / RDNA | РДНА 2 | Ферми | Кеплер | Максвелл (1-е поколение) | Максвелл (2-е поколение) | Паскаль | Вольта | Тьюринг 16 серии | Тьюринг 20 серии / Ампер | Haswell (7,5 поколения) | Broadwell (8 поколение) | Skylake (9 поколение) / Kaby Lake (9,5 поколения) | Ледяное озеро (11 поколений) | Тигровое озеро (12 поколений) |
Максимальный уровень возможностей | 12_1 | 11_1 | 12_0 | 12_1 | 12_2 | 11_0 | 12_1 | 12_2 | 11_1 | 12_1 | |||||||||
Привязка ресурса[37] | 3 | Уровень 3 | Уровень 3 | 1-го уровня | 2 уровень | Уровень 3 | 1-го уровня | Уровень 3 | |||||||||||
Плиточные ресурсы[38][39] | 4 | Уровень 3 | 1-го уровня | 2 уровень | Уровень 3 | 4 уровень | 1-го уровня | Уровень 3 | Нет | 1-го уровня | Уровень 3 | ||||||||
Типизированные загрузки БПЛА для дополнительных форматов[40] | да | да | Нет | да | Нет | да | |||||||||||||
Консервативная растеризация[41] | 3 | Уровень 3 | Нет | Уровень 3 | Нет | 1-го уровня | 2 уровень | Уровень 3 | Нет | Уровень 3 | |||||||||
Виды, упорядоченные растеризатором[42] | да | Нет | да | Нет | да | да | |||||||||||||
Контрольное значение трафарета из пиксельного шейдера[43] | да | да | Нет | Нет | да | ||||||||||||||
Слоты для БПЛА на всех этапах[44] | полная куча | полная куча | 8 | 64 | полная куча | 64 | полная куча | ||||||||||||
Логические операции смешивания[45][46] | да | да | да | да | |||||||||||||||
Операции с плавающей запятой двойной точности (64-битные)[47][48] | да | да | да | да | |||||||||||||||
Минимальная точность с плавающей запятой[46][49] | 10 или 16 бит | 32-битная "убранная" поддержка в драйверах GCN3-4 | 16 бит | 32 бит | 16 бит | 32 бит | 16 бит | ||||||||||||
Куча ресурсов[50] | 2 | 2 уровень | 2 уровень | 1-го уровня | 2 уровень | 2 уровень | |||||||||||||
Виртуальная адресация по ресурсам[51] | 32 бит | 40 бит | 44 бит | 40 бит | 31 бит | 38 бит | |||||||||||||
Виртуальная адресация для каждого процесса[51] | 47 бит | 40 бит | 44 бит | 40 бит | 31 бит | 48 бит | |||||||||||||
Просмотр экземпляров[52][53] | 3 | 1-го уровня | 1-го уровня | 1-го уровня | 2 уровень | Уровень 3 | 1-го уровня | ||||||||||||
Трассировка лучей[54] | 2 | Нет | Нет | Уровень 1.1 | Нет | 1-го уровня | Уровень 1.1 | Нет | |||||||||||
Затенение с переменной скоростью[55] | 2 | 1-го уровня | Нет | 2 уровень | Нет | 2 уровень | Нет | 1-го уровня | |||||||||||
Сетка шейдеры[56] | 1 | Нет | Нет | 1-го уровня | Нет | 1-го уровня | Нет | ||||||||||||
Сэмплер Обратная связь[57] | 2 | Нет | Нет | 1-го уровня | Нет | Уровень 0.9 | Нет | Уровень 0.9 |
Смотрите также
Рекомендации
- ^ а б c «Direct3D 11 на оборудовании нижнего уровня». MSDN. Получено 2012-11-18.
- ^ «Комплект драйверов Windows - поддержка Direct3D 11». MSDN. Получено 2009-06-13.
- ^ а б c d Чак Уолборн (20 июня 2012 г.). «Уровни функций Direct3D». Игры для Windows и блог о DirectX SDK.
- ^ «Презентации Gamefest 2008». Microsoft. Архивировано из оригинал 13 ноября 2013 г.
- ^ «Уровни функций Direct3D». MSDN. Получено 2012-07-02.
- ^ «GameFest 2008: Введение в конвейер графики Direct3D 11». Microsoft. Слайд 56. Архивировано с оригинал на 2013-01-28.
- ^ "Перечисление D3D10_FEATURE_LEVEL1". MSDN. Получено 2009-11-22.
- ^ «Уровни функций Direct3D». MSDN. Получено 30 сентября 2014.
- ^ "Ссылка 10Level9". MSDN. Получено 2012-11-18.
- ^ MSDN - DirectX и игры - Справочник по шейдерам Asm
- ^ а б https://msdn.microsoft.com/en-us/library/windows/desktop/hh404562#check_support_of_new_direct3d_11.1_features_and_formats
- ^ «Блоги MSDN». Получено 30 сентября 2014.
- ^ https://msdn.microsoft.com/en-us/library/windows/desktop/jj863687.aspx
- ^ Беннетт Сорбо (26 июня 2013 г.). «Что нового в Direct3D 11.2». Канал9 - СТРОИТЬ 2013.
- ^ «Samsung анонсирует Exynos 5 Dual на базе A15 / Mali-T604». АнандТех. Получено 2013-06-15.
- ^ "Ядра Vivante Vega для 3D". Виванте. Архивировано из оригинал на 2015-02-15. Получено 2014-12-10.
- ^ "Перечисление D3D11_CONSERVATIVE_RASTERIZATION_TIER". Библиотека MSDN. 22 февраля 2015 г.. Получено 22 февраля 2015.
- ^ «Возможности Direct3D 11.3». Библиотека MSDN. 28 марта 2015 г.. Получено 28 марта 2015.
- ^ Райан Смит. "AnandTech - Обзор NVIDIA GeForce GTX 980: Maxwell Mark 2". Получено 30 сентября 2014.
В первую очередь среди новых функций Maxwell 2 - полная совместимость с Direct3D 11.2 / 11.3.
- ^ Райан Смит. «AnandTech - Microsoft подробно описывает Direct3D 11.3 и 12 новых функций рендеринга». Получено 30 сентября 2014.
- ^ "Максвелл и DX12 доставлены". NVIDIA. Получено 30 сентября 2014.
- ^ «Блоги MSDN». Получено 30 сентября 2014.
- ^ http://devblogs.nvidia.com/parallelforall/maxwell-most-advanced-cuda-gpu-ever-made/
- ^ «Intel Skylake: Core i7-6700K и i5-6600K в тесте». ОБОРУДОВАНИЕ ДЛЯ ИГР ДЛЯ ПК ОНЛАЙН. 5 августа 2015 г.. Получено 5 августа 2015.
- ^ GVCS005 - Microsoft Direct3D 12: новые сведения об API и оптимизация Intel В архиве 4 апреля 2015 г. Wayback Machine
- ^ Сборка 2015: улучшенная графика и производительность DirectX12
- ^ https://msdn.microsoft.com/en-us/library/dn899127.aspx
- ^ https://msdn.microsoft.com/en-us/library/mt733232(v=vs.85).aspx
- ^ https://github.com/Microsoft/DirectXShaderCompiler/wiki/FAQ
- ^ https://docs.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_feature
- ^ https://devblogs.microsoft.com/directx/new-in-directx-feature-level-12_2/
- ^ https://microsoft.github.io/DirectX-Specs/d3d/D3D12_FeatureLevel12_2.html
- ^ а б https://docs.microsoft.com/en-us/windows/win32/direct3d12/core-feature-levels
- ^ https://msdn.microsoft.com/en-us/library/windows/desktop/ff476900(v=vs.85).aspx
- ^ Вольфганг Энгель. «Введение в привязку ресурсов в Microsoft DirectX 12».
- ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/memory-aliasing-and-data-inheritance#data-inheritance
- ^ Стивуимс. «Куча дескрипторов - приложения Windows». docs.microsoft.com. Получено 2019-09-08.
- ^ https://docs.microsoft.com/en-us/windows/desktop/api/D3D12/ne-d3d12-d3d12_tiled_resources_tier
- ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/volume-tiled-resources
- ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/typed-unordered-access-view-loads
- ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/conservative-rasterization
- ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/rasterizer-order-views
- ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/shader-specified-stencil-reference-value
- ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d12/descriptor-heaps
- ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d11/direct3d-11-1-features#use-logical-operations-in-a-render-target
- ^ а б https://docs.microsoft.com/en-us/windows/desktop/direct3d12/capability-querying
- ^ https://docs.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_doubles
- ^ https://docs.microsoft.com/en-us/windows-hardware/drivers/display/directx-feature-improvements-in-windows-8#dblshader
- ^ https://docs.microsoft.com/en-us/windows/desktop/direct3d11/direct3d-11-1-features#use-hlsl-minimum-precision
- ^ windows-sdk-content. "D3D12_RESOURCE_HEAP_TIER (d3d12.h)". docs.microsoft.com. Получено 2019-09-08.
- ^ а б https://docs.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_feature_data_gpu_virtual_address_support
- ^ https://docs.microsoft.com/en-us/windows/desktop/api/d3d12/ne-d3d12-d3d12_view_instancing_tier
- ^ https://docs.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_view_instancing_desc
- ^ windows-sdk-content. "D3D12_RAYTRACING_TIER (d3d12.h)". docs.microsoft.com. Получено 2019-09-08.
- ^ Стивуимс. «Затенение с переменной скоростью (VRS) - Windows-приложения». docs.microsoft.com. Получено 2019-09-08.
- ^ https://microsoft.github.io/DirectX-Specs/d3d/MeshShader.html
- ^ https://microsoft.github.io/DirectX-Specs/d3d/SamplerFeedback.html