structure D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2 (d3dkmthk.h)
D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2 est utilisé avec D3DKMTOpenSyncObjectFromNtHandle2 pour ouvrir un objet de clôture surveillé.
Syntaxe
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;
Membres
void D3DKMT_PTR( HANDLE unnamedParam1, hNtHandle unnamedParam2)
[in] hDevice
Handle d’appareil sur lequel utiliser cet objet de synchronisation.
[in] Flags
Spécifie le comportement souhaité de l’objet de synchronisation pour cet appareil, comme la sémantique de l’attente et du signal et la gestion du TDR.
[out] hSyncObject
Gérez l’objet de synchronisation qui peut être utilisé dans ce processus.
MonitoredFence
Contient des adresses virtuelles d’objet de synchronisation qui peuvent être utilisées dans ce processus.
void D3DKMT_PTR( VOID *unnamedParam1, FenceValueCPUVirtualAddress unnamedParam2)
[out] MonitoredFence.FenceValueGPUVirtualAddress
Mappage en lecture-écriture de la valeur de clôture pour le GPU. Un pilote peut signaler une nouvelle valeur de clôture en insérant une commande d’écriture GPU pour cette adresse dans une mémoire tampon de commande, et le noyau graphique DirectX débloquera les serveurs pour cette valeur d’objet de clôture. Cette adresse virtuelle GPU est mappée de manière asynchrone, et le pilote doit attendre que l’appareil qui a ouvert ou créé l’objet de synchronisation de clôture supervisée atteigne PagingFenceValue sur son objet de clôture de pagination avant d’accéder à cette adresse virtuelle GPU. Selon la valeur de la limite No64BitAtomics , cette adresse pointe vers une valeur sous-jacente de 32 bits ou 64 bits.
[in] MonitoredFence.EngineAffinity
Champ bit, où chaque position de bit (à partir de zéro) définit un index d’adaptateur physique dans un lien d’adaptateur graphique lié où l’adresse virtuelle GPU sera validée. Zéro signifie que l’adresse virtuelle GPU sera validée sur toutes les cartes physiques.
Reserved[8]
Valeur consolidée de la structure MonitorFence .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 |
Serveur minimal pris en charge | Windows Server 2016 |
En-tête | d3dkmthk.h (inclure D3dkmthk.h) |