D3DDDICB_PRESENT structure (d3dumddi.h)
The D3DDDICB_PRESENT structure describes allocations that content is copied to and from.
Syntax
typedef struct _D3DDDICB_PRESENT {
[in] D3DKMT_HANDLE hSrcAllocation;
[in] D3DKMT_HANDLE hDstAllocation;
[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;
D3DDDI_FLIPINTERVAL_TYPE SyncIntervalOverride;
} D3DDDICB_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 DMA of the hardware command stream to the graphics processor.
[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 DdiPresent.
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 | d3dumddi.h (include D3dumddi.h) |