Condividi tramite


struttura D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2 (d3dkmthk.h)

D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2 viene usato con D3DKMTOpenSyncObjectFromNtHandle2 per aprire un oggetto di isolamento monitorato.

Sintassi

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;

Members

void D3DKMT_PTR( HANDLE unnamedParam1, hNtHandle unnamedParam2)

[in] hDevice

Handle del dispositivo in cui usare questo oggetto di sincronizzazione.

[in] Flags

Specifica il comportamento dell'oggetto di sincronizzazione desiderato per questo dispositivo, ad esempio la semantica di attesa e la semantica del segnale e la gestione TDR.

[out] hSyncObject

Handle per l'oggetto di sincronizzazione che può essere utilizzato in questo processo.

MonitoredFence

Contiene gli indirizzi virtuali dell'oggetto di sincronizzazione che possono essere usati in questo processo.

void D3DKMT_PTR( VOID *unnamedParam1, FenceValueCPUVirtualAddress unnamedParam2)

[out] MonitoredFence.FenceValueGPUVirtualAddress

Mapping in lettura/scrittura del valore di recinto per la GPU. Un driver può segnalare un nuovo valore di recinto inserendo un comando di scrittura GPU per questo indirizzo in un buffer dei comandi e il kernel grafico DirectX sbloccherà i camerieri per questo valore dell'oggetto di isolamento. Questo indirizzo virtuale GPU viene mappato in modo asincrono e il driver deve attendere che il dispositivo che ha aperto o creato l'oggetto di sincronizzazione del recinto monitorato raggiunga PagingFenceValue sul relativo oggetto limite di paging prima di accedere a questo indirizzo virtuale GPU. A seconda del valore del limite No64BitAtomics , questo indirizzo punta a un valore sottostante a 32 bit o a 64 bit.

[in] MonitoredFence.EngineAffinity

Un campo di bit, in cui ogni posizione di bit (a partire da zero) definisce un indice di adattatore fisico in un collegamento a una scheda di visualizzazione collegata in cui verrà eseguito il commit dell'indirizzo virtuale GPU. Zero significa che verrà eseguito il commit dell'indirizzo virtuale GPU in tutte le schede fisiche.

Reserved[8]

Valore consolidato della struttura MonitoredFence .

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Server minimo supportato Windows Server 2016
Intestazione d3dkmthk.h (include D3dkmthk.h)

Vedi anche

D3DKMTOpenSyncObjectFromNtHandle2