struttura DXGI1_1_DDI_BASE_FUNCTIONS (dxgiddi.h)
La struttura DXGI1_1_DDI_BASE_FUNCTIONS contiene puntatori a funzioni che il driver di visualizzazione in modalità utente può implementare per eseguire attività di basso livello, ad esempio la presentazione di fotogrammi di cui è stato eseguito il rendering in un output, il controllo di gamma, l'invio di notifiche relative alle superfici interoperatori condivise e GDI e la gestione di una transizione a schermo intero.
Sintassi
typedef struct DXGI1_1_DDI_BASE_FUNCTIONS {
HRESULT()(DXGI_DDI_ARG_PRESENT *) * pfnPresent;
HRESULT()(DXGI_DDI_ARG_GET_GAMMA_CONTROL_CAPS *) * pfnGetGammaCaps;
HRESULT()(DXGI_DDI_ARG_SETDISPLAYMODE *) * pfnSetDisplayMode;
HRESULT()(DXGI_DDI_ARG_SETRESOURCEPRIORITY *) * pfnSetResourcePriority;
HRESULT()(DXGI_DDI_ARG_QUERYRESOURCERESIDENCY *) * pfnQueryResourceResidency;
HRESULT()(DXGI_DDI_ARG_ROTATE_RESOURCE_IDENTITIES *) * pfnRotateResourceIdentities;
HRESULT()(DXGI_DDI_ARG_BLT *) * pfnBlt;
HRESULT()(DXGI_DDI_ARG_RESOLVESHAREDRESOURCE *) * pfnResolveSharedResource;
} DXGI1_1_DDI_BASE_FUNCTIONS;
Members
pfnPresent
Puntatore alla funzione PresentDXGI del driver.
pfnGetGammaCaps
Puntatore alla funzione GetGammaCapsDXGI del driver.
pfnSetDisplayMode
La funzione SetDisplayModeDXGI passa a una modalità di visualizzazione o a un server primario non supportato dal desktop GDI.
Il runtime Di Microsoft Direct3D chiama SetDisplayModeDXGI per passare a una modalità di visualizzazione o a un server primario non supportato dal desktop GDI. L'elenco seguente descrive alcuni esempi di tali primari:
- Primarie create con formati di destinazione a 10 bit per canale (10:10:10:2) e formati di destinazione di rendering (ad esempio, D3DFMT_A2R10G10B10)
- Primarie a campionamento multiplo in cui viene eseguito il campionamento multiplo durante l'analisi
- Primarie persistenti usate da applicazioni Microsoft DirectX versione 10 a schermo intero
Il driver di visualizzazione in modalità utente può impostare il membro hPrimaryAllocation della struttura D3DDDICB_SETDISPLAYMODE nella chiamata a pfnSetDisplayModeCb per analizzare qualsiasi allocazione. Tuttavia, l'allocazione deve essere contrassegnata come primaria, ovvero il driver di visualizzazione in modalità utente deve avere impostato il flag campo di bit primario nel membro Flags della struttura D3DDDI_ALLOCATIONINFO in una chiamata alla funzione pfnAllocateCb per creare l'allocazione.
pDisplayModeData
Puntatore a una struttura DXGI_DDI_ARG_SETDISPLAYMODE che specifica i parametri per l'impostazione della modalità di visualizzazione.
pfnSetResourcePriority
Puntatore alla funzione SetResourcePriorityDXGI del driver.
pfnQueryResourceResidency
Puntatore alla funzione QueryResourceResidencyDXGI del driver.
pfnRotateResourceIdentities
Puntatore alla funzione RotateResourceIdentitiesDXGI del driver.
pfnBlt
Puntatore alla funzione BltDXGI del driver.
pfnResolveSharedResource
La funzione ResolveSharedResourceDXGI informa un driver di visualizzazione in modalità utente che la proprietà di una superficie condivisa è cambiata o che viene usata una superficie per l'interoperabilità GDI.
Il runtime Direct3D chiama ResolveSharedResourceDXGI quando un'applicazione chiama una delle funzioni seguenti:
- IDXGIKeyedMutex::ReleaseSynch su una superficie condivisa sincronizzata
- IDXGISurface1::GetDC per una superficie interoperabile GDI
Il driver implementa ResolveSharedResourceDXGI per gestire in modo appropriato le risorse per più scenari GPU. Ogni risorsa può essere divisa in memoria per più GPU su cui eseguire il rendering. Il driver può implementare ResolveSharedResourceDXGI per riemergere ogni risorsa in modo che il nuovo proprietario della risorsa abbia la risorsa unita. Il driver deve scaricare tutti i buffer dei comandi parzialmente compilati che potrebbero modificare la risorsa.
Windows 7 fornisce la macro IS_DXGI1_1_BASE_FUNCTIONS (definita nel file di intestazione D3D10umddi.h) per consentire al driver di visualizzazione in modalità utente di determinare se riceve un puntatore a una struttura DXGI1_1_DDI_BASE_FUNCTIONS o DXGI_DDI_BASE_FUNCTIONS in una chiamata alla relativa funzione CreateDevice(D3D10). La struttura DXGI1_1_DDI_BASE_FUNCTIONS include il membro pfnResolveSharedResource che il driver può riempire con un puntatore alla relativa funzione ResolveSharedResourceDXGI . Se IS_DXGI1_1_BASE_FUNCTIONS restituisce TRUE, il driver prevede di ricevere un puntatore a una struttura DXGI1_1_DDI_BASE_FUNCTIONS nel membro pDXGIDDIBaseFunctions della struttura DXGI_DDI_BASE_ARGS specificata dal membro DXGIBaseDDI della struttura D3D10DDIARG_CREATEDEVICE . In caso contrario, se IS_DXGI1_1_BASE_FUNCTIONS restituisce FALSE, il driver prevede di ricevere un puntatore a una struttura DXGI_DDI_BASE_FUNCTIONS. Windows 7 fornisce la macro IS_DXGI1_1_BASE_FUNCTIONS per consentire il funzionamento dei driver di versione più recenti nei runtime di versione meno recenti. I driver possono quindi determinare se danneggiano la memoria se tentano di riempire il membro pfnResolveSharedResource di DXGI1_1_DDI_BASE_FUNCTIONS con un puntatore alla funzione ResolveSharedResourceDXGI .
pResourceData
Puntatore a una struttura DXGI_DDI_ARG_RESOLVESHAREDRESOURCE che specifica i parametri per il dispositivo di visualizzazione e la superficie associata al dispositivo di visualizzazione.
Commenti
Windows 7 fornisce la macro IS_DXGI1_1_BASE_FUNCTIONS (definita nel file di intestazione D3D10umddi.h) per consentire al driver di visualizzazione in modalità utente di determinare se riceve un puntatore a una struttura DXGI1_1_DDI_BASE_FUNCTIONS o DXGI_DDI_BASE_FUNCTIONS in una chiamata alla relativa funzione CreateDevice(D3D10). La struttura DXGI1_1_DDI_BASE_FUNCTIONS include il membro pfnResolveSharedResource che il driver può riempire con un puntatore alla relativa funzione ResolveSharedResourceDXGI . Se IS_DXGI1_1_BASE_FUNCTIONS restituisce TRUE, il driver prevede di ricevere un puntatore a una struttura DXGI1_1_DDI_BASE_FUNCTIONS nel membro pDXGIDDIBaseFunctions della struttura DXGI_DDI_BASE_ARGS specificata dal membro DXGIBaseDDI della struttura D3D10DDIARG_CREATEDEVICE . In caso contrario, se IS_DXGI1_1_BASE_FUNCTIONS restituisce FALSE, il driver prevede di ricevere un puntatore a una struttura DXGI_DDI_BASE_FUNCTIONS. Windows 7 fornisce la macro IS_DXGI1_1_BASE_FUNCTIONS per consentire il funzionamento dei driver di versione più recenti nei runtime di versione meno recenti. I driver possono quindi determinare se la memoria verrà danneggiata se tentano di riempire il membro pfnResolveSharedResource di DXGI1_1_DDI_BASE_FUNCTIONS con un puntatore a una funzione ResolveSharedResourceDXGI .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | DXGI1_1_DDI_BASE_FUNCTIONS è supportato a partire dal sistema operativo Windows 7. |
Intestazione | dxgiddi.h (include D3d10umddi.h) |