PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT fonction de rappel (d3d10umddi.h)

Appelé par Desktop Window Manager (DWM) pour vérifier que le pilote en mode utilisateur prend en charge les opérations Direct Flip, dans lesquelles la mémoire vidéo est basculée en toute transparence entre les allocations principales managées d’une application et les allocations primaires managées de DWM.

Syntaxe

PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT Pfnd3d111DdiCheckdirectflipsupport;

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

Paramètres

unnamedParam1

hDevice [in]

Handle pour le périphérique d’affichage (contexte graphique).

unnamedParam2

hResource1

Ressource dans la chaîne d’échange de l’application.

unnamedParam3

hResource2

Ressource dans la chaîne d’échange du DWM.

CheckDirectFlipFlags

Si ce paramètre a la valeur D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE, le basculement transparent doit se produire immédiatement et n’a pas besoin d’être synchronisé avec une interruption VSync.

[out] pSupported

Définissez sur TRUE si le pilote peut basculer en toute transparence la mémoire vidéo entre les allocations principales managées d’une application et les allocations primaires managées de DWM. Sinon, définissez sur FALSE.

Valeur de retour

None

Remarques

Cette fonction est appelée au moins une fois avant que le DWM tente de présenter à un permutchain direct. Il est également appelé après chaque changement de mode, ou après que le DWM a recréé sa propre chaîne d’échange pour une raison quelconque.

Le pilote en mode utilisateur doit s’assurer que les allocations principales managées de l’application et du DWM disposent des ressources compatibles suivantes :

  • Ressources stéréo.
  • Plusieurs exemples de formats MSAA (Anti-aliasing).
  • Formats Swizzle. Si le swizzle ne peut être modifié qu’à chaque intervalle VSync, vérifiez que le paramètre CheckDirectFlipFlags n’a pas la valeur D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE.
  • Les deux allocations principales managées doivent être créées à l’aide de la même valeur VidPnSourceId dans la structure D3DDDI_ALLOCATIONINFO .
  • Les configurations de carte d’affichage sont liées.
Le pilote en mode utilisateur peut avoir besoin d’appeler le pilote en mode noyau pour effectuer ces validations. Pour ce faire, appelez la fonction de rappel pfnEscapeCb , puis appelez la fonction DxgkCbGetHandleData pour accéder aux données d’allocation de ressources du pilote en mode noyau.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3d10umddi.h (incluez D3d10umddi.h)

Voir aussi

D3D11_1_DDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_ALLOCATIONINFO

DxgkCbGetHandleData

pfnEscapeCb