3D-Grafik: Vulkan 1.2 bietet 23 neue Extensions
Die Core-API-Spezifikation der neuesten Version der 3D-Schnittstelle wurde um zahlreiche von Entwicklern gewünschte Erweiterungen ergänzt.
Die Khronos Group hat Version 1.2 ihrer 3D-Schnittstelle Vulkan vorgelegt. Von den bisher optional respektive testweise verfügbaren Erweiterungen sind nun insgesamt 23 Extensions in die Core-API-Spezifikation von Vulkan übernommen worden. Unter den Ergänzungen finden sich Timeline Semaphore, ein formales Speichermodell, Deskriptor-Indizierung sowie Unterstützung für in HLSL geschriebene Shader.
Erweiterungen fĂĽr die Core-API
Die neue Timeline-Semaphor-Synchronisations-API soll eine Reihe bisheriger Einschränkungen beseitigen. Dazu definiert VK_KHR_timeline_semaphore
eine neue Stammfunktion, die ein Superset der ursprĂĽnglichen VkSemaphore
- und VkFence
-Primitive enthält. Durch Timeline Semaphore steht Entwicklern beispielsweise mit nur einer Stammfunktion omnidirektionale Synchronisation zwischen einem Device und dem Host zur Verfügung. Darüber hinaus können Anwendungen in bestimmten Fällen eine Signalverarbeitung ignorieren und der bisher notwendige Reset vor Wiederverwenden einer Signalverarbeitung entfällt.
In der Core-API-Spezifikation von Vulkan 1.2 steht Entwicklern jetzt ein formales Speichermodell zur präzisen Definition der Semantik von Synchronisations- und Speicheroperationen in verschiedenen Threads zur Verfügung. Außerdem erlaubt die Deskriptor-Indizierung die Wiederverwendung von Deskriptor-Layouts durch mehrere Shader.
Alle bisher mit Vulkan kompatiblen GPUs arbeiten Khronos zufolge auch mit Version 1.2 zusammen. Die Unterstützung durch Open-Source-Compiler, -Debugger und weitere Tools soll bis Ende Januar 2020 weiter ausgebaut werden. Konkrete Pläne gibt es unter anderen für das Frame Capture und Debugging Werkzeug RenderDoc, das Vulkan SDK sowie die Konformitäts-Testsuite.
Mehr Informationen zum neuen Release bietet die offizielle Ankündigung der Khronos Group. Ein kompletter Überblick der vollständigen Spezifikation von Vulkan 1.2 findet sich in der Vulkan-Registry. (map)