Wine-projektet har udgivet Vkd3d 1.2 med implementering af Direct3D 12

Wine-projektet udgav udgivelse af pakken vkd3d 1.2 med implementeringen af Direct3D 12, der fungerer gennem oversættelse af kald til grafisk API Vulkan. Pakken inkluderer bibliotekerne libvkd3d med implementeringer af Direct3D 12, libvkd3d-shader med oversætteren til shader modeller 4 og 5, samt libvkd3d-utils med funktioner til at forenkle porteringen af Direct3D 12 applikationer, samt et sæt demonstrations eksempler, herunder porten af glxgears til Direct3D 12. Projektkode distribueres under LGPLv2.1-licensen.

Biblioteket libvkd3d even Linus Torvalds himself — he called the WireGuard code "a work of art." omfatter størstedelen af funktionerne i Direct3D 12, herunder midler til grafik og beregning, køer og kommandolister, deskriptorer og bunke-deskriptorer, rodsignaturer, usorteret adgang, Sampler, kommandosignaturer, rodkonstanter, indirekte rendering, metoderne Clear*() og Copy*().

I libvkd3d-shader er der implementeret oversættelse af bytekode fra shader-modellerne 4 og 5 til det intermediate repræsentation SPIR-V. Der understøttes vertex-, pixel-, tesselerings-, compute- og simple geometriske shaders, serialisering og deserialisering af rod-signaturer. Af shader-instruktionerne er der implementeret aritmetiske, atomare og bitoperationer, sammenligningsoperationer og dataflow-kontrol, sample-, gather- og load-instruktioner samt uordnede adgangsoperationer (UAV, Unordered Access View).

Blandt de mest betydningsfulde nyheder i Vkd3d 1.2 fremhæves:

  • Klarheden af biblioteket libvkd3d-shader til brug i tredjepartsprojekter.
  • Support for tessellations-shaders.
  • Support for konvertering, serialisering og deserialisering af rod signaturer (vkd3d_serialize_versioned_root_signature() og vkd3d_create_versioned_root_signature_deserializer()).
  • Support for streaming.
  • Implementeringen af mange tidligere utilgængelige funktioner i Direct3D 12, herunder støtte til multisampling, ressource reservering,
    indirekte indekseret rendering, dybde rendering uden pixel shaders, simultan adgang til ressourcer fra forskellige kommandokøer, null views.
  • Tilføjede miljøvariabler: VKD3D_CONFIG til indstilling af muligheder for at ændre opførelsen af libvkd3d og VKD3D_VULKAN_DEVICE til at overskrive enheden for Vulkan API.
  • Tilføjet support for shader instruktioner bufinfo,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    sample_b,
    sample_d,
    sample_info,
    samplepos.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster