Projekts Wine ir publicÄjis vkd3d 1.7 pakotnes izlaidumu ar Direct3D 12 ievieÅ”anu, kas darbojas, izmantojot apraides zvanus uz Vulkan grafikas API. PaketÄ ietilpst libvkd3d bibliotÄkas ar Direct3D 12 implementÄcijÄm, libvkd3d-shader ar ÄnotÄju modeļu 4 un 5 tulkotÄju un libvkd3d-utils ar funkcijÄm Direct3D 12 lietojumprogrammu pÄrneÅ”anas vienkÄrÅ”oÅ”anai, kÄ arÄ« demonstrÄcijas piemÄru kopa, ieskaitot portu. glxgears uz Direct3D 12. Projekta kods tiek izplatÄ«ts licencÄts saskaÅÄ ar LGPLv2.1.
Libvkd3d bibliotÄka atbalsta lielÄko daļu Direct3D 12 funkciju, tostarp grafikas un skaitļoÅ”anas rÄ«kus, komandu rindas un sarakstus, deskriptorus un kaudzes deskriptorus, saknes parakstus, nesakÄrtotu piekļuvi, paraugu ÅemÅ”anas rÄ«kus, komandu parakstus, saknes konstantes, netieÅ”o renderÄÅ”anu un metodes Clear*() un Copy*(). libvkd3d-shader Ä«steno ÄnotÄja modeļa 4 un 5 baitkoda tulkoÅ”anu SPIR-V starpposma attÄlojumÄ. Tiek atbalstÄ«ti virsotÅu, pikseļu, tessellÄcijas, skaitļoÅ”anas un vienkÄrÅ”as Ä£eometrijas ÄnotÄji, kÄ arÄ« saknes paraksta serializÄcija un deserializÄcija. ÄnotÄja instrukcijas ietver aritmÄtiskÄs, atomiskÄs un bitu operÄcijas, salÄ«dzinÄÅ”anas un datu plÅ«smas vadÄ«bas operatorus, paraugu ÅemÅ”anas, apkopoÅ”anas un ielÄdes instrukcijas, kÄ arÄ« nesakÄrtotas piekļuves skata (UAV) operÄcijas.
JaunajÄ versijÄ:
- TurpinÄjies darbs pie HLSL (augsta lÄ«meÅa ÄnotÄja valodas) ÄnotÄja kompilatora uzlaboÅ”anas:
- Pievienota iespÄja izsaukt lietotÄja definÄtas funkcijas un izmantot masÄ«vus kÄ lietotÄja definÄtu funkciju parametrus.
- Pievienots atbalsts parametriem SV_DispatchThreadID, SV_GroupID un SV_GroupThreadID.
- Pievienotas iebÅ«vÄtÄs funkcijas all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), transpose().
- Pievienots sÄkotnÄjais atbalsts zemas precizitÄtes peldoÅ”Ä komata tipiem, piemÄram, "min16float".
- IevÄrojami uzlabots atbalsts Direct3D 1/2/3 ÄnotÄju modeļu profiliem.
- Pievienota publiska API DXBC binÄro datu parsÄÅ”anai (vkd3d_shader_parse_dxbc) un serializÄÅ”anai (vkd3d_shader_serialize_dxbc).
Avots: opennet.ru
