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

Projekt Wine veröffentlichte Release des Pakets vkd3d 1.2 mit der Implementierung von Direct3D 12, das 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 Shader der Modelle 4 und 5 sowie libvkd3d-utils mit Funktionen zur Vereinfachung der Portierung von Direct3D 12-Anwendungen, sowie ein Set von Demobeispielen, einschließlich des Ports von glxgears auf Direct3D 12. Der Code des Projekts wird verbreitet unter LGPLv2.1 lizenziert.

Die Bibliothek libvkd3d unterstĂŒtzt deckt die meisten Möglichkeiten von Direct3D 12 ab, einschließlich Grafik- und Berechnungswerkzeuge, Warteschlangen und Befehlslisten, Deskriptoren und Heap-Deskriptoren, Root-Signaturen, ungeordneter Zugriff, Sampler, Befehls-Signaturen, Root-Konstanten, indirekte Rendering-Methoden, Clear*()- und Copy*()-Methoden.

In libvkd3d-shader wurde die Übersetzung von Bytecode der Shader-Modelle 4 und 5 in ein Zwischenergebnis vom Typ SPIR-V implementiert. UnterstĂŒtzt werden Vertex-, Pixel-, Tessellation-, Compute- und einfache geometrische Shader, sowie die Serialisierung und Deserialisierung von Root-Signaturen. Aus den Shader-Anweisungen wurden arithmetische, atomare und bitweise Operationen, Vergleichsoperatoren und Steueranweisungen implementiert, Anweisungen wie sample, gather und load, sowie Operationen des ungeordneten Zugriffs (UAV, Unordered Access View).

Zu den bedeutendsten Neuheiten Merkmalen von Vkd3d 1.2 gehören:

  • Die Bereitschaft der Bibliothek libvkd3d-shader zur Verwendung in Drittanbieterprojekten.
  • UnterstĂŒtzung fĂŒr Tessellations-Shader.
  • UnterstĂŒtzung fĂŒr die Umwandlung, Serialisierung und Deserialisierung von Root-Signaturen (vkd3d_serialize_versioned_root_signature() und vkd3d_create_versioned_root_signature_deserializer()).
  • UnterstĂŒtzung fĂŒr Streaming-Ausgaben.
  • Implementierung vieler zuvor nicht verfĂŒgbarer Funktionen von Direct3D 12, einschließlich UnterstĂŒtzung fĂŒr Multisampling, Ressourcenreservierung,
    indirektes indiziertes Rendering, Tiefenscanning ohne Pixel-Shader, gleichzeitigen Zugriff auf Ressourcen aus verschiedenen Befehlswarteschlangen und Nullansichten (Null-views).
  • Umgebungsvariablen hinzugefĂŒgt: VKD3D_CONFIG zur Festlegung von Optionen zur Änderung des Verhaltens von libvkd3d und VKD3D_VULKAN_DEVICE zur Überschreibung des GerĂ€ts fĂŒr die Vulkan-API.
  • UnterstĂŒtzung von Shader-Anweisungen bufinfo,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    sample_b,
    sample_d,
    sample_info,
    samplepos.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster