Microsoft hat die Profiling- und Debugging-Suite PIX on Windows in der Version 2412.12 am 13. Dezember 2024 veröffentlicht und damit erstmals ein Shader-Debugging für Work Graphs eingeführt. Die Funktion ist als Preview gekennzeichnet und richtet sich an Entwickler, die das GPU-gesteuerte Work-Graph-Modell von Direct3D 12 produktiv einsetzen. Der Zugang erfolgt über die grünen Pfeile, die PIX nun neben jedem Entry-Point-Shader in der Pipeline-Ansicht eines DispatchGraph-Events anzeigt.
Ein Klick auf diese Pfeile startet die Debugging-Sitzung für den jeweiligen Entry-Point-Shader. Der zentrale Unterschied zum klassischen Shader-Debugger liegt in der neuen Invocations-View. Statt den zu untersuchenden Thread vorab auszuwählen, wechseln Entwickler während der Sitzung zwischen den einzelnen Thread-Invocations. Das adressiert eine Eigenheit von Work Graphs, bei denen Knoten dynamisch und in variabler Zahl auf der GPU eingeplant werden und eine feste Vorauswahl einzelner Threads daher unpraktisch ist.
VRS-Visualizer und Range Details v2
Neben dem Work-Graph-Debugging bringt 2412.12 einen Shading-Rate-Visualizer für Variable Rate Shading. Der neue Image-Visualizer zeigt die für jeden vom aktuellen Event gezeichneten Pixel verwendete Shading-Rate an. Erweitert wurden zudem die Custom-Visualizer für Buffer, Texturen und Meshes. Sie unterstützen jetzt unter anderem das Darstellen von Buffern als Texturen, das Binden von Ressourcen über den Namen, in der PIX-Oberfläche einstellbare User-Konstanten sowie das Lesen aus VRS-Image-Daten. Auch das Fehler-Logging bei inkompatiblen Shader-Bindings wurde verbessert.
Auf der Timing-Capture-Seite führt die Version eine Preview von Range Details v2 ein. Die neu konzipierte Darstellung setzt auf Pivot-Tabellen, Event-Listen und Filter, um Daten flexibel und mehrdimensional zu aggregieren. Der Vergleich mehrerer Captures wandert in ein eigenes Comparison-Layout, das auch eine Budget-Analyse unterstützt. Ein Timeline-Zoom-Stack erlaubt über Pfeile in der oberen linken Ecke der Timeline das Rückgängigmachen und Wiederherstellen vorheriger Navigationsschritte.
Werkzeugreife ein Jahr nach API-Finalisierung
Der zeitliche Abstand zur API selbst fällt deutlich aus. Work Graphs wurden mit dem Agility SDK Anfang 2024 als finale Direct3D-12-Funktion verfügbar gemacht, sodass das nun nachgereichte Shader-Debugging rund ein Jahr nach der API-Finalisierung erscheint und weiterhin den Preview-Status trägt. Die Tooling-Schicht folgt der Spezifikation also mit Verzögerung, und produktionsreifes Debugging für das neue Beschleunigungsmodell entsteht erst schrittweise. Eine ähnliche Staffelung zwischen API und begleitenden Werkzeugen zeigte sich bereits bei DirectSR.
Über die Hardware-Breite des Werkzeugs geben die Fehlerkorrekturen der Version Aufschluss. PIX 2412.12 verbessert ausdrücklich die Zuverlässigkeit des Shader-Debuggings auf Intel-Arc-GPUs, behebt Probleme beim DXR-Shader-Debugging und korrigiert die Kompatibilität von Node-Shadern mit der Deklaration [WaveSize(n)]. Dass Intel-Arc-Fixes neben den DXR- und Work-Graph-Themen stehen, spricht für ein Debugging, das nicht auf einen einzelnen GPU-Anbieter beschränkt bleibt, sondern über mehrere Hardware-Generationen hinweg stabilisiert wird.
