Exigences de prise en compte du format étendu
Cette section s’applique uniquement aux systèmes d’exploitation Windows 7 et versions ultérieures.
Les pilotes d’affichage en mode utilisateur qui prennent en charge le format étendu garantissent de retourner des valeurs précises à partir de leur fonction de point d’entrée CheckFormatSupport pour chaque format du tableau de la section Détails de la section Format étendu . Toutefois, les pilotes ne prennent pas nécessairement en charge tous les formats.
Les pilotes prenant en charge le format étendu garantissent implicitement que la conversion de mémoires tampons arrière entièrement typées est prise en charge.
Les pilotes prenant en charge le format étendu prennent implicitement en charge tous les formats BGRX et BGRA avec des fonctionnalités telles que définies dans le tableau de la section Détails de la mise en forme étendue .
Les pilotes prenant en charge le format étendu prennent implicitement en charge BGRA et BGRA_SRGB analyse, comme décrit dans la section Support Scan-Out BGRA .
Si un pilote prenant en charge le format étendu retourne des bits de prise en charge pour l’un des nouveaux formats, il doit retourner tous les bits requis dans le tableau de la section Détails de la section Format étendu . Le pilote ne peut pas retourner les bits qui ne sont pas requis dans la table.
Revendication de la prise en charge sous Direct3D version 10.1
Les DDIs Direct3D 10.1 et versions ultérieures sont mis à jour pour permettre au pilote d’affichage en mode utilisateur de revendiquer la prise en charge de deux nouvelles versions. Une version correspond aux pilotes qui souhaitent prendre en charge le niveau de fonctionnalité 10.0, et l’autre version correspond aux pilotes qui souhaitent prendre en charge le niveau de fonctionnalité 10.1. Voici les nouvelles définitions de version :
// D3D10.0 or D3D10.1 with extended format support (but not Windows 7 scheduling)
#define D3D10_0_x_DDI_BUILD_VERSION 10
#define D3D10_0_x_DDI_SUPPORTED ((((UINT64)D3D10_0_DDI_INTERFACE_VERSION) << 32) | (((UINT64)D3D10_0_x_DDI_BUILD_VERSION) << 16))
#define D3D10_1_x_DDI_BUILD_VERSION 10
#define D3D10_1_x_DDI_SUPPORTED ((((UINT64)D3D10_1_DDI_INTERFACE_VERSION) << 32) | (((UINT64)D3D10_1_x_DDI_BUILD_VERSION) << 16))
XR_BIAS et PresentDXGI
Les pilotes ne sont pas nécessaires pour prendre en charge la présence fenêtré des ressources XR_BIAS par le biais d’appels à leurs fonctions PresentDXGI . Ces cas sont limités au niveau de l’exécution. Comme pour tous les autres formats, les pilotes effectuent une présentation en plein écran de XR_BIAS par le biais d’une opération de retournement ou d’une opération de transfert de bloc de bits (bitblt) avec une ressource source et de destination identiques. Aucune extension ou conversion n’est nécessaire.
XR_BIAS et BltDXGI
Le runtime Direct3D appelle la fonction BltDXGI d’un pilote pour effectuer uniquement les opérations suivantes sur XR_BIAS ressources sources :
Copie vers une destination qui est également XR_BIAS
Copie de données sources non modifiées
Étirement dans lequel l’exemple de points est acceptable
Une rotation
Étant donné que XR_BIAS ne prend pas en charge plusieurs exemples d’anti-aliasing (MSAA), les pilotes ne sont pas nécessaires pour résoudre XR_BIAS ressources.