vkd3d 1.7 a fost deja lansat și acestea sunt știrile sale

vkd3d

vkd3d, este stratul de traducere Direct3D 12 către Vulkan al Wine

Proiectul vin dezvăluit În urmă cu câteva zile, lansarea noii versiuni a Pachetul vkd3d 1.7 cu o implementare Direct3D 12 care funcționează prin traducerea apelurilor către API-ul grafic Vulkan.

El paquete include biblioteci libvkd3d cu implementări Direct3D 12, libvkd3d-shader cu modelul shader translate 4 și 5 și libvkd3d-utils cu funcții pentru a simplifica migrarea aplicațiilor Direct3D 12, precum și un set de demonstrații, inclusiv un port de glxgears la Direct3D 12.

Biblioteca libvkd3d acceptă majoritatea funcțiilor Direct3D 12, inclusiv grafică și calcul, liste de comenzi și cozi, descriptori și descriptori heap, semnături rădăcină, acces neordonat, mostre, semnături de comandă, constante rădăcină, reprezentare indirectă, metode Clear*() și Copy*().

Pe lângă ea libvkd3d-shader implementează traducerea bytecode 4 și 5 a modelelor de umbrire într-o reprezentare intermediară a SPIR-V. Suportă vertex, pixel, tesselation, calcul și umbrire geometrie simplă, serializare și deserializare semnături rădăcină.

Operațiile aritmetice, atomice și pe biți, operatorii de comparare și de control al fluxului de date, instrucțiuni de eșantionare, colectare și încărcare, operațiuni de acces în afara ordinului (UAV, vizualizare de acces în afara ordinii) sunt implementate din instrucțiunile de umbrire.

Principalele caracteristici noi ale vkd3d 1.7

În această nouă versiune care este prezentată de vkd3d 1.7 iese în evidență éAm continuat munca pentru a îmbunătăți compilatorul de shader HLSL (High-Level Shader Language), precum și adăugarea capacității de a apela funcții definite de utilizator și utilizați matrice ca parametri ai funcțiilor definite de utilizator.

O altă dintre modificările care iese în evidență în noua versiune este cea suport îmbunătățit semnificativ pentru profiluri model shader Direct3D 1/2/3, S-a adăugat, de asemenea, suport inițial pentru tipurile cu virgulă mobilă cu precizie redusă, cum ar fi min16float.

De asemenea, se evidențiază faptul că a adăugat suport pentru parametrii SV_DispatchThreadID, SV_GroupID și SV_GroupThreadID și că a fost adăugat un API public pentru a analiza (vkd3d_shader_parse_dxbc) și a serializa (vkd3d_shader_serialize_dxbc) datele binare DXBC.

Dintre alte schimbări care se remarcă a noii versiuni:

  • Suport pentru parametrul opțional „offset” al obiectului textura Load().
    metodă.
  • Suport pentru funcția intrinsecă all().
  • Suport pentru funcția intrinsecă distanță().
  • Suport pentru funcțiile intrinseci exp() și exp2().
  • Suport pentru funcția intrinsecă frac().
  • Suport pentru funcția intrinsecă lit().
  • Suport pentru funcția intrinsecă reflect().
  • Suport pentru funcțiile intrinseci sin() și cos().
  • Suport pentru funcția intrinsecă smoothstep().
  • Suport pentru funcțiile intrinseci sqrt() și rsqrt().
  • Suport pentru funcția intrinsecă step().
  • Suport pentru funcția intrinsecă transpose().
  • Suport pentru variantele care nu țin seama de majuscule și minuscule ale datelor float și dword
    tip
  • Suport parțial pentru tipuri de date de precizie minimă, cum ar fi „min16float”. Acestea sunt în prezent interpretate ca omologii lor obișnuiți.
    Suport îmbunătățit pentru propagarea constantă, în special pentru propagarea constantă prin swizzles.
  • Opțiunea de compilare VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE poate fi utilizată pentru a specifica dacă shaders-urile SPIR-V care vizează mediile Vulkan ar trebui să scrie dimensiuni de puncte pentru geometrie și shaders tesselation, dacă nu sunt specificate, dimensiunile punctelor vor fi scrise.

În cele din urmă, Pentru cei interesați să afle mai multe despre el, ar trebui să știe că codul de proiect este licențiat sub LGPLv2.1 și că pot consulta detaliile acestei noi versiuni În următorul link.

Cum se instalează vkd3d 1.7?

Pentru interesat să poți instala vkd3d Ei trebuie să știe că trebuie să compileze codul sursă, așa că trebuie să îl obținem mai întâi, este important de menționat că Vkd3d depinde de SPIRV-Headers și Vulkan-Headers (>= 1.2.139).

Pentru a realiza compilarea trebuie să deschidem un terminal și în el vom tasta următoarea comandă:

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

Odată ce s-a făcut acest lucru, trecem la intrarea în directorul descărcat recent cu:

cd vkd3d

Și procedăm la compilare executând următoarele comenzi:

./configure

make

make install

Si vrei să afli mai multe despre compilație din vkd3d puteți verifica detaliile în acest link.


Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.