D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2-Struktur (d3dkmthk.h)
D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2 wird mit D3DKMTOpenSyncObjectFromNtHandle2 verwendet, um ein überwachtes Zaunobjekt zu öffnen.
Syntax
typedef struct _D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2 {
void D3DKMT_PTR(
HANDLE unnamedParam1,
hNtHandle unnamedParam2
);
[in] D3DKMT_HANDLE hDevice;
[in] D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS Flags;
[out] D3DKMT_HANDLE hSyncObject;
union {
struct {
void D3DKMT_PTR(
VOID *unnamedParam1,
FenceValueCPUVirtualAddress unnamedParam2
);
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS FenceValueGPUVirtualAddress;
UINT EngineAffinity;
} MonitoredFence;
D3DKMT_ALIGN64 UINT64 Reserved[8];
};
} D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2;
Member
void D3DKMT_PTR( HANDLE unnamedParam1, hNtHandle unnamedParam2)
[in] hDevice
Gerätehandle, auf dem dieses Synchronisierungsobjekt verwendet werden soll.
[in] Flags
Gibt das gewünschte Synchronisierungsobjektverhalten für dieses Gerät an, z. B. Warte- und Signalsemantik und TDR-Behandlung.
[out] hSyncObject
Handle mit dem Synchronisierungsobjekt, das in diesem Prozess verwendet werden kann.
MonitoredFence
Enthält virtuelle Adressen von Synchronisierungsobjekten, die in diesem Prozess verwendet werden können.
void D3DKMT_PTR( VOID *unnamedParam1, FenceValueCPUVirtualAddress unnamedParam2)
[out] MonitoredFence.FenceValueGPUVirtualAddress
Eine Lese-/Schreibzuordnung des Zaunwerts für die GPU. Ein Treiber kann einen neuen Zaunwert signalisieren, indem er einen GPU-Schreibbefehl für diese Adresse in einen Befehlspuffer einfügt, und der DirectX-Grafikkern hebt die Blockierung für diesen Wert des Fenceobjekts auf. Diese virtuelle GPU-Adresse wird asynchron zugeordnet, und der Treiber sollte warten, bis das Gerät, das das überwachte Zaunsynchronisierungsobjekt geöffnet oder erstellt hat, PagingFenceValue auf seinem Pagingzaunobjekt erreicht, bevor er auf diese virtuelle GPU-Adresse zugreift. Abhängig vom Wert der No64BitAtomics-Obergrenze verweist diese Adresse entweder auf einen 32-Bit- oder einen 64-Bit-Zugrunde liegenden Wert.
[in] MonitoredFence.EngineAffinity
Ein Bitfeld, in dem jede Bitposition (beginnend bei null) einen physischen Adapterindex in einem verknüpften Grafikkartenlink definiert, in dem die virtuelle GPU-Adresse committet wird. Null bedeutet, dass die virtuelle GPU-Adresse an alle physischen Adapter committet wird.
Reserved[8]
Der konsolidierte Wert der MonitoredFence-Struktur .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10 |
Unterstützte Mindestversion (Server) | Windows Server 2016 |
Kopfzeile | d3dkmthk.h (include D3dkmthk.h) |