Projekti Wine publikoi Vkd3d 1.7 me implementimin e Direct3D 12

Projekti Wine publikoi versionin e paketës vkd3d 1.7 me realizimin e Direct3D 12, i cili funksionon përmes përkthimit të thirrjeve në API-në grafike Vulkan. Paketimi përmban bibliotekat libvkd3d me realizimin e Direct3D 12, libvkd3d-shader me përkthyesin e modeleve të shenjave 4 dhe 5, si dhe libvkd3d-utils me funksione për thjeshtimin e portimit të aplikacioneve Direct3D 12, si dhe një set shembujsh demonstrues, përfshirë portimin e glxgears në Direct3D 12. Kódi i projektit shpërndahet nën licencën LGPLv2.1.

Biblioteka libvkd3d mbështet shumicën e mundësive të Direct3D 12, përfshirë mjetet për grafikë dhe llogaritje, radhët dhe listat e komandave, deskriptorët dhe grumbujt e deskriptorëve, root signatures, qasjen e parenditur, sampler-at, command signatures, root constants, vizatimin indirekt (indirect), si dhe metodat Clear*() dhe Copy*(). Në libvkd3d-shader është zbatuar përkthimi i bytecode-it të modeleve të shader-ëve 4 dhe 5 në paraqitjen e ndërmjetme SPIR-V. Mbështeten shader-ë vertex, pixel, tessellation, compute dhe shader-ë të thjeshtë gjeometrikë, si edhe serializimi dhe deserializimi i root signature. Nga instruksionet e shader-ëve janë zbatuar operacionet aritmetike, atomike dhe bitwise, operatorët e krahasimit dhe të kontrollit të rrjedhës së të dhënave, instruksionet sample, gather dhe load, si dhe operacionet e qasjes së parenditur (UAV, Unordered Access View).

NĂ« versionin e ri:

  • Punimet pĂ«r pĂ«rmirĂ«simin e kompilatorit tĂ« shenjave nĂ« HLSL (High-Level Shader Language) janĂ« vazhduar:
    • Shtuar mundĂ«sia pĂ«r thirrjen e funksioneve tĂ« pĂ«rdoruesit dhe pĂ«rdorimin e array-ve si parametra tĂ« funksioneve tĂ« pĂ«rdoruesit.
    • Shtuar mbĂ«shtetje pĂ«r parametrat SV_DispatchThreadID, SV_GroupID dhe SV_GroupThreadID.
    • Shtuar funksione tĂ« ndĂ«rtuara all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), transpose().
    • Shtuar mbĂ«shtetje fillestare pĂ«r tipe me saktĂ«si tĂ« ulĂ«t me pikĂ« lĂ«kundĂ«se, si 'min16float'.
  • PĂ«rmirĂ«suar ndjeshĂ«m mbĂ«shtetja pĂ«r profilin e modeleve tĂ« shenjave Direct3D 1/2/3.
  • Shtuar API publik pĂ«r analizimin (vkd3d_shader_parse_dxbc) dhe serializimin (vkd3d_shader_serialize_dxbc) tĂ« tĂ« dhĂ«nave binare DXBC.

Burimi: opennet.ru

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