PFND3DDDI_CHECKDIRECTFLIPSUPPORT funzione di callback (d3dumddi.h)

Chiamato da Desktop Window Manager (DWM) per verificare che il driver in modalità utente supporti le operazioni Direct Flip, in cui la memoria video viene facilmente capovolta tra le allocazioni primarie gestite di un'applicazione e le allocazioni primarie gestite di DWM.

Sintassi

PFND3DDDI_CHECKDIRECTFLIPSUPPORT Pfnd3dddiCheckdirectflipsupport;

HRESULT Pfnd3dddiCheckdirectflipsupport(
  HANDLE hDevice,
  D3DDDIARG_CHECKDIRECTFLIPSUPPORT *unnamedParam2
)
{...}

Parametri

hDevice

Handle per il dispositivo di visualizzazione (contesto grafico).

unnamedParam2

pData [in, out]

Puntatore a una struttura D3DDDIARG_CHECKDIRECTFLIPSUPPORT che definisce i parametri per l'operazione.

Valore restituito

Restituisce S_OK o un risultato di errore appropriato se l'operazione non viene eseguita correttamente.

Commenti

Questa funzione viene chiamata almeno una volta prima che DWM tenti di presentare a una swapchain Direct Flip. Viene chiamato anche dopo ogni modifica della modalità o dopo che il DWM ricrea la propria swapchain per qualsiasi motivo.

Il driver in modalità utente deve garantire che le allocazioni primarie gestite dell'applicazione e DWM dispongano delle risorse compatibili seguenti:

  • Risorse stereo.
  • Più formati di anti-aliasing di esempio (MSAA).
  • Formati swizzle. Se lo swizzle può essere modificato solo a ogni intervallo VSync, assicurarsi che il membro CheckDirectFlipFlags della struttura D3DDDI_CHECK_DIRECT_FLIP_FLAGS non abbia un valore di D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE.
  • Entrambe le allocazioni primarie gestite devono essere create usando lo stesso valore VidPnSourceId nella struttura D3DDDI_ALLOCATIONINFO .
  • Le configurazioni dell'adattatore di visualizzazione sono collegate.
Il driver in modalità utente potrebbe dover chiamare il driver in modalità kernel per eseguire queste convalide. A tale scopo, chiamare la funzione di callback pfnEscapeCb e quindi chiamare la funzione DxgkCbGetHandleData per accedere ai dati di allocazione delle risorse del driver in modalità kernel.

Poiché DWM crea in genere il proprio dispositivo usando il livello di funzionalità Microsoft Direct3D più alto possibile, DWM non chiamerà questa funzione se l'hardware supporta un'interfaccia DDI (Device Driver Interface) Direct3D maggiore della versione 9.3. Tuttavia, qualsiasi driver Microsoft Direct3D 9 deve implementare questa funzione per abilitare l'esperienza utente Direct Flip.

Requisiti

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

Vedi anche

D3DDDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_DEVICEFUNCS