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
To save memory, the OS packs non-shareable native GPU fence objects together into the same memory page. MonitoredValueStride specifies the stride in bytes between OS-managed storage for different fence objects sharing the same memory 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
The CurrentValueStride and MonitoredValueStride values specify the stride in bytes between OS-managed storage for different fence objects sharing the same memory page.
When the driver sets MapToGpuSystemProcess, it's instructing the OS to reserve a system process GPU virtual address space for the context management processor to 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 MinimumAddress and MaximumAddress 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 (WDDM 3.2) |
Header | d3dkmddi.h |