struttura DXGI1_1_DDI_BASE_FUNCTIONS (dxgiddi.h)
La struttura DXGI1_1_DDI_BASE_FUNCTIONS contiene puntatori alle funzioni che il driver di visualizzazione in modalità utente può implementare per eseguire attività di basso livello, ad esempio la presentazione di fotogrammi sottoposti a rendering in un output, il controllo di gamma, la visualizzazione di notifiche relative alle superfici interoperabili 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;
Membri
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 primaria non supportata dal desktop GDI.
Il runtime Di Microsoft Direct3D chiama SetDisplayModeDXGI per passare a una modalità di visualizzazione o primaria non supportata dal desktop GDI. L'elenco seguente descrive esempi di tali primarie:
- Primarie create con formati di destinazione di rendering 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
- Primari persistenti usati da applicazioni Microsoft DirectX versione 10 a schermo intero
Il driver di visualizzazione in modalità utente può impostare il membro hPrimaryAllocation della struttura di 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 Flag membro 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 del driver.
pfnQueryResourceResidency
Puntatore alla funzione queryResourceResourceResidencyDXGI 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 in 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 remerge ogni risorsa in modo che il nuovo proprietario della risorsa abbia la risorsa unita. Il driver deve scaricare eventuali buffer di 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 al relativo 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 nella pDXGIDDIBaseFunctions membro della struttura DXGI_DDI_BASE_ARGS specificata dal membro DXGIBaseDDI della struttura D3D10DDIARG_CREATEDEVICEDXGI_DDI_BASE_ARGS. 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 delle versioni precedenti. I driver possono quindi determinare se danneggiano la memoria se tentano di riempire il pfnResolveSharedResource membro 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.
Osservazioni
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 funzione CreateDevice(D3D10). La struttura DXGI1_1_DDI_BASE_FUNCTIONS include il membro pfnResolveSharedResource che il driver può riempire con un puntatore al relativo 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 nella pDXGIDDIBaseFunctions membro della struttura DXGI_DDI_BASE_ARGS specificata dal membro DXGIBaseDDI della struttura D3D10DDIARG_CREATEDEVICEDXGI_DDI_BASE_ARGS. 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 delle versioni precedenti. I driver possono quindi determinare se la memoria verrà danneggiata se tentano di riempire il pfnResolveSharedResource membro di DXGI1_1_DDI_BASE_FUNCTIONS con un puntatore a una funzione ResolveSharedResourceDXGI.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | DXGI1_1_DDI_BASE_FUNCTIONS è supportato a partire dal sistema operativo Windows 7. |
intestazione | dxgiddi.h (include D3d10umddi.h) |