Às deidh bliadhna gu leth de leasachadh, agusdh’ainmich am pròiseact fìon aige foillseachadh an tionndadh ùr den phacaid «vkd3d 1.3 ″ le buileachadh Direct3D 12 a bhios ag obair tro eadar-theangachadh fiosan gu API grafaigean Vulkan.
Tha grunn leasachaidhean anns an dreach seo agus anns an dreach ùr seo is e na prìomh thachartasan an taic togail HLS tùsailL, a bharrachd air an Taic sreath tuairisgeul Shader Model 5.1, taic airson sgàilearan Direct3D a thoirt air falbh, agus barrachd.
Dhaibhsan nach eil eòlach air a’ phacaid, bu chòir fios a bhith aca air sin a’ toirt a-steach leabharlannan libvkd3d le buileachadh Direct3D 12, libvkd3d-shader le eadar-theangair shader modail 4 agus 5 agus libvkd3d-utils le gnìomhan gus imrich thagraidhean Direct3D 12 a dhèanamh nas sìmplidhe, a bharrachd air seata de demos, a ’toirt a-steach port glxgears gu Direct3D 12. Tha còd a’ phròiseict air a chuairteachadh fo cheadachas fo LGPLv2.1.
Leabharlann tha libvkd3d a ’toirt taic don mhòr-chuid de na feartan Direct3D 12, a’ gabhail a-steach gnìomhan grafa is coimpiutaireachd, liostaichean àithne agus ciudhaichean, tuairisgeulan agus tuairisgeulan tiùrr, ainmean-sgrìobhte freumha, ruigsinneachd gun òrdugh, samplairean, ainmean-sgrìobhte, bun-stèidh, riochdachadh progsaidh, msaa.
libvkd3d-sgàilean a ’buileachadh eadar-theangachadh còd byte 4 agus 5 de na modailean dubhar ann an riochdachadh eadar-mheadhanach SPIR-V. Thathas a’ toirt taic do vertices, piogsail, tessellation, shaders geoimeatraidh àireamhachd agus sìmplidh, sreathachadh ainm-sgrìobhte freumha, agus dì-shreathachadh.
Tha stiùireadh an shader a ’toirt a-steach obrachaidhean àireamhachd, atamach agus bitwise, smachd air sruthadh dàta agus luchd-coimeas, stiùireadh samplachadh, cruinneachadh agus luchdachadh, obair ruigsinneachd gun òrdugh (UAV, Sealladh ruigsinneachd gun òrdugh).
Aig an ìre leasachaidh làithreach, chan eil a h-uile gairm gu Direct3D 12 air a bhuileachadh agus chaidh na deuchainnean a dhèanamh sa mhòr-chuid air seata de thagraidhean demo.
Prìomh fheartan ùra de Vkd3d 1.3
Anns an dreach ùr seo de vkd3d 1.3 a tha air a thaisbeanadh, thathas a’ comharrachadh sin taic tùsail a bharrachd airson a bhith a’ cur ri chèile agus a’ toirt seachad sgàilearan ann an HLSL (cànan sgàile àrd-ìre), a tha air a thoirt seachad bho DirectX 9.0.
Is e fear eile de na h-atharrachaidhean a tha a ’seasamh a-mach san dreach ùr seo an taic airson gnìomhachd puing-fleòdraidh dùbailte mionaideachd ann an shaders, a bharrachd air indirection airson tessellation shaders, às-mhalairt teamplaid bho shaders, an "mionaideach" shader modifier, agus cruinneil bacaidhean airson in-cuimhne goireasan.
Faodaidh sinn cuideachd faighinn a-mach gu bheil an comas air shaders Direct3D a thoirt às a’ chòd de bytes gu riochdachadh cruinneachaidh, a bharrachd air taic a bharrachd airson a bhith a’ parsadh an t-seann chruth bytecode Direct3D a chaidh a chleachdadh ann am modalan Direct3D 1, 2, agus 3 shader.
chuir libvkd3d feartan Direct3D 12 ris, leithid ainmean freumha, cunntairean sgrùdaidh gun òrdachadh, booleans aonadh toraidh, modh seòlaidh inneach mirror_once, agus structar vkd3d_host_time_domain_info air a chur ris.
De na h-atharrachaidhean eile tha sin a ’seasamh a-mach bhon dreach ùr seo:
- vkd3d_shader_preprocess_info a’ leudachadh structar vkd3d_shader_compile_info, agus faodar a chleachdadh gus paramadairean ro-phròiseas a shònrachadh leithid mìneachadh macro preprocessor.
- Tha vkd3d_shader_hlsl_source_info a’ leudachadh structar vkd3d_shader_compile_info, agus faodar a chleachdadh gus HLSL a shònrachadh agus paramadairean a thogail leithid pròifil targaid agus àite inntrigidh.
- Ceangail modalan Direct3D 12 agus Vulkan
- Faodar VKD3D_SHADER_COMPILE_OPTION_API_VERSION a chleachdadh gus an tionndadh API libvkd3d-shader air a bheil an aplacaid ag amas a shònrachadh. Mur eil e air a shònrachadh, thèid VKD3D_SHADER_API_VERSION_1_2 a chleachdadh.
- Bidh vkd3d-compiler gu bunaiteach airson toradh dath mas urrainn dha dearbhadh gu bheil an
tha an toradh na chlò-bhualadair dath-chomasach. - Taic a bharrachd airson arrays tuairisgeul air am mìneachadh ann am Modail Shader 5.1.
Mu dheireadh ma tha thu airson tuilleadh fhaighinn a-mach mu dheidhinn mun dreach ùr seo, faodaidh tu sùil a thoirt air liosta iomlan nan atharrachaidhean Anns a ’cheangal a leanas.
Mar a stàlaicheas tu vkd3d air Linux?
Dhaibhsan aig a bheil ùidh ann a bhith comasach air vkd3d a stàladh air an t-siostam aca, bu chòir dhaibh an còd stòr fhaighinn agus a dhol air adhart leis a ’chruinneachadh, ged airson adhbharan practaigeach no airson na newbies sin, faodaidh iad an leabharlann seo fheuchainn gun mòran oidhirp. Airson seo, chan fheum iad ach lutris a stàladh agus taobh a-staigh na rèiteachaidhean aige.
Dhaibhsan aig a bheil ùidh ann an cur ri chèile, feumaidh iad an còd fhaighinn le:
git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"
Mu dheireadh, feumar na sreathan Vulkan a chomasachadh:
export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug
Bi a 'chiad fhear a thog beachd