Das Wine-Projekt hat Vkd3d 1.5 mit der Implementierung von Direct3D 12 veröffentlicht.

Das Wine-Projekt hat die Version vkd3d 1.5 veröffentlicht, die eine Implementierung von Direct3D 12 bietet, die durch die Übersetzung von Aufrufen in die Grafik-API Vulkan funktioniert. Das Paket umfasst die Bibliotheken libvkd3d mit der Implementierung von Direct3D 12, libvkd3d-shader mit dem Übersetzer für die Shader-Modelle 4 und 5 sowie libvkd3d-utils mit Funktionen zur Vereinfachung der Portierung von Direct3D 12-Anwendungen, einschließlich einer Reihe von Beispielen, darunter der Port von glxgears auf Direct3D 12. Der Code des Projekts wird unter der LGPLv2.1-Lizenz veröffentlicht.

Die Bibliothek libvkd3d unterstützt die meisten Funktionen von Direct3D 12, einschließlich Grafik- und Berechnungsfunktionen, Warteschlangen und Befehlslisten, Deskriptoren und Deskriptor-Pools, Root-Signaturen, ungeordnenten Zugriff, Sampler, Befehls-Signaturen, Root-Konstanten, indirektes Rendering sowie die Methoden Clear*() und Copy*().

Im libvkd3d-shader wurde die Übersetzung von Bytecode der Shader-Modelle 4 und 5 in die intermediate repräsentation SPIR-V implementiert. Unterstützt werden Vertex-, Pixel-, Tessellations-, Compute- und einfache Geometrie-Shader, sowie die Serialisierung und Deserialisierung der Root-Signatur. Von den Shader-Anweisungen werden arithmetische, atomare und bitweise Operationen, Vergleichsoperatoren und Steueranweisungen, sowie die Befehle sample, gather und load umgesetzt, ebenso wie Operationen für unordentlichen Zugriff (UAV, Unordered Access View).

In der neuen Version:

  • Es wurden zahlreiche Verbesserungen im HLSL-Shadercompiler (High-Level Shader Language) realisiert, der seit DirectX 9.0 verfügbar ist. Dazu gehört eine verbesserte Unterstützung für objekttypen HLSL in Strukturen und Arrays, die Unterstützung für die eingebauten Funktionen dot(), ldexp() und lerp(), sowie die Implementierung von logischen Operatoren 'and', 'or' und 'not' für die Shader-Modelle 4 und 5, und die Möglichkeit zur Typumwandlung von booleschen Typen.
  • Die Option VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV zur Unterstützung von Unordered Access View (UAV) für mehrkomponentige Formate SPIR-V (DXGI_FORMAT) wurde implementiert.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster