Candidatul Wine 8.0 și versiunea vkd3d 1.6

Au început testarea pentru prima versiune candidată Wine 8.0, o implementare deschisă a WinAPI. Baza de cod a fost pusă într-o fază de înghețare înainte de lansare, care este așteptată la mijlocul lunii ianuarie. De la lansarea Wine 7.22, 52 de rapoarte de eroare au fost închise și au fost făcute 538 de modificări.

Cele mai importante schimbari:

  • Pachetul vkd3d cu o implementare Direct3D 12 care funcționează prin intermediul apelurilor de difuzare către API-ul grafic Vulkan a fost actualizat la versiunea 1.6.
  • Optimizarea convertoarelor de apeluri de sistem (mulțumiri) pentru Vulkan și OpenGL a fost efectuată.
  • WinPrint a extins suportul pentru procesoarele de imprimare.
  • Panou de control joystick îmbunătățit.
  • Au fost finalizate lucrări pentru a oferi suport pentru tipul „lung” din codul funcției printf.
  • Rapoartele de eroare legate de funcționarea jocurilor sunt închise: Tom Clancy's Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Rapoarte de eroare închise legate de funcționarea aplicațiilor: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

În plus, putem remarca publicarea de către proiectul Wine a pachetului vkd3d 1.6 cu o implementare a Direct3D 12, care lucrează prin traducerea apelurilor către API-ul grafic Vulkan. Pachetul include biblioteci libvkd3d cu implementări ale Direct3D 12, libvkd3d-shader cu un translator al modelelor shader 4 și 5 și libvkd3d-utils cu funcții pentru simplificarea portarii aplicațiilor Direct3D 12, precum și un set de exemple demo, inclusiv un port de glxgears la Direct3D 12. Codul de proiect este distribuit sub licență LGPLv2.1.

Biblioteca libvkd3d acceptă cele mai multe caracteristici Direct3D 12, inclusiv facilități de grafică și de calcul, cozi și liste de comenzi, mânere și mânere de heap, semnături rădăcină, acces în afara ordinului, Samplere, semnături de comandă, constante rădăcină, randare indirectă, metode Clear *( ) și Copiere*(). În libvkd3d-shader, este implementată traducerea bytecode a modelelor shader 4 și 5 într-o reprezentare intermediară SPIR-V. Suportă vertex, pixel, tesselation, calcul și umbrire geometrie simplă, serializare și deserializare semnături rădăcină. Instrucțiunile shader includ operații aritmetice, atomice și pe biți, operatori de comparare și control al fluxului de date, instrucțiuni de eșantionare, colectare și încărcare, operațiuni de acces neordonat (UAV, vizualizare cu acces neordonat).

Noua versiune continuă să îmbunătățească compilatorul shader în HLSL (High-Level Shader Language), furnizat începând cu DirectX 9.0. Îmbunătățirile legate de HLSL includ:

  • S-a implementat suportul inițial pentru compute shaders.
  • Suport îmbunătățit pentru inițializarea și atribuirea obiectelor compuse, cum ar fi structuri și matrice.
  • S-a adăugat capacitatea de a încărca și de a salva resursele de textură utilizând accesul în afara ordinului (UAV).
  • S-a adăugat suport pentru atributele funcției și s-au implementat funcții încorporate asuint(), length(), normalize().
  • S-a adăugat suport pentru modulele în virgulă mobilă.
  • Am implementat indicatorul VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS pentru a indica operațiunile atomice pe descriptori de reprezentare a accesului neordonat (UAV).

Sursa: opennet.ru

Adauga un comentariu