i-vkd3d 1.2 iza nokuthuthuka kokuhambisana, ukufiphaza nokuningi

Le phrojekthi Iwayini likhiphe uhlobo olusha lwephakethe le-vkd3d 1.2 con ukuqaliswa kwe-Direct3D 12 esebenza ngokuhumushela izingcingo ku-Vulkan graph API.

Le nguqulo entsha ye-vkd3d 1.2 iqukethe ukuthuthuka okuhlukahlukene, kepha kokuphambili okuvelele yi ukutholakala kwe-libvkd3d-shader njengomtapo wolwazi womphakathi, the shader ukwesekwa i-tessellation, kanye nokusekelwa kokukhipha kokugeleza.

Iphakhejifuthi ifaka imitapo yolwazi ye-libvkd3d ngokuqalwa kwe-Direct3D 12, libvkd3d-shader nge-model 4 ne-5 shader translator kanye ne-libvkd3d-utils enemisebenzi yokwenza lula ukufuduka kwezicelo ze-Direct3D 12, kanye neqoqo lamademo, kufaka phakathi i-glxgears port eya ku-Direct3D 12. Ikhodi yephrojekthi isatshalaliswa ilayisensi ngaphansi kwe-LGPLv2.1.

Umtapo Wezincwadi libvkd3d isekela iningi lezici ze-Direct3D 12, kufaka phakathi imisebenzi yehluzo neyekhompiyutha, uhlu lwemiyalo nolayini, izincazelo zenqwaba nezincazelo, amasiginesha ezimpande, ukufinyelela okunganqunyelwe, amasampuli, amasiginesha wemiyalo, izixazululo zezimpande, ukumelwa okungaqondile, njalonjalo.

I-Libvkd3d-shader isebenzisa ukuhunyushwa kwekhodi ye-byte 4 no-5 yamaphethini wokufiphaza ekumelelekeni okuphakathi kwe-SPIR-V. Ama-verices, amaphikseli, i-tessellation, i-computational kanye ne-geometry shader elula, i-serialization yesiginesha yezimpande, kanye nokwenziwa kwe-desificationization kuyasekelwa.

Imiyalo ye-shader ifaka ukusebenza kwe-arithmetic, i-atomic kanye ne-bitwise, ukulawulwa kokugeleza kwedatha nokuqhathanisa opharetha, izibonelo zalokho, ukuqoqa nokulayisha imiyalo, imisebenzi yokufinyelela engaxhunywanga (i-UAV, ukubuka okungenamkhawulo kokufinyelela).

Kulesi sigaba samanje sentuthuko, akuzona zonke izingcingo eziya ku-Direct3D 12 ezisetshenziswayo futhi izivivinyo zenziwa ikakhulukazi kusethi yezicelo zedemo. Ukukhishwa akubandakanyi izici entuthukweni njengokusekelwa kwama-shader anzima we-geometry kanye ne-tessellation, kanye nezithuthukisi eziningi ezihlobene nezindlela eziyisisekelo ze-Direct3D 12. Lezi zici zizonikezwa ekukhishweni okuzayo.

Izici ezintsha eziyinhloko zeVkd3d 1.2

Ezingxenyeni ezibaluleke kakhulu ezethulwe kunguqulo entsha, i- ukutholakala kwelabhulali ye-libvkd3d-shader ukusetshenziswa kumaphrojekthi wezinkampani zangaphandle, kusukela Kwengezwe imisebenzi ehlukahlukene ye-Direct3D 12, efana:

  • Isampuli eziningi.
  • Izinsizakusebenza ezibekiwe.
  • Amanani wokudlula kwedatha yesimo.
  • "Idatha eyimfihlo" i-API yazo zonke izixhumi ezibonakalayo.
  • Ukulungiswa kwemithombo yesizinda se-Shader.
  • VK_KHR_draw_indirect_count extension.
  • Isibikezelo / ukumelwa okunemibandela.
  • Ukunikezwa kokujula ngaphandle kwe-pixel shader.
  • Ukusika okujulile. Lokhu kudinga i-VK_EXT_depth_clip_enable extension.
  • Lahla i-rasterizer.
  • Ukuhlanganiswa kwemithombo emibili.
  • Ukwenza imephu kwezinsizakusebenza ezibekiwe.
  • Izindlela ze-ReadFromSubresource () ne-WritToSubresource () ID3D12Resource.
  • Ukufinyelela ngasikhathi sinye kuzinsizakusebenza zolayini abaningi.
  • Ukubuka okungenamqondo. Lokho, ukubuka ngaphandle kwesisetshenziswa esingaphansi.
  • Imibuzo eminingi yokuxhaswa kwesici.

Ngaphezu kwalokhu, Kungezwe ukusekelwa kokuguqula amasiginesha, ukwenza i-serialing nokwenza i-deserializing impande (vkd3d_serialize_versioned_root_signature () kanye ne-vkd3d_create_versioned_root_signature_deserializer (), kanye nokusekelwa kokukhipha okusakazwayo.

Olunye ushintsho olugqamile yi Ukusetshenziswa okuguqukayo kwemvelo: I-VKD3D_CONFIG ukusetha izinketho zokushintsha ukusebenza kwe-libvkd3d ne-VKD3D_VULKAN_DEVICE ukubhala ngaphezulu idivayisi ye-Vulkan API.

Ngaphandle kwalokho kungezwe ukusekelwa kwemiyalo yokufiphaza i-bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos kanye nokwesekwa kokuqala kwemodeli shader.

Futhi nokusekelwa kwezindawo ezibhekiswe ku-OpenGL SPIR-V. Lokhu kuvumela i-SPIR-V ekhiqizwe yi-libvkd3d-shader ukuthi isetshenziswe ne-GL_ARB_gl_spirv. Lokhu kufaka ukusekelwa kwamabala wokubala we-OpenGL kanye namasampuli ahlanganisiwe.

Okokugcina uma ufuna ukwazi kabanzi ngayo mayelana nale nguqulo entsha, ungabheka uhlu oluphelele lwezinguquko Kulesi sixhumanisi esilandelayo.

Ungayifaka kanjani i-vkd3d ku-Linux?

Kulabo abanentshisekelo yokukwazi ukufaka i-vkd3d kusistimu yabo, kufanele bathole ikhodi yomthombo bese beqhubeka nokuhlanganiswa, yize kungenxa yezinjongo ezisebenzayo noma zalabo abasha, bangazama lo mtapo wolwazi ngaphandle komzamo omkhulu. Ngalokhu, kufanele bafake i-lutris kuphela nangaphakathi kokucushwa kwayo.

Ngokuqondene nalabo abanentshisekelo yokuhlanganiswa, kufanele bathole ikhodi nge:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

Ekugcineni, izendlalelo zeVulkan kumele zinikwe amandla:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.