Condividi tramite


Uso delle funzioni di callback State-Refresh

Il driver di visualizzazione in modalità utente può usare Direct3D Runtime versione 10 State-Refresh Funzioni di callback per ottenere un driver senza stato o per compilare i dati del preambolo del buffer dei comandi.

Il runtime Direct3D fornisce puntatori alle funzioni di callback di aggiornamento dello stato nella struttura D3D10DDI_CORELAYER_DEVICECALLBACKS a cui punta il membro pUMCallbacks della struttura D3D10DDIARG_CREATEDEVICE in una chiamata alla funzione CreateDevice(D3D10).

Il driver di visualizzazione in modalità utente potrebbe chiamare, ad esempio, la funzione di callback pfnStateIaIndexBufCb per l'aggiornamento dello stato, mentre il driver si trova all'interno di una chiamata alla funzione IaSetIndexBuffer del driver. Questa chiamata è abbastanza possibile, soprattutto perché il driver di visualizzazione in modalità utente potrebbe usare la funzione di callback pfnStateIaIndexBufCb per creare un preambolo e la chiamata a IaSetIndexBuffer potrebbe esaurire le dimensioni del buffer dei comandi e causare uno scaricamento. Per tale situazione, la chiamata a pfnStateIaIndexBufCb passa le stesse informazioni di associazione "new" della chiamata originale a IaSetIndexBuffer. Questa situazione comporta un preambolo più ottimale.