Wine projekt avaldas vkd3d paketi vÀljaande 1.17, mis implementeerib Direct3D 12, töötades lÀbi kutsete tÔlke Vulkani graafikatehnoloogiasse. Paketis on libvkd3d raamatukogud Direct3D 12 teostuse jaoks, libvkd3d-shader, mis sisaldab 4. ja 5. mudeli shaderite tÔlki ning libvkd3d-utils, mis sisaldab funktsioone Direct3D 12 rakenduste portimise lihtsustamiseks, samuti komplekt demonstreerivaid nÀiteid, sealhulgas glxgears porti Direct3D 12 jaoks. Projekti kood on litsentseeritud 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:
- HLSL shaderikeeles on lisatud algne tugi rĂŒhmade jagatud mĂ€lule, geomeetriliste shaderite toe ulatus on laienenud ning StructuredBufferi ressursside jaoks on lisatud parser.
- MSL (Metal Shading Language) shaderikeele implementatsiooni arendamine on jĂ€tkunud, mida kasutab Apple oma Metal graafikatehnoloogias. NĂ€iteks on MSL-is lisatud tsĂŒklite tugi, pidevate mĂ€lubufferite kaudne aadresseerimine, tekstuuride proovivĂ”tt ning erinevad tĂ€isarvuaritmet ja vĂ”rdlemise toimingud.
- Libvkd3d raamatukogus on ID3D12Device5 liidese teostusse lisatud meetod EnumerateMetaCommands().
- Uus shaderitĂŒĂŒp "tx" (VKD3D_SHADER_SOURCE_TX) on lisatud, mida kasutatakse tekstuuride töötlemise shaderite laadimiseks.
Allikas: opennet.ru
