DXGKARGCB_MAPFRAMEBUFFERPOINTER structure (d3dkmddi.h)
The DXGKARGCB_MAPFRAMEBUFFERPOINTER structure contains arguments used by the DXGKCB_MAPFRAMEBUFFERPOINTER callback function to map a frame buffer pointer.
Syntax
typedef struct _DXGKARGCB_MAPFRAMEBUFFERPOINTER {
[in] UINT PhysicalAdapterIndex;
[in] SIZE_T Size;
[in/out] SIZE_T Offset;
[out] PVOID pBaseAddress;
} DXGKARGCB_MAPFRAMEBUFFERPOINTER;
Members
[in] PhysicalAdapterIndex
The index of the physical adapter.
[in] Size
The size, in bytes, of the mapped subregion of the section object. Size must be a multiple of PAGE_SIZE.
[in/out] Offset
On input, this is the offset, in bytes, to the mapped subregion of the section object. Offset must be a multiple of PAGE_SIZE. On output, this is the offset from the output base address to which the driver should copy the data.
[out] pBaseAddress
A CPU accessible base address pointer to the mapped subregion of the section object. The driver must add the output Offset value to the base address to get the destination address of any copy operations (pDestinationAddress = pBaseAddress + Offset).
Remarks
If pinning the entire frame buffer’s section object fails, the driver must try to ensure forward progress by performing the transfer in smaller pieces. This is accomplished by allocating a small MDL or chunk of memory during initialization time which can be used to transfer the contents from the hardware, and then calling DXGKCB_MAPFRAMEBUFFERPOINTER to obtain a pointer to a subregion of the section object.
The driver is responsible for copying the data from the pre-allocated buffer to the mapped subregion. The reverse is also true when restoring the frame buffer contents.
See IOMMU-based GPU isolation for more information.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10, version 1803 (WDDM 2.4) |
Header | d3dkmddi.h |