PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB callback function (d3dumddi.h)
pfnUpdateGpuVirtualAddressCb is a special operation used in the context of tile resources. It allows the user mode driver to specify a number of mapping operations to be applied to the process' virtual address space in a single batch of page table updates.
The range of graphics processing unit (GPU) virtual addresses in all operations (except for the source address of copy operations) must belong to a single virtual address range that was obtained by calling pfnReserveGpuVirtualAddressCb. Similarly, the virtual address ranges of all sources in copy operations must belong to a single virtual address range, which was obtained by calling pfnReserveGpuVirtualAddressCb.
The page table updates are executed on a paging context, dedicated to the rendering context specified, and executed on the GPU only after the associated rendering context signaled FenceValue for the specified monitored fence object. When the page table updates are finished, the paging context signals the monitored fence object to FenceValue+1, allowing the rendering context to do tight interlocking with the page table updates.
Syntax
PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB Pfnd3dddiUpdategpuvirtualaddresscb;
HRESULT Pfnd3dddiUpdategpuvirtualaddresscb(
HANDLE hDevice,
const D3DDDICB_UPDATEGPUVIRTUALADDRESS *unnamedParam2
)
{...}
Parameters
hDevice
A handle to the display device.
unnamedParam2
pData [in]
A pointer to a D3DDDICB_UPDATEGPUVIRTUALADDRESS structure that describes the operation to perform.
Return value
If this callback function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
The virtual address ranges in the update operations are allowed to intersect. The operations will be applied in the order they are submitted.
In a single pfnUpdateVirtualAddressCb call:
- All virtual address ranges in mapping operations and the destination range in copy operations must belong to the same reserved (zero) range.
- The source virtual address range in copy operations is allowed to be from a different reserved (zero) range.
- The source virtual address range in all copy operations must belong to the same reserved (zero) range.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Minimum supported server | Windows Server 2016 |
Target Platform | Desktop |
Header | d3dumddi.h (include D3dumddi.h) |