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


структура DXGIDDICB_PRESENT (dxgiddi.h)

Структура DXGIDDICB_PRESENT описывает выделения, в которые копируется содержимое.

Синтаксис

typedef struct DXGIDDICB_PRESENT {
  [in] D3DKMT_HANDLE               hSrcAllocation;
  [in] D3DKMT_HANDLE               hDstAllocation;
  [in] void                        *pDXGIContext;
  [in] HANDLE                      hContext;
  [in] UINT                        BroadcastContextCount;
       HANDLE                      BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
       D3DKMT_HANDLE               *BroadcastSrcAllocation;
       D3DKMT_HANDLE               *BroadcastDstAllocation;
       UINT                        PrivateDriverDataSize;
       PVOID                       pPrivateDriverData;
       BOOLEAN                     bOptimizeForComposition;
       BOOL                        SyncIntervalOverrideValid;
       DXGI_DDI_FLIP_INTERVAL_TYPE SyncIntervalOverride;
} DXGIDDICB_PRESENT;

Члены

[in] hSrcAllocation

Тип данных D3DKMT_HANDLE, представляющий дескриптор режима ядра для выделения источника. Функция pfnAllocateCb среды выполнения Microsoft Direct3D возвращает этот дескриптор. Поэтому драйвер отображения пользовательского режима должен использовать этот дескриптор для копирования содержимого.

[in] hDstAllocation

Тип данных D3DKMT_HANDLE, представляющий дескриптор режима ядра для целевого выделения. Значение hDstAllocation может быть равно нулю, если назначение неизвестно; Режим ядра определяет назначение непосредственно перед отправкой аппаратного потока команд через DMA графическому процессору.

[in] pDXGIContext

Дескриптор контекста инфраструктуры графики Microsoft DirectX (DXGI). Этот дескриптор непрозрачн для драйвера. Драйвер должен назначить дескриптор из элемента pDXGIContextструктуры DXGI_DDI_ARG_PRESENT , полученной драйвером при вызове функции PresentDXGI этому элементу.

[in] hContext

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

[in] BroadcastContextCount

Количество дополнительных контекстов в массиве, указанное элементом BroadcastContext .

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

Массив дескрипторов для дополнительных контекстов для трансляции текущей текущей операции. Константой D3DDDI_MAX_BROADCAST_CONTEXT , которая определена как 64, определяется максимальное количество дополнительных контекстов, в которые драйвер отображения пользовательского режима может транслировать текущую текущую операцию.

Широковещательная трансляция поддерживается только для операций flip. Для трансляции операции пролистывания драйвер минипорта дисплея должен поддерживать перевернутые операции ввода-вывода, сопоставленные с памятью (MMIO). Чтобы указать поддержку переворачивания MMIO, драйвер минипорта дисплея устанавливает флаг битового поля FlipOnVSyncMmIo в элементе FlipCapsструктуры DXGK_DRIVERCAPS при вызове его функции DxgkDdiQueryAdapterInfo .

Исходный контекст, который указывает элемент hContext и который представляет драйвер отображения пользовательского режима, не является элементом в массиве BroadcastContext . Например, если массив BroadcastContext содержит один элемент, драйвер отображения пользовательского режима отправляет текущую операцию в контекст-владение (hContext) и передает в этот дополнительный контекст.

BroadcastSrcAllocation

Выделение содержимого, которое будет представлено.

BroadcastDstAllocation

Если значение не равно нулю, представляет целевые выделения текущего объекта .

PrivateDriverDataSize

Размер данных частного драйвера в байтах.

pPrivateDriverData

Данные частного драйвера для передачи в DxgiPresent.

bOptimizeForComposition

DWM участвует в композиции.

SyncIntervalOverrideValid

Допустимый интервал синхронизации приложения переопределения.

SyncIntervalOverride

Переопределение интервала синхронизации приложения.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Верхняя часть dxgiddi.h (включая D3d10umddi.h)

См. также раздел

DXGI_DDI_ARG_PRESENT

DXGK_DRIVERCAPS

DxgkDdiQueryAdapterInfo

PresentDXGI

pfnAllocateCb

pfnCreateContextCb

pfnPresentCbDXGI