Condividi tramite


PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB funzione di callback (d3dumddi.h)

pfnUpdateGpuVirtualAddressCb è un'operazione speciale usata nel contesto delle risorse del riquadro. Consente al driver in modalità utente di specificare una serie di operazioni di mapping da applicare allo spazio indirizzi virtuale del processo in un singolo batch di aggiornamenti della tabella di pagine.

L'intervallo di indirizzi virtuali dell'unità di elaborazione grafica (GPU) in tutte le operazioni (ad eccezione dell'indirizzo di origine delle operazioni di copia) deve appartenere a un singolo intervallo di indirizzi virtuali ottenuto chiamando pfnReserveGpuVirtualAddressCb. Analogamente, gli intervalli di indirizzi virtuali di tutte le origini nelle operazioni di copia devono appartenere a un singolo intervallo di indirizzi virtuali, ottenuto chiamando pfnReserveGpuVirtualAddressCb.

Gli aggiornamenti della tabella di pagina vengono eseguiti in un contesto di paging, dedicati al contesto di rendering specificato e eseguiti nella GPU solo dopo il contesto di rendering associato segnalato FenceValue per l'oggetto di recinzione monitorato specificato. Al termine degli aggiornamenti della tabella di pagina, il contesto di paging segnala l'oggetto di recinzione monitorato a FenceValue+1, consentendo al contesto di rendering di eseguire un'interlocking stretta con gli aggiornamenti della tabella di pagina.

Sintassi

PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB Pfnd3dddiUpdategpuvirtualaddresscb;

HRESULT Pfnd3dddiUpdategpuvirtualaddresscb(
  HANDLE hDevice,
  const D3DDDICB_UPDATEGPUVIRTUALADDRESS *unnamedParam2
)
{...}

Parametri

hDevice

Handle per il dispositivo di visualizzazione.

unnamedParam2

pData [in]

Puntatore a una struttura D3DDDICB_UPDATEGPUVIRTUALADDRESS che descrive l'operazione da eseguire.

Valore restituito

Se questa funzione di callback ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Gli intervalli di indirizzi virtuali nelle operazioni di aggiornamento possono intersecarsi. Le operazioni verranno applicate nell'ordine in cui vengono inviate.

In una singola chiamata pfnUpdateVirtualAddressCb :

  • Tutti gli intervalli di indirizzi virtuali nelle operazioni di mapping e l'intervallo di destinazione nelle operazioni di copia devono appartenere allo stesso intervallo riservato (zero).
  • L'intervallo di indirizzi virtuali di origine nelle operazioni di copia può essere compreso in un intervallo riservato diverso (zero).
  • L'intervallo di indirizzi virtuali di origine in tutte le operazioni di copia deve appartenere allo stesso intervallo riservato (zero).
Il driver in modalità utente può inviare molte chiamate pfnUpdateGpuVirtualAddressCb e le operazioni verranno accodate dietro la recinzione di rendering. Quando il numero di operazioni di aggiornamento in coda supera 128, il thread chiamante verrà bloccato fino a quando le operazioni precedenti non vengono elaborate dalla gestione memoria video.

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Server minimo supportato Windows Server 2016
Piattaforma di destinazione Desktop
Intestazione d3dumddi.h (include D3dumddi.h)

Vedi anche

D3DDDICB_UPDATEGPUVIRTUALADDRESS

pfnReserveGpuVirtualAddressCb