Validation des valeurs d’index
Un pilote d’affichage en mode utilisateur peut passer « Conçu pour Microsoft Windows » pour le test de logo matériel, qu’il effectue ou non la validation d’index. Toutefois, pour s’assurer que le pilote fonctionne avec des applications Microsoft DirectX susceptibles de passer des index non valides, un pilote d’affichage en mode utilisateur doit effectuer la validation d’index.
Vous devez prendre en compte les éléments suivants :
Les applications DirectX 8.0 et DirectX 9.0 peuvent passer une valeur de foulée de 0 lorsqu’elles s’affichent avec une mémoire tampon de vertex. Dans ce cas, seul le vertex 0 doit être référencé. La valeur stride est définie dans le membre Stride de la structure D3DDDIARG_SETSTREAMSOURCE dans un appel à la fonction SetStreamSource du pilote d’affichage en mode utilisateur.
Un appel à la fonction SetStreamSourceUM du pilote n’inclut pas la taille des données de vertex. Autrement dit, la taille de la mémoire tampon utilisateur qui fournit les données de vertex vers laquelle pointe le paramètre pUMBuffer de SetStreamSourceUM n’est pas spécifiée.
Le membre NumVertices de la structure D3DDDIARG_DRAWINDEXEDPRIMITIVE ou D3DDDIARG_DRAWINDEXEDPRIMITIVE2 n’est jamais défini sur 0 dans un appel à la fonction DrawIndexedPrimitive ou DrawIndexedPrimitive2 du pilote. Le pilote doit définir l’index maximal autorisé sur (NumVertices - 1).