Projekti Wine publikoi vkd3d 1.14 me implementimin e Direct3D 12

Projekti Wine publikoi versionin e paketës vkd3d 1.14 me implementimin e Direct3D 12, i cili funksionon përmes translacioneve të thirrjeve në API-në grafike Vulkan. Paketa përfshin bibliotekat libvkd3d me implementimin e Direct3D 12, libvkd3d-shader me përkthyesin e modeleve 4 dhe 5 të shenjuesve dhe libvkd3d-utils me funksione për lehtësimin e portimit të aplikacioneve Direct3D 12, si dhe një set 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 shumicën e funksionaliteteve të Direct3D 12, duke përfshirë mjetet për grafikë dhe llogaritje, radhët dhe listat e komandave, deshkruesit dhe deshkruesit e grumbullit, nënshkrimet rrënjësore, qasjen jo të renditur, Sampler-at, nënshkrimet e komandave, konstantat rrënjësore, vizatimin indirekt, metodat Clear*() dhe Copy*(). Në libvkd3d-shader është realizuar përkthimi i bytecode të modeleve të shenjuesve në përfaqësimin e ndërmjetëm SPIR-V. Mbështeten shenjuesit e pikëve, shenjuesit e rrezes, shenjuesit tessellation, shenjuesit llogaritës dhe shenjuesit e thjeshtë gjeometrikë, si dhe serializimi dhe deserializimi i nënshkrimit rrënjësor. Nga instruksionet e shenjuesve janë realizuar operacione aritmetike, atomike dhe bitore, operatorë krahasimi dhe menaxhimi i rrjedhës së të dhënave, instrukcionet sample, gather dhe load, operacionet e qasjes jo të renditur (UAV, Unordered Access View).

Në këtë version të ri:

  • Shtuar mbĂ«shtetje fillestare pĂ«r gjuhĂ«n e shenjuesve MSL (Metal Shading Language), e pĂ«rdorur nga kompania Apple nĂ« API-nĂ« grafike Metal.
  • Implementuar mbĂ«shtetje pĂ«r disassembler pĂ«r efeketet binar.
  • NĂ« bibliotekĂ«n libvkd3, nĂ« ndĂ«rfaqen ID3D12GraphicsCommandList1 Ă«shtĂ« implementuar metoda OMSetDepthBounds() pĂ«r ndryshimin dinamik tĂ« gamĂ«s sĂ« lejuar tĂ« vlerave tĂ« thellĂ«sisĂ« nĂ« Z-buffer.
  • Shtuar variabĂ«l ambienti VKD3D_CAPS_OVERRIDE pĂ«r tĂ« tejkaluar informacionin qĂ« aplikacionet marrin mbi mundĂ«sitĂ« e disponueshme, siç janĂ« nivelet maksimale tĂ« mbĂ«shtetjes sĂ« funksionalitetit dhe lidhjet e burimeve.
  • NĂ« implementimin e gjuhĂ«s sĂ« shenjuesve HLSL Ă«shtĂ« shtuar mbĂ«shtetje fillestare pĂ«r shenjuesit e tesselacionit. JanĂ« implementuar funksionet e ndĂ«rtuara dst(), f32tof16(), mad(), modf() dhe sincos(). PĂ«r profilin e modeleve tĂ« shenjuesve 1, 2 dhe 3 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r operacionin “discard”. JanĂ« shtuar mbĂ«shtetje pĂ«r semantikĂ«n e tĂ« dhĂ«nave hyrĂ«se SV_SampleIndex pĂ«r shenjuesit e fragmentĂ«ve dhe SV_GroupIndex pĂ«r shenjuesit e llogaritjeve.
  • Implementuar njĂ« sasi tĂ« madhe instruksionesh tĂ« reja pĂ«r gjuhĂ«n e shenjuesve GLSL.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster