Projekt Wine avaldas Vkd3d 1.16 Direct3D 12 rakendamisega.

Wine projekt avaldas vkd3d 1.16 versiooni, milles on implementeeritud Direct3D 12, mis töötab kutsete ülekandmise kaudu Vulkan graafikatehnoloogiasse. Pakett sisaldab libvkd3d teeke Direct3D 12 implementeerimisega, libvkd3d-shader 4. ja 5. mudeli shaderite tõlkijaga, ning libvkd3d-utils funktsioonidega Direct3D 12 rakenduste portimise lihtsustamiseks, samuti hulga demo näiteid, sealhulgas glxgears porti Direct3D 12. Projekti kood on litsenseeritud LGPLv2.1 alusel.

libvkd3d raamatukogu toetab enamikku Direct3D 12 omadustest, sealhulgas grafika- ja arvutusvahendite, järjekordade ja käsuliinide, deskriptsioonide ja paki deskriptsioonide, juure allkirjade, järjestamatute ligipääsude, samplerite, käsitsi allkirjade, juure konstandi, kaudse (indirect) joonistamise, Clear*() ja Copy*() meetodite rakendamist. libvkd3d-shader'is on rakendatud shaderi mudelite bytecode tõlkimine vahepealsesse SPIR-V vormingusse. Toetatakse tipp-, piksel-, tesselleerimise, arvutus- ja lihtsaid geomeetrilisi shaidereid, samuti juure allkirjade serialiseerimist ja deserialiseerimist. Shaderi instruktsioonide hulka kuuluvad aritmeetilised, aatomilised ja bitilised operatsioonid, võrdlus- ja andmevoo juhtimise operaatorid, sample, gather ja load instruktsioonid, samuti järjestamata ligipääsu operatsioonid (UAV, Unordered Access View).

Uues versioonis:

  • DXIL (DirectX Intermediate Language) shaderite tugi on stabiliseeritud ja sisse lülitatud vaikevalikuna.
  • HLSL shaderite keele kompilaatorisse on lisatud algeline tugi geomeetrilistele shaderitele. Shaderite mudelites 1, 2, 3 on implementeeritud kaudse aadressimise, moodulite ja väärtuste piirmudelite tugi.
  • Teek libvkd3d teatab shaderi mudeli 6.0 toest. ID3D12Device1 liidesesse on lisatud meetod SetEventOnMultipleFenceCompletion(). Lisatud on Vulkan laienemise VK_KHR_zero_initialize_workgroup_memory tugi, et algväärtustada shaderite mälu nullidega. Kohustuslikuks on lisatud Vulkan laienemine VK_KHR_maintenance2, nagu on sätestatud Vulkan 1.1 spetsifikatsioonis.
  • SPIR-V shaderite ja „fx_2_0“ binaarse efekti dekompileerimise tugi on lisatud.
  • GLSL (OpenGL Shading Language) on lisatud eksperimentaalne tugi kaudse aadressimise jaoks püsivates mälupuhvrides.
  • Apple'i Metal graafikatehnoloogias kasutatava MSL (Metal Shading Language) shaderi keele teostusse on lisatud tekstuuride laadimise võimalus.
  • HLSL sisseehitatud funktsioonide tugi on lisatud: AllMemoryBarrier(), AllMemoryBarrierWithGroupSync(), DeviceMemoryBarrier(), DeviceMemoryBarrierWithGroupSync(), GroupMemoryBarrier() ja GroupMemoryBarrierWithGroupSync().
  • Teostatud 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 veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster