Agility SDK 1.716.0-preview und 1.615-retail: Runtime Bypass, Tight Alignment und sieben neue D3D12-Video-Encode-Features

Das DirectX-Team von Microsoft hat am 30. Januar 2025 das Agility SDK in zwei Strängen veröffentlicht: Das Retail-Paket 1.615 macht den Shader-Hash-Bypass offiziell verfügbar, während die Vorschauversion 1.716.0-preview eine Reihe von Performance- und Tooling-Neuerungen sowie sieben Erweiterungen der D3D12-Video-Encode-Schnittstelle einführt. Das Release adressiert sowohl klassische Renderpfade als auch Streaming- und Aufnahme-Pipelines.

Im Retail-Zweig 1.615 unterstützt die D3D-Runtime ab sofort, dass Anwendungen die Validierung des Shader-Hashes umgehen. Dazu existiert ein definierter Sentinel-Wert, den eine Anwendung in ein Shader-Binary einbetten kann. Solche Shader reicht die Runtime ohne weitere Prüfung an die Treiber durch. Das vereinfacht Build- und Toolchains, in denen der reguläre Hash-Mechanismus von DXC nicht greift oder nachträglich erzeugte Binaries verarbeitet werden. Wer sich näher mit der Funktionsweise solcher Shader-Pipelines befasst hat, erkennt schnell, an welcher Stelle die Vereinfachung greift.

Runtime Bypass, Tight Alignment und RecreateAt im Preview-Zweig

Die Vorschauversion 1.716.0-preview bündelt drei Funktionen, die unterschiedliche Schichten der Pipeline betreffen. Runtime Bypass entfernt den Overhead der Runtime, indem Anwendungen für eine Reihe von APIs direkt in den Treiber aufrufen können. Tight Alignment of Resources lockert die Alignment-Restriktionen und verbessert damit die Speichereffizienz bei kleinen Ressourcen, die unter den bisherigen DirectX-12-Vorgaben ungünstig ausgerichtet wurden. RecreateAt GPUVA richtet sich vorrangig an Tooling-Entwickler wie das PIX-Team. Die neue RecreateAt-API vereinfacht das Aufzeichnen und Wiedergeben von GPU-Workloads, da die Übersetzung von GPU-Virtual-Address-Bereichen während der Wiedergabe entfällt. In dieser Vorschau sind Mesh Nodes deaktiviert und kehren in künftigen Releases zurück.

Sieben Erweiterungen der D3D12-Video-Encode-Schnittstelle

Den größten Teil der Vorschau bilden sieben Neuerungen rund um Video-Encode, von denen mehrere codec-übergreifend wirken. Subregion Notifications erlauben den asynchronen Zugriff auf komprimierte Bitstream-Puffer einzelner Slices oder Tiles, während die Kodierung weiterläuft, was die Latenz in Streaming-Szenarien senkt. Dirty Regions geben unveränderte Bildbereiche an, sodass der Encoder das erneute Abtasten überspringen kann, etwa bei Screen-Sharing. Motion-Vector-Hints übergeben externe Bewegungsinformationen aus der Anwendung und beschleunigen die Bewegungssuche des Encoders. Erweiterte Frame- und Block-Statistiken liefern Quantisierungsparameter, SATD-Werte und Bitzuteilungen der Ratensteuerung als GPU-Texturen.

Hinzu kommen HEVC-spezifische Erweiterungen. Die Profile 4:2:2 und 4:4:4 erweitern die Kodierung auf zusätzliche Chroma-Subsampling-Formate und Farbtiefen. Lesbare DPB-Reconstructed-Pictures heben die bisherige Einschränkung auf, die ein spezielles Flag für den Zugriff auf Referenzbilder verlangte, sodass reguläre Ressourcen genutzt werden können. Schließlich nimmt der Input als ID3D12Resource eine QPMap als GPU-Textur statt nur als CPU-Array entgegen und vermeidet so Synchronisationsstillstände zwischen CPU und GPU. Laut Herstellerangaben variiert die Hardwareunterstützung je nach Architektur, unter anderem für NVIDIA-GPUs von Pascal bis Ada, AMD-Grafik der RX-7000-Serie sowie 8X40-APUs im Developer Preview. Die Video-Encode-Funktionen sind später in den Retail-Zweig übernommen worden.

Die Angaben basieren auf der offiziellen Primärquelle.

Weitere News

Weitere News

Kommentieren Sie den Artikel

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