La projekto Wine publikigis Vkd3d 1.4 kun Direct3D 12 efektivigo

La projekto Wine publikigis la liberigon de la pako vkd3d 1.4 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, 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. 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, Neordered Access View).

En la nova versio:

  • Multaj plibonigoj estis faritaj al la HLSL (High-Level Shader Language) ombra kompililo disponigita ekde DirectX 9.0.
  • Nova efektivigo de la Descriptor Heap estis proponita, uzante la Vulkan-etendaĵon VK_EXT_descriptor_indexing.
  • Aldonita nova barilo efektivigo bazita sur la Vulkan etendo K_KHR_timeline_semaphore.

fonto: opennet.ru

Aldoni komenton