Condividi tramite


DXGI1_3_DDI_BASE_FUNCTIONS struttura (dxgiddi.h)

Contiene puntatori alle funzioni che un driver visualizzato windows (WDDM) 1.3 e versioni successive può implementare per eseguire attività di basso livello, ad esempio la presentazione di fotogrammi di rendering a un output, il controllo delle notifiche relative alle superfici interoperabili condivisi e Windows Graphics Device Interface (GDI) e la gestione di una transizione a schermo intero.

Sintassi

typedef struct DXGI1_3_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;
  HRESULT()(DXGI_DDI_ARG_BLT1 *) * pfnBlt1;
  HRESULT()(DXGI_DDI_ARG_OFFERRESOURCES *) * pfnOfferResources;
  HRESULT()(DXGI_DDI_ARG_RECLAIMRESOURCES *) * pfnReclaimResources;
  HRESULT()(DXGI_DDI_ARG_GETMULTIPLANEOVERLAYCAPS *) * pfnGetMultiplaneOverlayCaps;
  HRESULT()(DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS *) * pfnGetMultiplaneOverlayGroupCaps;
  HRESULT()(void *) * pfnReserved1;
  HRESULT()(DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY *) * pfnPresentMultiplaneOverlay;
  HRESULT()(void *) * pfnReserved2;
  HRESULT()(DXGI_DDI_ARG_PRESENT1 *) * pfnPresent1;
  HRESULT()(DXGI_DDI_ARG_CHECKPRESENTDURATIONSUPPORT *) * pfnCheckPresentDurationSupport;
} DXGI1_3_DDI_BASE_FUNCTIONS;

Members

pfnPresent

Puntatore alla funzione PresentDXGI del driver.

pfnGetGammaCaps

Puntatore alla funzione GetGammaCapsDXGI del driver.

pfnSetDisplayMode

Puntatore alla funzione SetDisplayModeDXGI del driver.

pfnSetResourcePriority

Puntatore alla funzione SetResourcePriorityDXGI del driver.

pfnQueryResourceResidency

Puntatore alla funzione QueryResourceResourceResidencyDXGI del driver.

pfnRotateResourceIdentities

Puntatore alla funzione RotateResourceIdentitiesDXGI del driver.

pfnBlt

Puntatore alla funzione BltDXGI del driver.

pfnResolveSharedResource

Puntatore alla funzione ResolveSharedResourceDXGI del driver.

pfnBlt1

Puntatore alla funzione Blt1DXGI del driver.

pfnOfferResources

Puntatore alla funzione pfnOfferResources del driver.

pfnReclaimResources

Puntatore alla funzione pfnReclaimResources del driver.

pfnGetMultiplaneOverlayCaps

Chiamato dal runtime DXGI per richiedere che il driver di visualizzazione in modalità utente ottenga le funzionalità di base del piano di sovrapposizione. Facoltativamente implementato da WDDM 1.3 e versioni successive dei driver di visualizzazione in modalità utente.

pfnGetMultiplaneOverlayGroupCaps

Chiamato dal runtime DXGI per richiedere che il driver di visualizzazione in modalità utente ottenga un gruppo di funzionalità del piano di sovrapposizione. Facoltativamente implementato da WDDM 1.3 e versioni successive dei driver di visualizzazione in modalità utente.

Nota Questa funzione viene chiamata per ognuno dei gruppi di funzionalità segnalati dal driver.
 

Sintassi

pfnGetMultiplaneOverlayGroupCaps GetMultiplaneOverlayGroupCaps;

HRESULT __stdcall* GetMultiplaneOverlayGroupCaps(
   DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS *pGroupCaps
)
{ ... }

Parametro

pGroupCaps Puntatore a una struttura DXGI_DDI_ARG_GETMULTIPLANEOVERLAYGROUPCAPS che specifica il gruppo di funzionalità del piano di sovrapposizione.

Valore restituito

Restituisce uno dei valori seguenti.

  • S_OK Il driver ha fornito correttamente le funzionalità del piano di sovrapposizione.
  • D3DDDIERR_DEVICEREMOVED Il driver ha rilevato che la scheda di visualizzazione è stata rimossa, quindi il driver non ha completato l'operazione. Se il driver non è a conoscenza della rimozione dell'adattatore, il driver non è necessario per restituire il codice di errore.

pfnReserved1

Riservato per l'utilizzo nel sistema.

pfnPresentMultiplaneOverlay

Chiamato dal runtime di Microsoft DirectX Graphics Infrastructure (DXGI) per notificare al driver di visualizzazione in modalità utente che un'applicazione ha completato il rendering e richiede che il driver visualizzi la superficie di origine copiando o capovolgendo o eseguendo un'operazione di riempimento del colore. Deve essere implementato da Windows Display Driver Model (WDDM) 1.3 o versioni successive che supportano sovrimpressione multipla.

