PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT funzione di callback (d3d10umddi.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

PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT Pfnd3d111DdiCheckdirectflipsupport;

void Pfnd3d111DdiCheckdirectflipsupport(
        D3D10DDI_HDEVICE unnamedParam1,
        D3D10DDI_HRESOURCE unnamedParam2,
        D3D10DDI_HRESOURCE unnamedParam3,
        UINT CheckDirectFlipFlags,
  [out] BOOL *pSupported
)
{...}

Parametri

unnamedParam1

hDevice [in]

Handle per il dispositivo di visualizzazione (contesto grafico).

unnamedParam2

hResource1

Risorsa nella swapchain dell'applicazione.

unnamedParam3

hResource2

Risorsa nella swapchain di DWM.

CheckDirectFlipFlags

Se questo parametro ha un valore di D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE, il capovolgimento facile deve verificarsi immediatamente e non deve essere sincronizzato con un interruzione VSync.

[out] pSupported

Impostare su TRUE se il driver può scorrere facilmente la memoria video tra le allocazioni primarie gestite di un'applicazione e le allocazioni primarie gestite di DWM. In caso contrario, impostare su FALSE.

Valore restituito

nessuno

Osservazioni

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

Il driver in modalità utente deve assicurarsi 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 il swizzle può essere modificato solo a ogni intervallo VSync, assicurarsi che il parametro CheckDirectFlipFlags 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 di D3DDDI_ALLOCATIONINFO .
  • Le configurazioni della scheda di visualizzazione sono collegate.
Il driver in modalità utente potrebbe dover chiamare il driver in modalità kernel per eseguire queste convalida. A tale scopo, chiamare la funzione di callback pfnEscapeCb e quindi chiamare la funzione DxgkCbGetHandleData per accedere ai dati di allocazione delle risorse in modalità kernel.

Requisiti

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

Vedi anche

D3D11_1_DDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_ALLOCATIONINFO

DxgkCbGetHandleData

pfnEscapeCb