Mae'r prosiect Gwin wedi cyhoeddi rhyddhau'r pecyn vkd3d 1.7 gyda gweithrediad Direct3D 12 sy'n gweithio trwy ddarlledu galwadau i API graffeg Vulkan. Mae'r pecyn yn cynnwys llyfrgelloedd libvkd3d gyda gweithrediadau Direct3D 12, libvkd3d-shader gyda chyfieithydd o fodelau shader 4 a 5 a libvkd3d-utils gyda swyddogaethau ar gyfer symleiddio porthi cymwysiadau Direct3D 12, yn ogystal â set o enghreifftiau demo, gan gynnwys porthladd o glxgears i Direct3D 12. Mae cod y prosiect wedi'i drwyddedu o dan LGPLv2.1.
Mae'r llyfrgell libvkd3d yn cefnogi'r rhan fwyaf o nodweddion Direct3D 12, gan gynnwys cyfleusterau graffeg a chyfrifiadura, ciwiau a rhestrau gorchymyn, dolenni a dolenni pentwr, llofnodion gwraidd, mynediad y tu allan i drefn, Samplwyr, llofnodion gorchymyn, cysonion gwraidd, rendro anuniongyrchol, Dulliau clir *( ) a Copi*(). Yn libvkd3d-shader, gweithredir trosi bytecode o fodelau shader 4 a 5 yn gynrychiolaeth ganolraddol SPIR-V. Yn cefnogi vertex, picsel, brithwaith, arlliwwyr geometreg cyfrifo a syml, cyfresoli llofnod gwraidd a dad-gyfeiriad. Mae cyfarwyddiadau Shader yn cynnwys gweithrediadau rhifyddol, atomig a didau, gweithredwyr rheoli llif data a chymharu, cyfarwyddiadau samplu, casglu a llwytho, gweithrediadau mynediad heb eu trefnu (UAV, UnOrdered Access View).
Yn y fersiwn newydd:
- Mae'r gwaith ar wella'r crynhoydd cysgodi HLSL (Iaith Cysgodi Lefel Uchel) wedi parhau:
- Ychwanegwyd y gallu i alw ffwythiannau a ddiffiniwyd gan y defnyddiwr a defnyddio araeau fel paramedrau ffwythiannau a ddiffiniwyd gan y defnyddiwr.
- Ychwanegwyd cefnogaeth ar gyfer y paramedrau SV_DispatchThreadID, SV_GroupID, ac SV_GroupThreadID.
- Ychwanegwyd ffwythiannau adeiledig all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), transpose().
- Ychwanegwyd cefnogaeth gychwynnol ar gyfer mathau o bwynt arnofiol manwl gywirdeb isel fel "min16float".
- Cefnogaeth wedi'i gwella'n sylweddol ar gyfer proffiliau model cysgodi Direct3D 1/2/3.
- Ychwanegwyd API cyhoeddus ar gyfer dadansoddi (vkd3d_shader_parse_dxbc) a chyfresoli (vkd3d_shader_serialize_dxbc) data deuaidd DXBC.
Ffynhonnell: opennet.ru