Quando il driver di visualizzazione in modalità utente completa correttamente l'elaborazione di una chiamata a questa funzione, presenta la superficie di origine alla visualizzazione chiamando la funzione pfnPresentMultiPlaneOverlayCb (DXGI).

PFND3DDDI_PRESENTMULTIPLANEOVERLAY pfnPresentMultiPlaneOverlay;

HRESULT __stdcall* pfnPresentMultiPlaneOverlay(
   DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY *pPresentDXGI
)
{ ... }

Parametro

pPresentDXGI Puntatore a una struttura DXGI_DDI_ARG_PRESENTMULTIPLANEOVERLAY che descrive come visualizzare l'area di destinazione.

Valore restituito

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

pfnReserved2

Riservato per l'utilizzo nel sistema.

pfnPresent1

Notifica al driver di visualizzazione in modalità utente che un'applicazione ha completato il rendering e che tutte le proprietà della risorsa condivisa vengono rilasciate e richiede che il driver venga visualizzato nell'area di destinazione.

Sintassi

pfnPresent1 Present1DXGI;

HRESULT __stdcall* Present1DXGI(
   DXGI_DDI_ARG_PRESENT1 *pPresentData
)
{ ... }

Parametro

pPresentData [in] Puntatore a una struttura DXGI_DDI_ARG_PRESENT1 che descrive come visualizzare l'area di destinazione.

Commenti

Il membro hDevice della struttura DXGI_DDI_ARG_PRESENT1 a cui punta il parametro pPresentData è lo stesso handle che la funzione CreateDevice(D3D10) del driver passa al runtime nel membro hDrvDevice della struttura D3D10DDIARG_CREATEDEVICE . Pertanto, i writer di driver devono definire attentamente il tipo di questa handle. Inoltre, i driver possono fornire implementazioni diverse della funzione pfnPresent1(DXGI) in base alla quale l'implementazione DDI ha gestito la chiamata a CreateDevice(D3D10). Il runtime non combina mai i handle del driver tra implementazioni DDI.

Il membro pDXGIContext di DXGI_DDI_ARG_PRESENT1 è un meccanismo di comunicazione opaco. Il runtime passa questo contesto DXGI al driver. Il driver deve copiare il contesto DXGI invariato nel membro pDXGIContext della struttura DXGIDDICB_PRESENT quando il driver chiama la funzione pfnPresentCbDXGI .

Il driver deve inviare tutti i dati di rendering parzialmente compilati (buffer dei comandi) usando la funzione pfnRenderCb e il driver deve eseguire una singola chiamata a pfnPresentCbDXGI. Quando si chiama uno di questi callback, il driver deve seguire le regole di threading della funzione PresentDXGI .

Nota Quando la funzione pfnPresent1(DXGI) del driver copia il contenuto sRGB formattato da una superficie di origine a una superficie di destinazione non sRGB, il driver deve copiare il contenuto sRGB invariato, ovvero il driver non deve eseguire la conversione lineare.

Regole di threading

Queste regole si applicano se il driver supporta il threading gratuito o meno:

  • Il driver indica il supporto per il threading gratuito impostando il membro Caps della struttura D3D11DDI_THREADING_CAPS su D3D11DDICAPS_FREETHREADED. In questo caso:
    • Solo un singolo thread può essere usato su un handle di contesto HCONTEXT alla volta.
    • Il driver deve chiamare pfnPresentCbDXGI solo quando viene chiamata la funzione pfnPresent1(DXGI) del driver e dallo stesso thread che ha chiamato pfnPresent1(DXGI).
  • Quando il driver non indica il supporto per il threading gratuito, può chiamare solo le funzioni di callback quando un thread ha chiamato nel driver. Il driver deve comunque chiamare il callback pfnPresentCbDXGI nel contesto di pfnPresent1(DXGI).
Per altre informazioni sul threading, vedere Modifiche da Direct3D 10.

pfnCheckPresentDurationSupport

Puntatore alla funzione pfnCheckPresentDurationSupport(DXGI) del driver.

Commenti

Per altre informazioni su come usare questa struttura, vedere Supporto di DXGI DDI.

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1,WDDM 1.3 e versioni successive
Server minimo supportato Windows Server 2012 R2
Intestazione dxgiddi.h (include D3d10umddi.h)

Vedi anche

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE

DXGI1_2_DDI_BASE_FUNCTIONS

DXGI_DDI_BASE_ARGS

DXGI_DDI_BASE_FUNCTIONS