Vor einem Monat wurde in Vulkan 1.3.246 die neue VK_EXT_shader_object-Erweiterung eingeführt, an der Entwickler von Activision bis Valve gearbeitet haben. Zink-Chefentwickler Mike Blumenkrantz bei Valve war in den letzten Wochen damit beschäftigt, diese Shader-Objektunterstützung für die Verwendung durch diesen OpenGL-on-Vulkan-Treiber zu verkabeln.

VK_EXT_shader_object fügt einen neuen Shader-Objekttyp hinzu, um eine einzelne kompilierte Shader-Stufe darzustellen. Die Vulkan-Shader-Objekte sollen eine flexiblere, aber vergleichbar leistungsfähige Alternative zu Pipeline-Objekten sein.

Anfang dieser Woche landete Blumenkrantz Teil eins seines Codes zur Verwendung von Shader-Objekten in Zink. Bei diesem Zusammenführungscode bemerkte er:

“dies implementiert EXT_shader_object neu und verwendet es für separate Shader

…aber nur in Tomb Raider (2013), da sonst Feedbackschleifen unterbrochen werden

… und auch nvidia-proprietäre stürzen ab, wenn Sie dies versuchen sie haben jedoch viele Fehler

also implementiert dies wirklich etwas, das niemand verwenden kann, aber wenn sie es auf einer Referenzimplementierung von EXT_shader_object verwenden würden, die tatsächlich funktioniert (d.h. Lavapipe), dann würde es gut funktionieren.”

Über Nacht zusammengeführt war Teil zwei von Zinks EXT-shader_object Implementierung:

“Dies ermöglicht die Verwendung von EXT_shader_object für alle separaten Shader-Vorkompilierungen

Idealerweise sollte es möglich sein, Tomb Raider (2013) ohne Probleme (endlich) zu spielen, sobald die Treiber aufholen.”

Dann kommt heute auch endlich Mesa 23.2-devel, der letzte Teil drei:

“Dies ist der letzte Teil, der es ermöglicht, Shader-Objekte für alle Vorkompilierungen zu verwenden, wenn möglich/verfügbar

dies sollte der Funktionalität von GPL entsprechen, aber es sollte auch (theoretisch) deutlich weniger CPU-Overhead haben, also habe ich dies als neuen Standard aktiviert, wenn es verfügbar ist auf Desktops”

Dies wiederum sollte dazu beitragen, OpenGL-Titeln wie Tomb Raider, die auf Zink laufen, ein reibungsloses Spielerlebnis zu bieten.

Es steht auf meiner TODO-Liste, bald einige frische Zink-Benchmarks auszuführen, zumindest für Intel Arc Graphics und AMD Radeon-Hardware mit ihren Open-Source-Linux-Treibern.

Categories: IT Info