DXGK_NATIVE_FENCE_CAPS structure (d3dkmddi.h)

A kernel-mode display miniport driver (KMD) returns the GPU's native fence capabilities in DXGK_NATIVE_FENCE_CAPS when its DxgkDdiQueryAdapterInfo function is called with the DXGKQAITYPE_NATIVE_FENCE_CAPS query adapter info type.

Syntax

typedef struct _DXGK_NATIVE_FENCE_CAPS {
  UINT                   MonitoredValueStride;
  BOOLEAN                MapToGpuSystemProcess;
  D3DGPU_VIRTUAL_ADDRESS MinimumAddress;
  D3DGPU_VIRTUAL_ADDRESS MaximumAddress;
  BYTE                   Reserved[28];
} DXGK_NATIVE_FENCE_CAPS;

Members

MonitoredValueStride

Stride in bytes for monitored values of native fences that are packed in the same page.

MapToGpuSystemProcess

Specifies whether native fence current and monitored values should be mapped to a GPU system process address space for use by the context management processor.

MinimumAddress

Minimum virtual address for GPU VA mappings (optional).

MaximumAddress

Maximum virtual address for GPU VA mappings (optional).

Reserved[28]

Reserved for system use.

Remarks

To save memory, the OS packs non-shareable native GPU fence objects together into the same memory page.

The CurrentValueStride and MonitoredValueStride values specify the stride in bytes between OS-managed storage for different fence objects sharing the same memory page.

When set, MapToGpuSystemProcess instructs the OS to reserve a system process GPU virtual address space for the context management processor use, and to create GPU VA mappings into that address space for native fence CurrentValue and MonitoredValue. These GPU VAs are subsequently passed to the KMD fence creation callback as DXGKARG_CREATENATIVEFENCE's CurrentValueSystemProcessGpuVa and MonitoredValueSystemProcessGpuVa.

The KMD can also specify an optional minimum and maximum address to restrict native fence GPU VA mappings within a chosen range for both process address space and system address space. This limit will apply to all native fences created on the system.

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

See also

DxgkDdiQueryAdapterInfo

DXGKQAITYPE_NATIVE_FENCE_CAPS