DXGIDDICB_PRESENT structure (dxgiddi.h)
The DXGIDDICB_PRESENT structure describes allocations that content is copied to and from.
Syntax
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;
Members
[in] hSrcAllocation
A D3DKMT_HANDLE data type that represents a kernel-mode handle to the source allocation. The Microsoft Direct3D runtime's pfnAllocateCb function returns this handle. Therefore, the user-mode display driver should use this handle to copy content from.
[in] hDstAllocation
A D3DKMT_HANDLE data type that represents a kernel-mode handle to the destination allocation. hDstAllocation can be zero if the destination is unknown; kernel mode will determine the destination just before sending the hardware command stream through DMA to the graphics processor.
[in] pDXGIContext
A handle to the Microsoft DirectX Graphics Infrastructure (DXGI) context. This handle is opaque to the driver. The driver should assign the handle from the pDXGIContext member of the DXGI_DDI_ARG_PRESENT structure that the driver received in a call to its PresentDXGI function to this member.
[in] hContext
A handle to the context that the driver submits the copy operation to. The user-mode display driver previously created this context by calling the pfnCreateContextCb function.
[in] BroadcastContextCount
The number of additional contexts in the array that the BroadcastContext member specifies.
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
An array of handles to the additional contexts to broadcast the current present operation to. The D3DDDI_MAX_BROADCAST_CONTEXT constant, which is defined as 64, defines the maximum number of additional contexts that the user-mode display driver can broadcast the current present operation to.
Broadcasting is supported only for flip operations. To broadcast a flip operation, the display miniport driver must support memory mapped I/O (MMIO)-based flips. To indicate support of MMIO flips, the display miniport driver sets the FlipOnVSyncMmIo bit-field flag in the FlipCaps member of the DXGK_DRIVERCAPS structure when its DxgkDdiQueryAdapterInfo function is called.
The original context that the hContext member specifies and that the user-mode display driver presents to is not an element in the BroadcastContext array. For example, if the BroadcastContext array contains one element, the user-mode display driver sends the present operation to the owning context (hContext) and broadcasts to that one additional context.
BroadcastSrcAllocation
Allocations which content will be presented.
BroadcastDstAllocation
If non-zero, represents the destination allocations of the present.
PrivateDriverDataSize
Private driver data size in bytes.
pPrivateDriverData
Private driver data to pass to DxgiPresent.
bOptimizeForComposition
DWM is involved in composition.
SyncIntervalOverrideValid
Override app sync interval is valid.
SyncIntervalOverride
Override app sync interval.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows Vista and later versions of the Windows operating systems. |
Header | dxgiddi.h (include D3d10umddi.h) |