Базовые интерфейсы

Следующие интерфейсы объявляются в d3d12.h.

В этом разделе

Раздел Описание
ID3D12CommandAllocator Представляет выделение хранилища для команд графического процессора (GPU).
ID3D12CommandList Интерфейс, от которого наследуется ID3D12GraphicsCommandList . Он представляет упорядоченный набор команд, выполняемых GPU, позволяя расширению поддерживать другие списки команд, а не только графические (например, вычисления и копирование).
ID3D12CommandQueue Предоставляет методы для отправки списков команд, синхронизации выполнения списков команд, инструментирования очереди команд и обновления сопоставлений плиток ресурсов.
ID3D12CommandSignature Объект сигнатуры команды позволяет приложениям указывать непрямое рисование, включая формат буфера, тип команды и привязки ресурсов, которые будут использоваться.
ID3D12DescriptorHeap Куча дескрипторов — это коллекция непрерывных выделений дескрипторов, по одному выделению для каждого дескриптора. Кучи дескриптора содержат множество типов объектов, которые не являются частью объекта состояния конвейера (PSO), такие как представления ресурсов шейдера (SRV), неупорядоченные представления доступа (UAV), представления буфера констант (CBV) и выборки.
ID3D12Device Представляет виртуальный адаптер; Он используется для создания распределителей команд, списков команд, очередей команд, ограждений, ресурсов, объектов состояния конвейера, кучи, корневых подписей, выборок и многих представлений ресурсов.
ID3D12Device1 Представляет виртуальный адаптер и расширяет диапазон методов, предоставляемых ID3D12Device.
ID3D12Device2 Представляет виртуальный адаптер. Этот интерфейс расширяет id3D12Device1 для создания объектов состояния конвейера на основе описаний потока состояния конвейера.
ID3D12Device3 Представляет виртуальный адаптер. Этот интерфейс расширяет id3D12Device2 для поддержки создания специальных диагностических кучи в системной памяти, которые сохраняются даже в случае сбоя GPU или удаления устройства.
ID3D12Device4 Представляет виртуальный адаптер. Этот интерфейс расширяет id3D12Device3.
ID3D12Device5 Представляет виртуальный адаптер. Этот интерфейс расширяет id3D12Device4.
ID3D12Device6 Представляет виртуальный адаптер. Этот интерфейс расширяет id3D12Device5.
ID3D12Device7 Представляет виртуальный адаптер. Этот интерфейс расширяет id3D12Device6.
ID3D12Device8 Представляет виртуальный адаптер. Этот интерфейс расширяет id3D12Device7.
ID3D12Device9 Представляет виртуальный адаптер. Этот интерфейс расширяет id3D12Device8 , добавляя методы для управления кэшами шейдеров.
ID3D12Device10 Представляет виртуальный адаптер.
ID3D12DeviceChild Интерфейс, от которого наследуются другие основные интерфейсы, включая ID3D12PipelineLibrary, ID3D12CommandList, ID3D12Pageable и ID3D12RootSignature. Он предоставляет метод для возврата к объекту устройства, для который он был создан.
ID3D12DeviceRemovedExtendedData Предоставляет доступ среды выполнения к данным удаленных устройств расширенных данных (DRED).
ID3D12DeviceRemovedExtendedDataSettings Этот интерфейс управляет параметрами удаленных устройств расширенных данных (DRED).
ID3D12Fence Представляет ограждение, объект, используемый для синхронизации ЦП и одного или нескольких GPU.
ID3D12Fence1 Представляет ограждение. Этот интерфейс расширяет id3D12Fence и поддерживает получение флагов, используемых для создания исходного ограждения.
ID3D12GraphicsCommandList Инкапсулирует список графических команд для отрисовки. Включает API-интерфейсы для инструментирования выполнения списка команд, а также для задания и очистки состояния конвейера.
ID3D12GraphicsCommandList1 Инкапсулирует список графических команд для отрисовки, расширяя интерфейс для поддержки программируемых позиций примеров, атомарных копий для реализации методов позднего кратковременного ввода и дополнительного тестирования границ глубины.
ID3D12GraphicsCommandList2 Инкапсулирует список графических команд для отрисовки, расширяя интерфейс для поддержки записи непосредственных значений непосредственно в буфер.
ID3D12GraphicsCommandList3 Инкапсулирует список графических команд для отрисовки.
ID3D12GraphicsCommandList4 Инкапсулирует список графических команд для отрисовки, расширяя интерфейс для поддержки трассировки лучей и проходов отрисовки.
ID3D12GraphicsCommandList7 TBD
ID3D12Heap Куча — это абстракция непрерывного выделения памяти, используемая для управления физической памятью. Эту кучу можно использовать с объектами ID3D12Resource для поддержки размещенных или зарезервированных ресурсов.
ID3D12LifetimeOwner Представляет определяемый приложением обратный вызов, используемый для уведомления об изменениях времени существования объекта.
ID3D12LifetimeTracker Представляет средства для управления временем существования отслеживаемого объекта.
ID3D12MetaCommand Представляет метакоманд. Метакоманд — это объект Direct3D 12, представляющий алгоритм, который ускоряется независимыми поставщиками оборудования (IHV). Это непрозрачная ссылка на генератор команд, реализованный драйвером.
ID3D12Object Интерфейс, от которого наследуются ID3D12Device и ID3D12DeviceChild . Он предоставляет методы для связывания частных данных и создания заметок к именам объектов.
ID3D12Pageable Интерфейс, от которого наследуются многие другие основные интерфейсы. Он указывает, что тип объекта инкапсулирует определенный объем памяти, доступной для GPU; но не указывает, может ли приложение управлять местом расположения объекта.
ID3D12PipelineLibrary Управляет библиотекой конвейера, в частности загрузкой и получением отдельных объектов psos.
ID3D12PipelineLibrary1 Управляет библиотекой конвейера. Этот интерфейс расширяет ID3D12PipelineLibrary для загрузки объектов PSOs из описания потока состояния конвейера.
ID3D12PipelineState Представляет состояние всех заданных в данный момент шейдеров, а также определенных объектов состояния функции.
ID3D12QueryHeap Управляет кучей запросов. Куча запросов содержит массив запросов, на которые ссылаются индексы.
ID3D12Resource Инкапсулирует обобщенную способность ЦП и GPU читать и записывать данные в физическую память или кучу. Он содержит абстракции для организации простых массивов данных и управления ими, а также многомерные данные, оптимизированные для выборки шейдеров.
ID3D12RootSignature Корневая сигнатура определяет, какие ресурсы привязаны к графическому конвейеру. Корневая подпись настраивается приложением и связывает список команд с ресурсами, которые требуются шейдерам. В настоящее время для каждого приложения существует одна графика и одна подпись корневого каталога вычислений.
ID3D12RootSignatureDeserializer Содержит метод для возврата десериализованной структуры данных D3D12-ROOT-SIGNATURE-DESC сериализованной корневой сигнатуры версии 1.0.
ID3D12SDKConfiguration Предоставляет методы конфигурации пакета SDK.
ID3D12ShaderCacheSession Представляет сеанс кэша шейдера.
ID3D12StateObject Представляет переменную величину состояния конфигурации, включая шейдеры, которыми приложение управляет как единое целое и которое атомарно предоставляется драйверу для обработки, например компиляции или оптимизации.
ID3D12StateObjectProperties Предоставляет методы для получения и настройки свойств ID3D12StateObject.
ID3D12Tools Этот интерфейс используется для настройки среды выполнения для таких средств, как PIX. Он не предназначен и не поддерживается для любого другого сценария.
ID3D12VersionedRootSignatureDeserializer Содержит методы для возврата десериализованной структуры данных D3D12-ROOT-SIGNATURE-DESC1 любой версии сериализованной корневой сигнатуры.
ID3D12VirtualizationGuestDevice TBD