News Raspberry Pi: Vulkan compliant + Vulkan: Ray Tracing *final*

User-News

Von E555user

Hinweis: Diese "User-News" wurde nicht von der Planet 3DNow! Redaktion veröffentlicht, sondern vom oben genannten Leser, der persönlich für den hier veröffentlichten Inhalt haftet.
rpi4-sascha-willems-radialblur-500x281.jpg
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.


2020-Vulkan-Ray-Tracing-development-timeline-1.jpg
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.

2020-Comparing-Vulkan-Ray-Tracing-and-DXR.-It-is-straightforward-to-port-code-between-the-two-APIs-including-re-use-of-ray-tracing-shaders-written-in-HLSL-5_.jpg
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.
 
Zuletzt bearbeitet:
Update
Mit der Freigabe des Vulkan SDK für Raytracing hat man bei der Khronos Group nochmals am 15.12.2020 eine Übersicht geschrieben.
Vulkan SDK, Tools and Drivers are Ray Tracing Ready

[automerge]1608131010[/automerge]
Update
Auf Steam ist zu Quake2 eine Vulkan RT Anpassung erschienen. Durch das Update wird der Nvidia RT-Renderpfad durch die einen generischen Renderpfad nach dem neuen Standard ergänzt. Somit sind alle Systeme mit entsprechenden Vulkan-Treibern in der Lage diesen frei verfügbaren Titel mit Raytracing zu nutzen. Besondere Optimierungen sind zu diesem Zeitpunkt allerdings nicht zu erwarten.

Auch wenn das Spiel als Bethesda Produkt unter Steam läuft sind die Entwicklungen federführend von Alexey Panteleev von Nvidia auf Github gepflegt.
Es werden beide Varianten weiterhin gepflegt, spezifische RDNA2 Varianten sind nicht enthalten
compile_shader(SOURCE_FILE ${s} OUTPUT_FILE_LIST shader_bytecode OUTPUT_FILE_NAME "${shader_name}.nv" DEFINES "-DNV_RAY_TRACING")
compile_shader(SOURCE_FILE ${s} OUTPUT_FILE_LIST shader_bytecode OUTPUT_FILE_NAME "${shader_name}.khr" DEFINES "-DKHR_RAY_TRACING")
 
Zuletzt bearbeitet:
Zurück
Oben Unten