Partager via


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)

Voir aussi

D3DKMTOpenSyncObjectFromNtHandle2