Auf dem
Raspberry Pi Blog gibt es einen kurzen Bericht zur Vulkan Unterstützung für den
Raspberry Pi 4.
Am 24. November hat der Mesa basierte OpenSource Treiber für Vulkan den
Vulkan 1.0 conformance Test bestanden. Somit lassen sich Applikationen zuverlässig in Vulkan für den Kleinstcomputer entwickeln. Die Treiber selbst sollen die kommenden Releases upstream in die Distros für die Himbeeren übernommen werden.
Das Projekt war circa ein Jahr vorangetrieben worden und soll weitere Entwicklung für Performance und Feature Support sehen. Bereits heute darf man von einem Performance-Gewinn gegenüber dem OpenGL Treiber von Faktor 2-3 ausgehen wie diverse
Tests z.B. mit Quake III zeigten. Auf modernste Features wird man noch warten müssen.
Die Khronos-Grop selbst berichtet über die
Finalisierung der Vulkan Spezifikationen für Ray Tracing. Das von Nvidia eingebrachte Projekt welches sich stark an DXR von DirectX anlehnt wurde weitestgehend beibehalten. Wesentlich sind die Teilung der von Nvidia eingebrachten Extension in drei separate Erweiterungen.
Es gibt eine allgemeine Extension für Beschleunigungs-Strukturen, was gemeinhin als BVH umgesetzt wird. Daneben gibt es die Erweiterung für eine Ray-Tracing-Pipeline und eine Ray-Query Abfrage. Die Pipeline gibt ein Berechnungsmodell für die Strahlenverfolgung vor, bei dem bei Hits in der Strahlenverfolgung weitere Strahlen berechnet werden können oder Shader für die Pixelberechnung gestartet werden. Ray-Query starten keine Shader selbst, sondern geben stets Ergebnisse an den aufrufenden Shader zurück, wenn die Render-Pipeline beispielsweise nur punktuell Raytracing-Effekte hinzufügen soll. Letzteres ist gerade für mobile GPUs als sparsame Methode interessant.
Durch die notwendigen Änderungen sind die ursprünglichen Beschleunigerstrukturen von Nvidia nicht mehr kompatibel mit denen nach dem Khronos Modell. Entsprechend müssen bisherige Implementierungen Vulkan-RT für Nvidia für die Kompatibilität überarbeitet werden.
Im Vergleich zu DXR von Microsoft sieht man sich weiter vorne in Bezug auf das Feature-Set. Gerade die Host-Operations sind für ManyCore CPUs interessant, dabei wird z.B. die BVH auf der CPU berechnet.
Für einen Vergleich bei der Performance wird man auf erste Implementierungen warten müssen.