Die neue Version von vkd3d 1.3 wurde bereits veröffentlicht

Nach anderthalb Jahren Entwicklung undDas Weinprojekt kündigte den Start von an die neue Version des Pakets «vkd3d 1.3″ mit einer Direct3D 12-Implementierung, die durch die Übersetzung von Aufrufen an die Vulkan-Grafik-API funktioniert.

Diese Version enthält verschiedene Verbesserungen und von denen in dieser neuen Version die Highlights sind anfängliche HLS-Build-UnterstützungL sowie die Shader Model 5.1-Deskriptor-Array-Unterstützung, Unterstützung für das Unmounten von Direct3D-Shadern und mehr.

Wer das Paket nicht kennt, sollte das wissen enthält libvkd3d-Bibliotheken mit Direct3D 12-Implementierungen, libvkd3d-shader mit Shader-Übersetzer Modell 4 und 5 und libvkd3d-Utils mit Funktionen zur Vereinfachung der Migration von Direct3D 12-Anwendungen sowie einer Reihe von Demos, einschließlich des glxgears-Ports auf Direct3D 12. Der Projektcode wird unter LGPLv2.1 lizenziert verteilt.

Die Bibliothek libvkd3d unterstützt die meisten Direct3D 12-Funktionen. einschließlich Graph- und Berechnungsfunktionen, Befehlslisten und -warteschlangen, Deskriptoren und Heap-Deskriptoren, Root-Signaturen, ungeordneter Zugriff, Sampler, Befehlssignaturen, Root-Konstanten, Proxy-Darstellung usw.

Libvkd3d-Shader implementiert die Übersetzung der Bytecodes 4 und 5 der Verschattungsmodelle in der SPIR-V Zwischendarstellung. Vertices, Pixel, Tessellation, rechnerische und einfache Geometrie-Shader, Root-Signatur-Serialisierung und Deserialisierung werden unterstützt.

Die Shader-Anweisungen enthalten arithmetische, atomare und bitweise Operationen. Datenflusskontroll- und Vergleichsoperatoren, Anweisungen zum Abtasten, Sammeln und Laden, ungeordnete Zugriffsvorgänge (UAV, Ansicht ungeordneter Zugriff).

In der aktuellen Entwicklungsphase sind nicht alle Aufrufe von Direct3D 12 implementiert und die Tests wurden hauptsächlich an einer Reihe von Demoanwendungen durchgeführt.

Wichtige neue Funktionen von Vkd3d 1.3

In dieser neuen Version von vkd3d 1.3, die vorgestellt wird, wird dies hervorgehoben anfängliche Unterstützung für das Kompilieren und Vorab-Rendering von Shadern in HLSL hinzugefügt (High-Level-Shader-Sprache), die seit DirectX 9.0 bereitgestellt wird.

Eine weitere Änderung, die in dieser neuen Version auffällt, ist die Unterstützung für Gleitkommaoperationen mit doppelter Genauigkeit in Shadern, sowie Indirektion für Tessellations-Shader, Template-Export von Shadern, den „präzisen“ Shader-Modifikator und globale Barrieren für In-Memory-Ressourcen.

Wir können auch feststellen, dass die Möglichkeit, Direct3D-Shader aus Code zu disassemblieren von Bytes für die Assembler-Darstellung sowie zusätzliche Unterstützung für das Parsen des alten Direct3D-Bytecode-Formats, das in Direct3D 1-, 2- und 3-Shader-Modellen verwendet wird.

libvkd3d hat Direct3D 12-Funktionen hinzugefügt, wie z. B. Root-Signaturen, ungeordnete Lookup-Zähler, Ausgabe-Merge-Booleans, Mirror_once-Textur-Adressierungsmodus und hinzugefügte vkd3d_host_time_domain_info-Struktur.

Von den anderen Änderungen das hebt sich von dieser neuen Version ab:

  • vkd3d_shader_preprocess_info erweitert die vkd3d_shader_compile_info-Struktur und kann verwendet werden, um Vorverarbeitungsparameter wie Präprozessor-Makrodefinitionen anzugeben.
  • vkd3d_shader_hlsl_source_info erweitert die vkd3d_shader_compile_info-Struktur und kann verwendet werden, um HLSL anzugeben und Parameter wie Zielprofil und Einstiegspunkt zu erstellen.
  • Verknüpfen Sie Direct3D 12- und Vulkan-Modelle
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION kann verwendet werden, um die libvkd3d-shader-API-Version anzugeben, auf die die Anwendung abzielt. Wenn nicht angegeben, wird VKD3D_SHADER_API_VERSION_1_2 verwendet.
  • Der vkd3d-Compiler verwendet standardmäßig die Farbausgabe, wenn er feststellen kann, dass die
    der Ausgang ist ein farbfähiger Fernschreiber.
  • Unterstützung für Deskriptor-Arrays hinzugefügt, die in Shader Model 5.1 definiert sind.

Schließlich wenn Sie mehr darüber wissen wollen Über diese neue Version können Sie die vollständige Liste der Änderungen einsehen im folgenden Link.

Wie installiere ich vkd3d unter Linux?

Für diejenigen, die daran interessiert sind, vkd3d auf ihrem System zu installieren, sollten sie den Quellcode erhalten und mit der Kompilierung fortfahren, obwohl sie diese Bibliothek aus praktischen Gründen oder für Neulinge ohne großen Aufwand ausprobieren können. Dazu müssen sie nur lutris und innerhalb seiner Konfigurationen installieren.

Diejenigen, die an einer Kompilierung interessiert sind, müssen den Code erhalten mit:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

Schließlich müssen die Vulkan-Ebenen aktiviert werden:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Hinterlasse einen Kommentar

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

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  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.