Wine'i projekt avaldas Vkd3d 1.16 koos Direct3D 12 teostusega

Wine projekt avaldas vkd3d 1.16 paketi, mis sisaldab Direct3D 12 teostust, mis töötab графический API Vulkan kaudu. Pakett sisaldab raamatukogusid libvkd3d, kus on Direct3D 12 teostus, libvkd3d-shader shaderite versioonide 4 ja 5 tõlkijaga ning libvkd3d-utils, mille funktsioonid lihtsustavad Direct3D 12 rakenduste portimist. Samuti sisaldab see mitmeid näidisprojekte, sealhulgas glxgearsi porti Direct3D 12 jaoks. Projekti kood on litsentsitud LGPLv2.1 alusel.

libvkd3d teebibliotek toetab enamiku Direct3D 12 funktsionaalsust, sealhulgas graafika ja arvutuste tööriistu, järjekordi ja käskude loendeid, deskriptorid ja mälu deskriptorid, juurtesignatuure, järjekorralt ligipääsu, samplerid, käskude signatuurid, juurte konstandid, kaudset renderdamist, Clear*() ja Copy*() meetodeid. libvkd3d-shaderis on rakendatud shaderi mudelite bytecode tõlkimine vahevormiks SPIR-V. Toetatakse tipus, pikslites, tesselatsioonis, arvutustes ja lihtsates geomeetrilistes shaderites, juurtesignatuuri serialiseerimist ja deserialiseerimist. Shaderi käskudest on rakendatud aritmeetilised, aatomilised ja bitilised operatsioonid, võrdlus- ja voogude juhtimise operaatorid, sample, gather ja load käsud, järjekorralt ligipääsu operatsioonid (UAV, Unordered Access View).

Uues versioonis:

  • DXIL (DirectX Intermediate Language) shaderite tugi stabiliseeriti ja on vaikimisi aktiveeritud.
  • HLSL shaderikeele kompilaatorisse lisati algne tugi geomeetrilistele shaderitele. Shaderite mudelitele 1, 2, 3 on rakendatud kaudse aadressimise, moodulite ja väärtuste piirangute tugi.
  • Libvkd3d raamatukogus kuulutati välja shaderi mudeli 6.0 tugi. ID3D12Device1 liideses rakendati meetod SetEventOnMultipleFenceCompletion(). Lisati Vulkani laienduse VK_KHR_zero_initialize_workgroup_memory tugi, et initsialiseerida shaderite jaoks mälusid nullidega. Kohustuslikuks muutus Vulkani laiendus VK_KHR_maintenance2, mis on ette nähtud Vulkan 1.1 spetsifikatsioonis.
  • Lisatud tugi SPIR-V shaderite ja binaarsete efektide «fx_2_0» disassembli jaoks.
  • Eksperimenteerimiseks lisati tugi GLSL (OpenGL Shading Language) kaudsele aadressimisele.
  • MSL (Metal Shading Language) shaderikeele teostusse, mida kasutab Apple oma graafilises API-s Metal, lisati võimalus tekstuuride laadimiseks.
  • Lisatud tugi HLSL sisseehitatud funktsioonidele: AllMemoryBarrier(), AllMemoryBarrierWithGroupSync(), DeviceMemoryBarrier(), DeviceMemoryBarrierWithGroupSync(), GroupMemoryBarrier() ja GroupMemoryBarrierWithGroupSync().
  • Rakendatud on lipud VKD3D_SHADER_COMPILE_OPTION_FEATURE_ZERO_INITIALIZE_WORKGROUP_MEMORY, VKD3D_SHADER_COMPONENT_INT64, VKD3D_SHADER_COMPONENT_FLOAT16, VKD3D_SHADER_COMPONENT_UINT16, VKD3D_SHADER_COMPONENT_INT16, VKD3D_SHADER_RESOURCE_DATA_NONE ja VKD3D_SHADER_RESOURCE_DATA_UINT.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster