DXGKDDI_OPENNATIVEFENCE callback function (d3dkmddi.h)
DxgkDdiOpenNativeFence is called by the OS to open a native GPU fence object.
Syntax
DXGKDDI_OPENNATIVEFENCE DxgkddiOpennativefence;
NTSTATUS DxgkddiOpennativefence(
IN_CONST_HANDLE hAdapter,
INOUT_PDXGKARG_OPENNATIVEFENCE pOpenNativeFence
)
{...}
Parameters
hAdapter
[in] A handle to a context block associated with a display adapter. The display miniport driver previously provided this handle to Dxgkrnl in the MiniportDeviceContext output parameter of the DXGKDDI_ADD_DEVICE function.
pOpenNativeFence
[in/out] Pointer to a DXGKARG_OPENNATIVEFENCE structure that describes the native GPU fence to open.
Return value
DxgkDdiOpenNativeFence returns STATUS_SUCCESS if KMD was able to successfully open a native GPU fence object. Otherwise, it returns an appropriate NTSTATUS error code.
Remarks
DxgkDdiOpenNativeFence is always preceded by a call to DxgkDdiCreateNativeFence.
If a second process opens the shared native fence object using D3DKMT_OPENNATIVEFENCEFROMNTHANDLE, Dxgkrnl does the following:
- Locates the hGlobalNativeFence.
- Creates a new CPU virtual address (VA) and GPU VA mapping for that existing object in the second process's address space.
Dxgkrnl passes this payload to the KMD by calling DxgkDdiOpenNativeFence along with a new hLocalNativeFence handle.
For more information about native GPU fences, see Native GPU fence objects.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 11, version 24H2 |
Header | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |