Login
Newsletter
Werbung

Fr, 26. Juli 2019, 11:16

Software::Grafik

Zink macht Fortschritte

Zink, die OpenGL-Implementation über der Vulkan-Schnittstelle, hat im letzten Dreivierteljahr einige Fortschritte gemacht. Einige Anwendungen können Zink nutzen, es bleibt aber noch viel zu tun.

Open-Source-Grafikarchitektur mit Zink

Erik Faye-Lund

Open-Source-Grafikarchitektur mit Zink

Erik Faye-Lund hatte vor fast einem Dreivierteljahr das Projekt Zink vorgestellt, das es jeder Anwendung, die OpenGL über Mesa nutzt, ermöglicht, mit Vulkan-Treibern zu laufen. Es macht die Hardware-Beschleunigung von Vulkan auch den Anwendungen zugänglich, die weiter die OpenGL-Schnittstelle aufrufen.

Vulkan ist ein plattform- und herstellerunabhängiger Standard für 3D-Grafik, der eine offene Schnittstelle definiert. Er ist der Nachfolger von OpenGL und soll den Zugriff auf die Grafik- und Hochleistungsberechnungs-Hardware moderner Rechner noch effizienter und besser steuerbar machen, den Treiber-Overhead minimieren und die Parallelität maximieren. Es ermöglicht, wo nötig, die direkte Kontrolle über die GPU. Die Treiber sollen einfacher sein als bei OpenGL und die Parallelinstallation mehrerer Treiber ist ebenfalls vorgesehen.

Blender unter Verwendung der Zink-Bibliothek

Erik Faye-Lund

Blender unter Verwendung der Zink-Bibliothek

Einige der wichtigsten Grafiktreiber bieten jetzt sowohl die OpenGL- als auch die Vulkan-Schnittstelle an. Es gibt aber bereits neuere Treiber, die nur Vulkan anbieten, und die Möglichkeit besteht, dass OpenGL irgendwann auch aus den Treibern verschwinden wird, denn OpenGL wird sich nicht mehr wesentlich weiterentwickeln. Das wäre aber ein Problem für viele Anwendungen, die OpenGL nutzen. Diese auf Vulkan umzustellen, bedeutet jeweils einen erheblichen zeitlichen Aufwand.

Das Projekt Zink von Erik Faye-Lund verschafft diesen Anwendungen erst einmal eine längere Frist. Zink ist eine OpenGL-Implementation, die intern Vulkan nutzt. Die Implementation von Zink erfolgte als Gallium-Treiber in der OpenGL-Bibliothek Mesa. Zink ermöglicht den Anwendungen daher, weiterhin OpenGL zu nutzen, auch wenn der eigentliche Grafiktreiber nur Vulkan anbietet. Für Anwendungen, die Mesa nutzen, ändert sich daher gar nichts.

Bei der ersten Ankündigung war Zink benutzbar, unterlag aber noch vielen Einschränkungen. Jetzt hat Faye-Lund eine Übersicht über die Fortschritte im letzten Dreivierteljahr gegeben. Zink wurde praktisch komplett neu geschrieben, um es besser zu strukturieren und anfängliche Design-Fehler zu beseitigen, und viele Fehler wurden korrigiert. Dabei ging ein Teil der Funktionalität wieder verloren, auf der anderen Seite wurden dank der Beteiligung mehrerer Entwickler zahlreiche Verbesserungen vorgenommen. So gibt es nun eine korrekte Implementierung von if- und for-Anweisungen. Alpha-Tests wurden implementiert, ebenso anwendungsdefinierte Clip-Ebenen, zweiseitige Beleuchtung, Shadow-Sampler und Unterstützung für gl_FrontFacing, gl_FragDepth und 8 Bit primitive Indexe. Der Compiler ist nun in C geschrieben. Der Beitrag nennt noch weitere sehr technische Einzelheiten. Zink ist anscheinend noch nicht Bestandteil der Mesa-Bibliothek und in einem separaten Repositorium verfügbar.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung