Baada ya mwaka na nusu ya maendeleo, mradi wa Mvinyo umetoa kifurushi cha vkd3d 1.3, utekelezaji wa Direct3D 12 ambao hufanya kazi kwa kutafsiri simu kwa API ya michoro ya Vulkan. Kifurushi hiki kinajumuisha maktaba za libvkd3d zilizo na utekelezaji wa Direct3D 12, libvkd3d-shader iliyo na mfasiri wa miundo ya shader ya 4 na 5, na libvkd3d-utils zilizo na utendakazi wa kurahisisha uwekaji wa programu za Direct3D 12, pamoja na seti ya onyesho, ikijumuisha bandari ya Directed under 4. Leseni ya LGPLv2.1.
Maktaba ya libvkd3d inaauni vipengele vingi vya Direct3D 12, ikiwa ni pamoja na michoro na vifaa vya kukokotoa, foleni za amri na orodha, maelezo na maelezo ya lundo, saini za mizizi, ufikiaji usio na mpangilio, Sampuli, sahihi za amri, viunga vya mizizi, utoaji usio wa moja kwa moja, Futa*() na Mbinu za 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).
Miongoni mwa uvumbuzi muhimu zaidi katika Vkd3d 1.3 ni:
- Imeongeza usaidizi wa awali wa kuandaa na kuchakata vivuli katika lugha ya HLSL (Lugha ya Kiwango cha Juu ya Shader) iliyotolewa tangu DirectX 9.0.
- Usaidizi ulioongezwa kwa safu za maelezo zilizofafanuliwa katika Shader Model 5.1.
- Usaidizi hutolewa kwa utendakazi wa sehemu zinazoelea zenye usahihi maradufu, kushughulikia kwa njia isiyo ya moja kwa moja kwa vivuli vya kugeuza, kusafirisha stencil kutoka kwa vivuli, kirekebishaji "sahihi" cha vivuli, na vizuizi vya kimataifa vya rasilimali za kumbukumbu.
- Uwezo wa kutenganisha vivuli vya Direct3D kutoka kwa bytecode hadi uwakilishi wa mkusanyiko umetekelezwa.
- Usaidizi ulioongezwa wa kuchanganua umbizo la zamani la Direct3D bytecode linalotumika katika miundo ya Direct3D 1, 2 na 3 ya shader.
- Vipengele vya Direct3D 12 kama vile saini za mizizi, vihesabio vya kutazama visivyo na mpangilio, kuunganisha waendeshaji kimantiki kwa ajili ya kutoa, na hali ya kushughulikia ya mirror_once texture imeongezwa kwa libvkd3d. Muundo wa vkd3d_host_time_domain_info umeongezwa.
Chanzo: opennet.ru
