vkd3d 1.7 wurde bereits veröffentlicht und das sind seine Neuigkeiten

vkd3d

vkd3d ist Wines Direct3D 12-zu-Vulkan-Übersetzungsschicht

Das Projekt Wein enthüllt Vor ein paar Tagen der Start der neuen Version des vkd3d 1.7-Paket mit einer Direct3D 12-Implementierung, die durch die Übersetzung von Aufrufen an die Vulkan-Grafik-API funktioniert.

El Paquete enthält libvkd3d-Bibliotheken mit Direct3D 12-Implementierungen, libvkd3d-shader mit Shader Model Translate 4 und 5 und libvkd3d-utils mit Funktionen zur Vereinfachung der Migration von Direct3D 12-Anwendungen sowie eine Reihe von Demos, einschließlich einer Portierung von glxgears auf Direct3D 12.

Die libvkd3d-Bibliothek unterstützt die meisten Direct3D 12-Funktionen, einschließlich Grafik und Berechnung, Befehlslisten und -warteschlangen, Deskriptoren und Heap-Deskriptoren, Root-Signaturen, ungeordneter Zugriff, Beispiele, Befehlssignaturen, Root-Konstanten, indirekte Darstellung, Clear*()- und Copy*()-Methoden.

Daneben libvkd3d-shader implementiert die Übersetzung von Bytecode 4 und 5 der Shading-Modelle in einer Zwischendarstellung von SPIR-V. Unterstützt Vertex-, Pixel-, Tessellations-, Berechnungs- und einfache Geometrie-Shader, Root-Signatur-Serialisierung und -Deserialisierung.

Arithmetische, atomare und Bitoperationen, Vergleichs- und Datenflusssteuerungsoperatoren, Abtast-, Sammel- und Ladebefehle, Zugriffsoperationen außerhalb der Reihenfolge (UAV, Zugriffsansicht außerhalb der Reihenfolge) werden von Shadowing-Befehlen implementiert.

Die wichtigsten neuen Funktionen von vkd3d 1.7

In dieser neuen Version, die von vkd3d 1.7 vorgestellt wird, sticht é hervorl Fortsetzung der Arbeit zur Verbesserung des HLSL-Shader-Compilers (High-Level Shader Language) sowie die Möglichkeit, benutzerdefinierte Funktionen aufzurufen und verwenden Sie Arrays als Parameter von benutzerdefinierten Funktionen.

Eine weitere auffällige Änderung in der neuen Version ist die deutlich verbesserte Unterstützung für Profile Shader-Modell Direct3D 1/2/3, Außerdem wurde anfängliche Unterstützung für Gleitkommatypen mit niedriger Genauigkeit wie min16float hinzugefügt.

Es wird auch hervorgehoben, dass Unterstützung für die Parameter SV_DispatchThreadID, SV_GroupID und SV_GroupThreadID hinzugefügt und dass eine öffentliche API hinzugefügt wurde, um DXBC-Binärdaten zu parsen (vkd3d_shader_parse_dxbc) und zu serialisieren (vkd3d_shader_serialize_dxbc).

Der andere Änderungen, die auffallen der neuen Version:

  • Unterstützung für den optionalen „offset“-Parameter des Load()-Texturobjekts
    Methode.
  • Unterstützung für die intrinsische Funktion all().
  • Unterstützung für die intrinsische Funktion distance().
  • Unterstützung für die intrinsischen Funktionen exp() und exp2().
  • Unterstützung für die intrinsische Funktion frac().
  • Unterstützung für die intrinsische Funktion lit().
  • Unterstützung für die intrinsische Funktion reflect().
  • Unterstützung für die intrinsischen Funktionen sin() und cos().
  • Unterstützung für die intrinsische Funktion smoothstep().
  • Unterstützung für intrinsische sqrt()- und rsqrt()-Funktionen.
  • Unterstützung für die intrinsische Funktion step().
  • Unterstützung für die intrinsische Funktion transpose().
  • Unterstützung für case-insensitive Varianten von Float- und Dword-Daten
    Typ
  • Teilweise Unterstützung für Datentypen mit minimaler Genauigkeit wie "min16float". Diese werden derzeit als ihre regulären Gegenstücke interpretiert.
    Verbesserte Unterstützung für konstante Ausbreitung, insbesondere für konstante Ausbreitung über Swizzles.
  • Die Kompilierungsoption VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE kann verwendet werden, um anzugeben, ob SPIR-V-Shader, die auf Vulkan-Umgebungen abzielen, Punktgrößen für Geometrie- und Tessellations-Shader schreiben sollen, wenn nicht angegeben, werden die Punktgrößen geschrieben.

Schließlich Für Interessierte, die mehr darüber erfahren möchten, sollten sie wissen, dass der Projektcode unter LGPLv2.1 lizenziert ist und dass sie die Details dieser neuen Version einsehen können im folgenden Link.

Wie installiere ich vkd3d 1.7?

Für daran interessiert, vkd3d installieren zu können Sie müssen wissen, dass sie den Quellcode kompilieren müssen, also müssen wir ihn zuerst beschaffen, es ist wichtig zu erwähnen, dass Vkd3d von SPIRV-Headern und Vulkan-Headern abhängt (>= 1.2.139).

Um die Kompilierung durchzuführen, müssen wir ein Terminal öffnen und darin den folgenden Befehl eingeben:

git clone https://gitlab.winehq.org/wine/vkd3d.git

Sobald dies erledigt ist, betreten wir das kürzlich heruntergeladene Verzeichnis mit:

cd vkd3d

Und wir fahren mit dem Kompilieren fort, indem wir die folgenden Befehle ausführen:

./configure

make

make install

Si Sie möchten mehr über die Zusammenstellung erfahren von vkd3d können Sie die Details überprüfen dieser Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.