Mradi wa Mvinyo umechapisha kutolewa kwa kifurushi cha vkd3d 1.5 na utekelezaji wa Direct3D 12 ambao hufanya kazi kupitia simu za utangazaji kwa API ya michoro ya Vulkan. Kifurushi hiki ni pamoja na maktaba za libvkd3d zilizo na utekelezaji wa Direct3D 12, libvkd3d-shader na mtafsiri wa mifano ya shader 4 na 5 na libvkd3d-utils zilizo na kazi za kurahisisha uwasilishaji wa programu Direct3D 12, na pia seti ya mifano ya onyesho, pamoja na bandari. ya glxgears hadi Direct3D 12. Msimbo wa mradi unasambazwa kwa leseni chini ya LGPLv2.1.
Maktaba ya libvkd3d inasaidia vipengele vingi vya Direct3D 12, ikiwa ni pamoja na michoro na vifaa vya kompyuta, foleni na orodha za amri, vishikizo na vishikizo vya rundo, saini za mizizi, ufikiaji wa nje ya agizo, Sampuli, saini za amri, vidhibiti vya mizizi, utoaji usio wa moja kwa moja, Njia wazi *( ) na Copy*().
libvkd3d-shader hutumia tafsiri ya bytecode ya miundo ya shader 4 na 5 hadi uwakilishi wa kati wa SPIR-V. Inaauni vertex, pixel, tessellation, compute na vivuli rahisi vya jiometri, usanifu wa saini za mizizi na uondoaji. Maagizo ya Shader ni pamoja na hesabu, oparesheni za atomiki na biti, ulinganishaji na waendeshaji wa udhibiti wa mtiririko wa data, sampuli, maagizo ya kukusanya na kupakia, shughuli za ufikiaji zisizo na mpangilio (UAV, Mwonekano wa Ufikiaji Usio na Mipangilio).
Katika toleo jipya:
- Maboresho mengi yamefanywa kwa kikusanyaji cha shader kwa HLSL (Lugha ya Shader ya Kiwango cha Juu), iliyoanzishwa katika DirectX 9.0. Hizi ni pamoja na usaidizi ulioboreshwa kwa aina za vitu vya HLSL kama vile Texture2D katika miundo na safu, usaidizi ulioongezwa kwa vitendakazi vilivyojengewa ndani dot(), ldexp(), na lerp(), na usaidizi kwa waendeshaji wa kimantiki "na," "au," na "sio" kwa mifano ya shader 4 na 5, pamoja na uwezo wa kutuma aina za Boolean.
- Ilitekeleza chaguo la VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV ili kupakia uwakilishi wa ufikiaji usiopangwa (UAV) kwa umbizo la SPIR-V lenye vipengele vingi (DXGI_FORMAT).
Chanzo: opennet.ru
