Partager via


PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT fonction de rappel (d3d10umddi.h)

Appelé par le Gestionnaire de fenêtres de bureau (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 du 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 de l’appareil 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 une valeur de D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE, le découpage transparent doit se produire immédiatement et ne doit pas être synchronisé avec une interruption VSync.

[out] pSupported

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

Valeur de retour

Aucun

Remarques

Cette fonction est appelée au moins une fois avant que le DWM tente de présenter à une chaîne d’échange Direct Flip. Il est également appelé après chaque modification de mode, ou après que le DWM recrée 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 le 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 de synchronisation virtuelle, vérifiez que le paramètre CheckDirectFlipFlags n’a pas de valeur de 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 l’adaptateur 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 8
serveur minimum pris en charge Windows Server 2012
plateforme cible Bureau
d’en-tête d3d10umddi.h (include D3d10umddi.h)

Voir aussi

D3D11_1_DDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_ALLOCATIONINFO

DxgkCbGetHandleData

pfnEscapeCb