Überprüfen von Indexwerten
Ein Benutzermodus-Anzeigetreiber kann "Designed for Microsoft Windows" (Entworfen für Microsoft Windows) für Hardwarelogotests bestehen, unabhängig davon, ob er die Indexvalidierung durchführt. Um jedoch sicherzustellen, dass der Treiber mit Microsoft DirectX-Anwendungen funktioniert, die möglicherweise ungültige Indizes übergeben, sollte ein Benutzermodusanzeigetreiber die Indexvalidierung durchführen.
Sie sollten die folgenden Punkte berücksichtigen:
DirectX 8.0- und DirectX 9.0-Anwendungen können den Schrittwert 0 übergeben, wenn sie mit einem Vertexpuffer gerendert werden. In diesem Fall sollte nur auf Den Scheitelpunkt 0 verwiesen werden. Der Schrittwert wird im Stride-Element der D3DDDIARG_SETSTREAMSOURCE-Struktur in einem Aufruf der SetStreamSource-Funktion des Benutzermodusanzeigetreibers festgelegt.
Ein Aufruf der SetStreamSourceUM-Funktion des Treibers enthält nicht die Größe der Vertexdaten. Das heißt, die Größe des Benutzer-Arbeitsspeicher-Puffers, der die Vertexdaten bereitstellt, auf die der pUMBuffer-Parameter von SetStreamSourceUM verweist, wird nicht angegeben.
Der NumVertices-Member der D3DDDIARG_DRAWINDEXEDPRIMITIVE- oder D3DDDIARG_DRAWINDEXEDPRIMITIVE2-Struktur wird in einem Aufruf der DrawIndexedPrimitive - oder DrawIndexedPrimitive2-Funktion des Treibers nie auf 0 festgelegt. Der Treiber sollte den maximal zulässigen Index auf (NumVertices - 1) festlegen.