Projekti Wine lëshoi Vkd3d 1.2 me realizimin e Direct3D 12

Projekt Wine publikoi publikimi i paketit vkd3d 1.2 me implementimin e Direct3D 12, që funksionon përmes përkthimit të thirrjeve në API-në grafike Vulkan. Paketa përfshin bibliotekat libvkd3d me implementimin e Direct3D 12, libvkd3d-shader me përkthyesin e modeleve të shenjave 4 dhe 5 dhe libvkd3d-utils me funksione për të thjeshtuar portimin e aplikacioneve Direct3D 12, si dhe një grup shembujsh demonstrues, duke përfshirë portin glxgears në Direct3D 12. Kodi i projektit shpërndahet nën licencën LGPLv2.1.

Biblioteka libvkd3d mbështet ofron shumicën e mundësive të Direct3D 12, duke përfshirë mjete për grafikë dhe llogaritje, radhët dhe listat e komandave, përshkruesit dhe përshkruesit e grumbujve, nënshkrimet rrënjësore, qasje të pa renditur, Samplera, nënshkrimet e komandave, konstantet rrënjësore, vizatimin indirekt, metodat Clear*() dhe Copy*().

Në libvkd3d-shader është implementuar përkthimi i bytecode të modeleve të shenjave 4 dhe 5 në një përfaqësim të ndërmjetëm SPIR-V. Përkrahja për shenjaterat e kulmëve, pikselat, tessellation, llogaritëse dhe shenjaterat e thjeshta, serializimi dhe deserializimi i nënshkrimit rrënjësor. Nga komandat e shenjave janë implementuar operacione aritmetike, atomike dhe bitore, operatorë krahasimi dhe kontrolle të rrjedhës së të dhënave, komandat sample, gather dhe load, operacionet e qasjes së pa renditur (UAV, Unordered Access View).

Mes më të rëndësishmëve novitete në Vkd3d 1.2 spikasin:

  • Disponueshmëria e bibliotekës libvkd3d-shader për përdorim në projekte të jashtme.
  • Përkrahja për shenjaterat e tessellation.
  • Përkrahja për konvertimin, serializimin dhe deserializimin e nënshkrimeve rrënjësore (vkd3d_serialize_versioned_root_signature() dhe vkd3d_create_versioned_root_signature_deserializer()).
  • Përkrahja për daljen në rrjedhë.
  • Implementimi i shumë mundësive të paqena më parë të Direct3D 12, duke përfshirë mbështetje për multisampling, rezervimin e burimeve,
    vizatimin e indeksuar indirekt, renderimin e thellësisë pa shenjaterat e pikselave, qasjen e njëkohshme në burime nga radhë të ndryshme komandash, pamjet nul (Null-views).
  • Të shtohen variablat e ambientit: VKD3D_CONFIG për vendosjen e opsioneve për të ndryshuar sjelljen e libvkd3d dhe VKD3D_VULKAN_DEVICE për të ri-definuar pajisjen për API Vulkan.
  • Shtuar mbështetje për komandat e shenjave bufinfo,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    sample_b,
    sample_d,
    sample_info,
    samplepos.

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster