Базовые интерфейсы
Следующие интерфейсы объявляются в 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 |