vkd3d 1.7 is al uitgebracht en dit is het nieuws

vkd3d

vkd3d, is Wine's Direct3D 12 naar Vulkan vertaallaag

El proyecto wijn onthuld Een paar dagen geleden is de lancering van de nieuwe versie van de vkd3d 1.7-pakket met een Direct3D 12-implementatie die werkt door de vertaling van oproepen naar de Vulkan grafische API.

Pakket bevat libvkd3d-bibliotheken met Direct3D 12-implementaties, libvkd3d-shader met shader-model translate 4 en 5, en libvkd3d-utils met functies om de migratie van Direct3D 12-applicaties te vereenvoudigen, evenals een reeks demo's, waaronder een port van glxgears naar Direct3D 12.

De libvkd3d-bibliotheek ondersteunt de meeste Direct3D 12-functies, inclusief afbeeldingen en berekeningen, commandolijsten en wachtrijen, descriptors en heap-descriptors, roothandtekeningen, ongeordende toegang, voorbeelden, commandohandtekeningen, rootconstanten, indirecte representatie, Clear*() en Copy*() methoden.

buiten dat libvkd3d-shader implementeert vertaling van bytecode 4 en 5 van de schaduwmodellen in een tussenweergave van SPIR-V. Ondersteunt vertex, pixel, tessellation, computation en simple geometrie shaders, root signature serialisatie en deserialisatie.

Rekenkundige, atomaire en bitbewerkingen, operatoren voor vergelijking en gegevensstroombesturing, instructies voor het nemen van monsters, verzamelen en laden, bewerkingen voor niet-geordende toegang (UAV, niet-beschikbare toegangsweergave) worden geïmplementeerd vanuit schaduwinstructies.

Belangrijkste nieuwe functies van vkd3d 1.7

In deze nieuwe versie die gepresenteerd wordt van vkd3d 1.7 springt é eruitIk heb verder gewerkt aan het verbeteren van de HLSL-shadercompiler (High-Level Shader Language), evenals de mogelijkheid om door de gebruiker gedefinieerde functies aan te roepen en gebruik arrays als parameters van door de gebruiker gedefinieerde functies.

Een andere verandering die opvalt in de nieuwe versie is de aanzienlijk verbeterde ondersteuning voor profielen shader-model Direct3D 1/2/3, Ook initiële ondersteuning toegevoegd voor drijvende-kommatypen met lage precisie, zoals min16float.

Er wordt ook benadrukt dat ondersteuning toegevoegd voor parameters SV_DispatchThreadID, SV_GroupID en SV_GroupThreadID en dat er een openbare API is toegevoegd om binaire DXBC-gegevens te ontleden (vkd3d_shader_parse_dxbc) en te serialiseren (vkd3d_shader_serialize_dxbc).

Van de andere opvallende veranderingen van de nieuwe versie:

  • Ondersteuning voor de optionele parameter "offset" van het object Load() texture
    methode.
  • Ondersteuning voor de intrinsieke functie all().
  • Ondersteuning voor de intrinsieke functie distance().
  • Ondersteuning voor de intrinsieke functies exp() en exp2().
  • Ondersteuning voor de intrinsieke functie frac().
  • Ondersteuning voor de intrinsieke functie lit().
  • Ondersteuning voor de intrinsieke functie reflect().
  • Ondersteuning voor de intrinsieke functies sin() en cos().
  • Ondersteuning voor de intrinsieke functie smoothstep().
  • Ondersteuning voor intrinsieke sqrt()- en rsqrt()-functies.
  • Ondersteuning voor de intrinsieke functie step().
  • Ondersteuning voor de intrinsieke functie transpose().
  • Ondersteuning voor hoofdletterongevoelige varianten van float- en dword-gegevens
    typen
  • Gedeeltelijke ondersteuning voor gegevenstypen met minimale precisie, zoals "min16float". Deze worden momenteel geïnterpreteerd als hun reguliere tegenhangers.
    Verbeterde ondersteuning voor constante voortplanting, in het bijzonder voor constante voortplanting via swizzles.
  • De compileeroptie VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE kan worden gebruikt om te specificeren of SPIR-V-shaders die gericht zijn op Vulkan-omgevingen, puntgroottes moeten schrijven voor geometrie- en mozaïekpatroon-shaders, indien niet opgegeven, worden de puntgroottes geschreven.

Tenslotte Voor wie er meer over wil weten, moeten ze weten dat de projectcode is gelicentieerd onder LGPLv2.1 en dat ze de details van deze nieuwe release kunnen raadplegen In de volgende link.

Hoe installeer ik vkd3d 1.7?

Voor geïnteresseerd om vkd3d te kunnen installeren Ze moeten weten dat ze de broncode moeten compileren, dus we moeten deze eerst verkrijgen, het is belangrijk om te vermelden dat Vkd3d afhankelijk is van SPIRV-Headers en Vulkan-Headers (>= 1.2.139).

Om de compilatie uit te voeren, moeten we een terminal openen en daarin zullen we de volgende opdracht typen:

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

Zodra dit is gebeurd, gaan we verder met het invoeren van de recent gedownloade map met:

cd vkd3d

En we gaan verder met compileren door de volgende opdrachten uit te voeren:

./configure

make

make install

Si wil je meer weten over de compilatie van vkd3d kunt u de details inchecken deze link


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.