Iphrojekthi Yewayini imemezele ezinsukwini ezimbalwa ezedlule i ukukhishwa kwenguqulo entsha yephakheji ye-vkd3d 1.11, inguqulo lapho ukuthuthukiswa kwethulwe khona ekusetshenzisweni kwezandiso ze-vulkan, kanye nokuthuthukiswa kosekelo, imisebenzi emisha nokuningi.
Kulabo abangazi nge-Vkd3d, kufanele wazi ukuthi leli yiphakheji inikeza ukusetshenziswa kwe-Direct3D 12 kusetshenziswa izingcingo eziya ku-API yezithombe ze-Vulkan futhi ifaka phakathi imitapo yolwazi eyinhloko. Umtapo wezincwadi we-libvkd3d uqukethe ukuqaliswa kwe-Direct3D 12, ehlanganisa inhlobonhlobo yemisebenzi efana nekhompyutha nemifanekiso, imigqa yemiyalo nezinhlu, izihlonzi, phakathi kokunye.
Umtapo wezincwadi we-libvkd3d-shader nawo unikiwe ehlinzeka ngomhumushi wamamodeli we-shader 4 kanye no-5 ekumeleleni okuphakathi kwe-SPIR-V. Lo mtapo wezincwadi usekela i-vertex, i-pixel, i-tessellation, i-computing, nama-shader we-geometry alula, kanye nokuhlelwa kwesignesha yezimpande kanye ne-deserialization.
Yini entsha ku-vkd3d 1.11?
I-Vkd3d 1.11 yethula i-a usekelo lokuqala lokuhlanganisa i-bytecode ye-Direct3D yefa ekumeleleni okuphakathi kwama-SPIR-V shader, kanye ne-sukwesekwa kokuqala nge-HLSL p compilerukuhlanganisa amaphrofayili wemiphumela.
Okunye ukuthuthukiswa okwethulwa kule nguqulo entsha yi- ukwesekwa kokuhlola kokuhlanganisa i-DXIL (Ulimi oluphakathi kwe-DirectX) esethulweni se-SPIR-V, sinikeza izinketho ezintsha zokuthuthukiswa kwezinhlelo zokusebenza ze-Direct3D. Lesi sici sidinga ukuhlanganiswa kwe-vkd3d ngenketho ethi 'preprocessor'-DVKD3D_SHADER_UNSUPPORTED_DXIL' futhi kuthathwa njengokuhlola.
Tambien ukusetshenziswa kwamaqembu namasethi ezichazi kuthuthukisiwe uma izandiso zitholakala VK_EXT_mutable_descriptor_type kanye ne-VK_EXT_shader_viewport_index_layer, ehlinzekwa ukuthuthukisa ukusebenza kahle kokusebenza nechibi lezichazi kanye nokusheshisa ukunikezwa kwe-tessellation ne-vertex shader arrays.
I-c isetshenzisiweUsekelo lwemibala yomngcele ojwayelekile, njengomnyama nomhlophe futhi indlela isiqalisiwe I-GetResourceAllocationInfo1() yesixhumi esibonakalayo se-ID3D12Device4, kanye nosekelo lwezixhumanisi ze-ID3D12Device7 kanye ne-ID3D12Resource2.
Imibuzo eminingi yesici esisha iyasekelwa, okuhlanganisa D3D12_FEATURE_D3D12_OPTIONS6 a D3D12_FEATURE_D3D12_OPTIONS13.
Kwenziwe izinketho ezintsha zokwakha: VKD3D_SHADER_COMPILE_OPTION_FEATURE lungasetshenziselwa
cacisa izici ezitholakala endaweni eqondiwe, ngenkathi VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64 ikhombisa ukuhambisana ne
izinhlobo ze-64-bit integer endaweni eqondiwe ye-SPIR kanye VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64 ikhombisa ukuhambisana ne
Izinhlobo zamaphoyinti angu-64-bit endaweni eqondiwe ye-SPIR-V.
Of ezinye izinguquko ezigqamile yale nguqulo entsha:
- Izibuyekezo zezichazi manje zenzeka ngendlela efanayo ochungechungeni lwesisebenzi sangaphakathi, okwenza ngcono ukusebenza ezinhlelweni ezibuyekeza izincazelo eziningi ngohlaka ngalunye.
- Izici ezintsha zengeziwe zohlobo oluqondiwe lwe-SPIR-V, okuhlanganisa ukusekelwa kokubuka okungaguquguquki kokufinyelela ngaphandle kwe-oda, izivimbi zokubuka eziphuma ngaphandle kwe-oda zeqembu, nokunye.
- I-ID3D12Device7 interface iyasekelwa.
- Inguqulo encane edingekayo ye-Vulkan-Headers yalokhu kukhishwa inguqulo
1.3.228. - Isixhumi esibonakalayo se-ID3D12Resource2 siyasekelwa.
- Imibuzo eminingi yesici esisha iyasekelwa:
– D3D12_FEATURE_D3D12_OPTIONS6
– D3D12_FEATURE_D3D12_OPTIONS7
– D3D12_FEATURE_D3D12_OPTIONS8
– D3D12_FEATURE_D3D12_OPTIONS9
– D3D12_FEATURE_D3D12_OPTIONS10
– D3D12_FEATURE_D3D12_OPTIONS11
– D3D12_FEATURE_D3D12_OPTIONS12
– D3D12_FEATURE_D3D12_OPTIONS13 - Imisebenzi yangaphakathi ethi acos(), asin(), atan() kanye ne-atan2() isivele isekelwe.
- Imephu yerejista esobala kusetshenziswa igama elingukhiye elithi 'register()'
- Ukuguqulwa kusuka ezinhlotsheni zezinombolo kuya endaweni entantayo kumaphrofayela wemodeli ye-shader 1-3.
Kulabo abathanda ukufunda kabanzi ngayo, kufanele wazi ukuthi ikhodi yephrojekthi isatshalaliswa ngaphansi kwe-LGPL 2.1 futhi ungabheka imininingwane yalokhu kukhishwa okusha. Kulesi sixhumanisi esilandelayo.
Indlela yokufaka i-vkd3d 1.11?
Ngokuba unentshisekelo yokukwazi ukufaka i-vkd3d Kumele bazi ukuthi kufanele bahlanganise ikhodi yomthombo, ngakho-ke kufanele siyithole kuqala, kubalulekile ukusho ukuthi i-Vkd3d incike ku-SPIRV-Headers kanye ne-Vulkan-Headers (>= 1.3.228).
Ukuhlanganiswa kulula futhi ukwenza lokhu kufanele sivule i-terminal lapho sizobhala khona umyalo olandelayo:
git clone https://gitlab.winehq.org/wine/vkd3d.git
Siqhubeka nokufaka ifolda lapho ilandwe khona nge:
cd vkd3d
Futhi siqhubeka nokuhlanganisa ngokwenza imiyalo elandelayo:
./configure make make install
Si ufuna ukwazi okwengeziwe mayelana nokuhlanganisa ye-vkd3d ungabheka imininingwane kuyo lesi sixhumanisi