La projekto Wine publikigis Vkd3d 1.3 kun Direct3D 12 efektivigo

Post jaro kaj duono de disvolviĝo, la projekto Wine publikigis la liberigon de la pako vkd3d 1.3 kun efektivigo Direct3D 12, kiu funkcias per dissendado de vokoj al la grafika API de Vulkan. La pakaĵo inkluzivas libvkd3d-bibliotekojn kun efektivigoj de Direct3D 12, libvkd3d-shader kun tradukisto de shader-modeloj 4 kaj 5 kaj libvkd3d-utils kun funkcioj por simpligi la portadon de Direct3D 12-aplikoj, same kiel aron da demo-ekzemploj, inkluzive de haveno. de glxgears al Direct3D 12. La projektkodo estas distribuita licencite laŭ LGPLv2.1.

La libvkd3d-biblioteko subtenas plej multajn funkciojn de Direct3D 12, inkluzive de grafikaĵoj kaj komputadinstalaĵoj, atendovicoj kaj komandlistoj, teniloj kaj amaso-teniloj, radiksignaturoj, neorda aliro, Samplers, komandsignaturoj, radikaj konstantoj, nerekta bildigo, Klaraj metodoj *( ) kaj Kopiu*().

En libvkd3d-shader, la traduko de bajtkodo de ombraj modeloj 4 kaj 5 en mezan SPIR-V-reprezentantaron estas efektivigita. Vertico, pikselo, teselacio, komputado kaj simplaj geometriaj ombriloj, radiksignatura seriigo kaj deserialigo estas subtenataj. Shader-instrukcioj inkluzivas aritmetikajn, atomajn kaj bitajn operaciojn, komparajn kaj datumfluajn kontrolfunkciigistojn, specimenon, kunvenigi kaj ŝarĝi instrukciojn, neordigitajn aliroperaciojn (UAV, Unordered Access View).

Inter la plej signifaj novigoj en Vkd3d 1.3 estas:

  • Aldonita komenca subteno por kompilado kaj antaŭprilaborado de nuanciloj en HLSL (High-Level Shader Language), provizita ekde DirectX 9.0.
  • Aldonita subteno por tabeloj de priskribiloj difinitaj en la 5.1 ombra modelo.
  • Provizas subtenon por duoble-precizecaj glitkomaj operacioj en ombriloj, nerekta traktado por teselaciaj ombriloj, eksportado de ŝablonoj de ombriloj, "preciza" ombrilo modifilo, kaj tutmondaj baroj al memorresursoj.
  • La kapablo malmunti Direct3D-ombrilojn de bajtkodo en kunigreprezentadon estis efektivigita.
  • Aldonita subteno por analizado de la malnova Direct3D-bajtkoda formato uzata en Direct3D 1, 2 kaj 3-ombrilaj modeloj.
  • libvkd3d aldonas funkciojn de Direct3D 12 kiel radiksignaturoj, neorda vido-nombriloj, logikaj kunfandaj operatoroj por eligo kaj mirror_once tekstura adresmaniero. Aldonita vkd3d_host_time_domain_info strukturo.

fonto: opennet.ru

Aldoni komenton