Projekti Wine on välja andnud Vkd3d 1.7, millel on Direct3D 12 teostus.

Projekti Wine on välja andnud vkd3d 1.7 paketi, mis sisaldab Direct3D 12 teostust, mis töötab kutsungite edastamise kaudu Vulkani graafika API-le. Pakett sisaldab raamatukogusid libvkd3d, mis teostavad Direct3D 12, libvkd3d-shader, mis sisaldab 4. ja 5. mudeli shaderite tõlki, ning libvkd3d-utils, mis sisaldab funktsioone Direct3D 12 rakenduste portimise lihtsustamiseks, samuti hulgaliselt näidiseid, sealhulgas glxgearsi porti Direct3D 12. Projekti kood on välja antud LGPLv2.1 litsentsi all.

libvkd3d raamatukogu toetab enamikku Direct3D 12 funktsioone, sealhulgas graafika ja arvutuste tööriistu, järjekordi ja käskluste loendeid, deskriptorid ja hunnikutes deskriptorid, juure signtuurid, süstemaatiline juurdepääs, katsurfiltrid, käskluste signtuurid, juure konstantsed, kaudne (indirect) joonistamine, Clear*() ja Copy*() meetodid. libvkd3d-shader võimaldab 4. ja 5. versiooni shaderite byte-code'i tõlget vahepealseks kujutiseks SPIR-V. Toetatakse tipu-, pikslite-, tessleeringu-, arvutus- ja lihtsaid geomeetrilisi shadereid, juure signtuuride serialiseerimist ja deserialiseerimist. Shaderi käskudest on väljatöötatud aritmeetilised, aatomilised ja bitised operatsioonid, võrdlusoperaatorid ja andmevoo juhtimise käsklused, instruktsioonid sample, gather ja load, operatsioonid süstemaatilise juurdepääsu (UAV, Unordered Access View) jaoks.

Uues versioonis:

  • Tööd HLSL (High-Level Shader Language) shaderite kompilaatori täiustamiseks jätkuvad:
    • Lisatud on võimalus kutsuda kasutaja funktsioone ja kasutada massiive kasutaja funktsioonide parameetritena.
    • Toetust on lisatud parameetritele SV_DispatchThreadID, SV_GroupID ja SV_GroupThreadID.
    • Lisatud on sisseehitatud funktsioonid all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), transpose().
    • Algne tugi madala täpsusega ujuv-punkti tüüpidele, nagu 'min16float', on lisatud.
  • Signifikantselt on paranenud Direct3D 1/2/3 mudeli shaderite profiilide tugi.
  • Lisatud avalik API binaarsete andmete DXBC analüüsimiseks (vkd3d_shader_parse_dxbc) ja serialiseerimiseks (vkd3d_shader_serialize_dxbc).

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster