Exigences étendues en matière de prise en compte des formats

Cette section s’applique uniquement aux systèmes d’exploitation Windows 7 et ultérieurs.

Les pilotes d’affichage en mode utilisateur prenant en charge le format étendu garantissent le retour de valeurs précises à partir de leur fonction de point d’entrée CheckFormatSupport pour chaque format du tableau dans la section Détails du format étendu . Toutefois, les pilotes ne prennent pas nécessairement en charge chaque format.

Les pilotes sensibles aux formats étendus garantissent implicitement que la conversion des tampons de mémoire tampon arrière complètement typés est prise en charge.

Les pilotes conscients des formats étendus prennent implicitement en charge tous les formats BGRX et BGRA avec des fonctionnalités définies dans le tableau de la section Détails du Format Étendu.

Les pilotes prenant en charge les formats étendus supportent implicitement la sortie BGRA et BGRA_SRGB telle que décrite dans la section BGRA Scan-Out Support.

Si un pilote prenant en charge le format étendu retourne des bits de prise en charge pour l'un des nouveaux formats, il doit renvoyer tous les bits requis dans le tableau de la section Détails du format étendu. Le pilote ne peut pas retourner les bits qui ne sont pas requis dans la table.

Prise en charge des revendications sous Direct3D version 10.1

Les DDIS Direct3D 10.1 et versions ultérieures sont mises à 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 tenus de prendre en charge la présentation en mode 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 via une opération de retournement ou une opération de transfert de bloc de bits (bitblt) avec une ressource de 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 :

  • Une copie vers une destination qui est également XR_BIAS

  • Copie des données sources non modifiées

  • Un étirement où l'échantillonnage de points est acceptable

  • Une rotation

Étant donné que XR_BIAS ne prend pas en charge l'anticrénelage mult-échantillons (MSAA), les pilotes ne sont pas tenus de résoudre les ressources XR_BIAS.