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, që funksionon përmes përkthimit të thirrjeve në API-në grafike Vulkan. Në paketë përfshihen bibliotekat libvkd3d me implementimin e Direct3D 12, libvkd3d-shader me përkthyesin e modeleve të shaderave 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 shumicën e mundësive të Direct3D 12, duke përfshirë mjete për grafikë dhe llogaritje, radhë dhe lista komandash, deskriptues dhe deskriptues grumbujsh, nënshkrime themelore, qasje të papërkryer, Sampler-a, nënshkrime komandash, konstantet thelbësore, vizatimin indirekt, metodat Clear*() dhe Copy*(). Në libvkd3d-shader është implementuar përkthimi i kodit të byte të modeleve të shaderave në përfaqësimin ndërmjetës SPIR-V. Mbështeten shaderat e piksevëve, të vertexeve, të tesselacionit, llogaritëse dhe shaderat e thjeshtë gjeometrik, serializimi dhe deserializimi i nënshkrimit themelor. Nga instruksionet e shaderëve janë implementuar operacionet aritmetike, atomike dhe bllokuese, operatorët e krahasimit dhe kontrollit të rrjedhës së të dhënave, instrukcionet sample, gather dhe load, operacionet e qasjes së papërkryer (UAV, Unordered Access View).

NĂ« versionin e ri:

  • ËshtĂ« shtuar mbĂ«shtetje fillestare pĂ«r gjuhĂ«n e shaderĂ«ve MSL (Metal Shading Language), e cila pĂ«rdoret nga Apple nĂ« API-nĂ« grafike Metal.
  • ËshtĂ« realizuar mbĂ«shtetje pĂ«r disassemblerin pĂ«r efektet binare.
  • NĂ« bibliotekĂ«n libvkd3, nĂ« ndĂ«rfaqen ID3D12GraphicsCommandList1 Ă«shtĂ« implementuar metoda OMSetDepthBounds() pĂ«r tĂ« ndryshuar dinamikisht intervalin e lejuar tĂ« vlerave tĂ« thellĂ«sisĂ« nĂ« Z-buffer.
  • ËshtĂ« shtuar variabla e mjedisit VKD3D_CAPS_OVERRIDE pĂ«r tĂ« ri-pĂ«rcaktuar informacionin e dhĂ«nĂ« aplikacioneve mbi mundĂ«sitĂ« e disponueshme, siç janĂ« nivelet maksimale tĂ« mbĂ«shtetjes sĂ« funksionalitetit dhe lidhjet e burimeve.
  • NĂ« implementimin e gjuhĂ«s sĂ« shaderĂ«ve HLSL Ă«shtĂ« shtuar mbĂ«shtetje fillestare pĂ«r shaderat e tesselacionit. JanĂ« implementuar funksione tĂ« integruara dst(), f32tof16(), mad(), modf() dhe sincos(). PĂ«r profilin 1, 2 dhe 3 tĂ« modeleve tĂ« shaderĂ«ve Ă«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 shaderat e fragmenteve dhe SV_GroupIndex pĂ«r shaderat llogaritĂ«s.
  • ËshtĂ« implementuar njĂ« grup i madh instruksionesh tĂ« reja pĂ«r gjuhĂ«n e shaderĂ«ve GLSL.

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