PIX 2501.30: Shader Hash Bypass als neues D3D12-Feature im Profiler

Microsoft hat die GPU-Profiling- und Debugging-Software PIX on Windows in der Version PIX 2501.30 am 30. Januar 2025 veröffentlicht und damit Unterstützung für das neue D3D12-Feature Shader Hash Bypass eingeführt. Das Feature erlaubt Anwendungen, die Validierung des Shader-Hashes in der D3D12-Runtime zu umgehen, indem sie einen vordefinierten Sentinel-Wert in das Shader-Binary einbetten. PIX zieht damit ein Runtime-Feature nach, das zeitgleich mit dem DirectX 12 Agility SDK 1.615 (Retail) und 1.716.0-preview ausgeliefert wurde.

Wie der Shader Hash Bypass funktioniert

Der DirectX-Shader-Compiler DXC bettet bislang in jedes Shader-Binary einen Hash ein. Dieser Hash dient der Runtime als Bestätigung, dass ein Shader wohlgeformt ist, von einem offiziellen Compiler stammt, die Validierung durchlaufen hat und seither nicht durch Speicherfehler beschädigt wurde. Entwicklungsszenarien, in denen Shader nicht von DXC gehasht werden, ließen sich bisher nur durch ein Reverse-Engineering des Hash-Algorithmus abbilden. Mit dem Shader Hash Bypass stellt Microsoft einen offiziellen Sentinel-Wert bereit, der diese Absicht eindeutig kennzeichnet. Erkennt das Debug-Layer den Bypass-Hash, führt es den DXIL-Validator standardmäßig aus, anders als beim regulären, als vertrauenswürdig behandelten Hash. Die vollständige Spezifikation liegt im HLSL-Specs-Repository von Microsoft. Zu den technischen Hintergründen führt der DirectX-Developer-Blog aus. Wie tief Shader-Code im Detail in das Rendering eingreift, hat zuletzt ein Beispiel zur Vertex-Animation über den Shader gezeigt.

Fehlerbehebungen und übernommene Funktionen

PIX 2501.30 enthält neben der neuen Unterstützung sämtliche Funktionen der Vorversion 2412.12 sowie mehrere Korrekturen. Bei GPU Captures wurde ein Problem behoben, durch das Anwendungen nach einer Aufnahme beendet wurden. Hinzu kommen ein korrigierter C++-Export-Build, eine berichtigte Ausführung von DispatchRays in Custom Visualizers sowie eine vereinfachte Betreffzeile für Feedback-E-Mails. Das Agility SDK wurde auf Version 615 angehoben. Bei Timing Captures verschwanden Fehler, die das Tool ohne Administratorrechte beeinträchtigten. Wer sich tiefer in das Thema einarbeiten möchte, findet bei Epic ergänzendes Material, etwa die neuen Tutorials zu Profiling aus dem Epic-Learning-Programm.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein