PFND3DDDI_FREEGPUVIRTUALADDRESSCB callback function

pfnFreeGpuVirtualAddressCb releases a range of graphics processing unit (GPU) virtual addresses that was previously reserved or mapped.

The callback is a synchronous operation. The freed virtual address should not be accessed immediately after the call. If there are outstanding pfnMapGpuVirtualAddressCb and pfnUpdateGpuVirtualAddressCb operations, which reference the virtual address, they will be ignored after the virtual address is freed. A new virtual address range can be allocated in place of the freed one immediately after return from the function.

The user mode driver must ensure that no allocation, which is used for current rendering operations, is mapped to the address range.

Note  When an allocation is freed through pfnDeallocateCb all outstanding GPU virtual addresses are automatically released.
 

Syntax

PFND3DDDI_FREEGPUVIRTUALADDRESSCB Pfnd3dddiFreegpuvirtualaddresscb;

HRESULT Pfnd3dddiFreegpuvirtualaddresscb(
  HANDLE hDevice,
  const D3DDDICB_FREEGPUVIRTUALADDRESS *Arg2
)
{...}

Parameters

hDevice

A handle to the display device.

Arg2

pData [in]

A pointer to a D3DDDICB_FREEGPUVIRTUALADDRESS 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.

Requirements

   
Minimum supported client Windows 10
Minimum supported server Windows Server 2016
Target Platform Desktop
Header d3dumddi.h (include D3dumddi.h)

See Also

D3DDDICB_FREEGPUVIRTUALADDRESS

pfnDeallocateCb

pfnMapGpuVirtualAddressCb

pfnUpdateGpuVirtualAddressCb