La projekto Wine publikigis Vkd3d 1.7 kun Direct3D 12 efektivigo

La projekto Wine publikigis la liberigon de la pako vkd3d 1.7 kun efektivigo de Direct3D 12, kiu funkcias per elsendaj 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 komputikaj instalaĵoj, vostoj kaj komandlistoj, teniloj kaj amaso-teniloj, radikaj subskriboj, 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. Elportas verticajn, pikselojn, teselacion, komputadon kaj simplajn geometriajn nuancilojn, radiksignaturan seriigon kaj deseriigon. Shader-instrukcioj inkluzivas aritmetikajn, atomajn kaj bitajn operaciojn, komparajn kaj datumfluajn kontrolfunkciigistojn, specimenon, kunvenigi kaj ŝarĝi instrukciojn, neordigitajn aliroperaciojn (UAV, Unordered Access View).

En la nova versio:

  • Laboro daŭre plibonigis la ombradan kompililon en HLSL (High-Level Shader Language):
    • Aldonis la kapablon voki kutimajn funkciojn kaj uzi tabelojn kiel parametrojn al kutimaj funkcioj.
    • Aldonita subteno por SV_DispatchThreadID, SV_GroupID kaj SV_GroupThreadID parametroj.
    • Aldonitaj enkonstruitaj funkcioj all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt () , paŝo (), transponu ().
    • Aldonita komenca subteno por malalta precizeca glitkoma tipoj kiel ekzemple "min16float".
  • Signife plibonigita subteno por Direct3D 1/2/3 shader modelprofiloj.
  • Aldonita publika API por analizado (vkd3d_shader_parse_dxbc) kaj seriigo (vkd3d_shader_serialize_dxbc) de DXBC binaraj datumoj.

fonto: opennet.ru

Aldoni komenton