структура 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) |