Pròiseact fìon air fhoillseachadh Vkd3d 1.7 le gnìomhachadh Direct3D 12

Tha am pròiseact Fìon air foillseachadh a’ phacaid vkd3d 1.7 le buileachadh Direct3D 12 a bhios ag obair tro chraoladh fiosan gu API grafaigean Vulkan. Tha am pasgan a’ toirt a-steach leabharlannan libvkd3d le buileachadh Direct3D 12, libvkd3d-shader le eadar-theangair de mhodalan shader 4 agus 5 agus libvkd3d-utils le gnìomhan airson gluasad thagraidhean Direct3D 12 a dhèanamh nas sìmplidhe, a bharrachd air seata de eisimpleirean demo, a’ toirt a-steach port de glxgears gu Direct3D 12. Tha còd a 'phròiseict air a sgaoileadh le cead fo LGPLv2.1.

Tha an leabharlann libvkd3d a’ toirt taic don mhòr-chuid de fheartan Direct3D 12, a’ toirt a-steach grafaigean agus goireasan coimpiutaireachd, ciudhaichean agus liostaichean àithne, làmhan agus làmhan tiùrr, ainmean freumha, ruigsinneachd taobh a-muigh òrdugh, Samplers, ainmean-sgrìobhte àithne, bun-stèidh, toirt seachad neo-dhìreach, modhan soilleir *( ) agus Dèan lethbhreac*(). Ann an libvkd3d-shader, tha eadar-theangachadh bytecode de mhodalan shader 4 agus 5 gu riochdachadh eadar-mheadhanach SPIR-V air a chuir an gnìomh. A’ toirt taic do vertex, piogsail, tessellation, sgàilearan geoimeatraidh coimpiutaireachd agus sìmplidh, sreathachadh ainm-sgrìobhte freumha agus dì-shreathachadh. Tha stiùireadh sgàile a’ toirt a-steach gnìomhachd àireamhachd, atamach agus bit, gnìomhaichean coimeas agus smachd sruthadh dàta, sampall, cruinneachadh agus luchdachadh stiùireadh, gnìomhachd ruigsinneachd gun òrdugh (UAV, Unordered Access View).

Anns an dreach ùr:

  • Lean obair air adhart gus an inneal-cruinneachaidh sgàile a leasachadh ann an HLSL (Cànan Àrd-ìre Shader):
    • Chuir sinn ris a’ chomas gnìomhan gnàthaichte a ghairm agus arrays a chleachdadh mar pharaimearan gu gnìomhan gnàthaichte.
    • Taic a bharrachd airson paramadairean SV_DispatchThreadID, SV_GroupID agus SV_GroupThreadID.
    • Gnìomhan togte air an cur ris uile (), astar (), exp (), exp2 (), frac (), lit (), meòrachadh (), sin (), cos (), smoothstep (), sqrt (), rsqrt (), ceum (), tar-chuir ().
    • Chaidh taic tùsail a chur ris airson seòrsachan puing fleòdraidh ìosal leithid “min16float”.
  • Taic air a leasachadh gu mòr airson pròifilean modail shader Direct3D 1/2/3.
  • Chaidh API poblach a chur ris airson parsadh (vkd3d_shader_parse_dxbc) agus sreathachadh (vkd3d_shader_serialize_dxbc) de dhàta binary DXBC.

Source: fosgailtenet.ru

Cuir beachd ann