OpenCL- und OpenGL-Unterstützung für alle Windows- und DirectX 12-fähigen Geräte
1 Minute. lesen
Veröffentlicht am
Lesen Sie unsere Offenlegungsseite, um herauszufinden, wie Sie MSPoweruser dabei helfen können, das Redaktionsteam zu unterstützen Lesen Sie weiter
Nicht alle Windows-Geräte bieten eine hervorragende Unterstützung für hardwarebeschleunigtes OpenCL und OpenGL. Spieleentwickler finden es daher oft schwierig, OpenGL-Spiele unter Windows zu unterstützen. Um die Anwendungskompatibilität zu verbessern, entwickelt Collabora eine generische Lösung für dieses Problem. In Partnerschaft mit Microsoft erstellt Collabora OpenCL- und OpenGL-Mapping-Layer, um OpenCL 1.2- und OpenGL 3.3-Unterstützung auf alle Windows- und DirectX 12-fähigen Geräte zu bringen. Mit diesen neuen Mapping-Layern kann ein GPU-Anbieter einen D3D12-Treiber für seine Hardware implementieren und DirectX-, OpenCL- und OpenGL-APIs unterstützen.
So geht Collabora vor:
Die Arbeit ist größtenteils in drei Teile aufgeteilt: einen OpenCL-Compiler, eine OpenCL-Laufzeitumgebung und einen Gallium-Treiber, der mithilfe der D3D12-API Befehlspuffer auf der GPU erstellt und ausführt.
Darüber hinaus gibt es einen gemeinsamen NIR-zu-DXIL-Shader-Compiler, den beide Komponenten verwenden. Für diejenigen, die mit NIR nicht vertraut sind, es ist Mesas interne Darstellung für GPU-Shader. In ähnlicher Weise ist DXIL die interne Darstellung von Microsoft, die D3D12-Treiber verwenden und in hardwarespezifische Shader übersetzen.
Unter folgendem Link können Sie mehr über dieses Projekt erfahren.
Quelle: Zusammenarbeiten