Projekts Wine ir publicÄjis vkd3d 1.5 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 lÄ«dzekļu, tostarp grafikas un skaitļoÅ”anas iespÄjas, rindas un komandu sarakstus, rokturus un kaudzes rokturus, saknes parakstus, piekļuvi Ärpus secÄ«bas, paraugus, komandu parakstus, saknes konstantes, netieÅ”o renderÄÅ”anu, notÄ«rÄ«t metodes *( ) un KopÄt*().
ProgrammÄ libvkd3d-shader ir realizÄta 4. un 5. ÄnotÄju modeļu baitkoda tulkoÅ”ana starpposma SPIR-V attÄlojumÄ. Atbalsta virsotÅu, pikseļu, teselÄciju, aprÄÄ·inu un vienkÄrÅ”us Ä£eometrijas ÄnotÄjus, saknes parakstu serializÄciju un deserializÄciju. Shader instrukcijas ietver aritmÄtiskÄs, atomu un bitu darbÄ«bas, salÄ«dzinÄÅ”anas un datu plÅ«smas vadÄ«bas operatorus, izlases, apkopoÅ”anas un ielÄdes instrukcijas, nekÄrtotas piekļuves darbÄ«bas (UAV, Unordered Access View).
JaunajÄ versijÄ:
- HLSL (High-Level Shader Language) ÄnotÄju kompilatorÄ, kas tiek nodroÅ”inÄts kopÅ” DirectX 9.0, ir veikti daudzi uzlabojumi. Tostarp uzlabots atbalsts HLSL objektu tipiem, piemÄram, Texture2D struktÅ«rÄs un masÄ«vos, pievienots atbalsts iebÅ«vÄtajÄm funkcijÄm dot(), ldexp() un lerp(), pievienots atbalsts loÄ£iskajiem operatoriem āandā, āorā ÄnotÄju modeļiem 4 un 5 un ānÄā, kÄ arÄ« iespÄja nodot BÅ«la veidus.
- Ieviesta opcija VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV, lai ielÄdÄtu nekÄrtotas piekļuves attÄlojumu (UAV) SPIR-V vairÄku daļu formÄtiem (DXGI_FORMAT).
Avots: opennet.ru
