Expand Minimize

DXGIDDICB_PRESENT structure

The DXGIDDICB_PRESENT structure describes allocations that content is copied to and from.

Syntax


typedef struct DXGIDDICB_PRESENT {
  D3DKMT_HANDLE hSrcAllocation;
  D3DKMT_HANDLE hDstAllocation;
  void          *pDXGIContext;
  HANDLE        hContext;
  UINT          BroadcastContextCount;
  HANDLE        BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
} DXGIDDICB_PRESENT;

Members

hSrcAllocation

[in] 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.

hDstAllocation

[in] 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.

pDXGIContext

[in] 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.

hContext

[in] 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.

BroadcastContextCount

[in] The number of additional contexts in the array that the BroadcastContext member specifies.

BroadcastContext

[in] 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.

Requirements

Version

Available in Windows Vista and later versions of the Windows operating systems.

Header

Dxgiddi.h (include D3d10umddi.h)

See also

DXGI_DDI_ARG_PRESENT
DXGK_DRIVERCAPS
DxgkDdiQueryAdapterInfo
pfnAllocateCb
pfnCreateContextCb
pfnPresentCbDXGI
PresentDXGI

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft