I-Khronos consortium, ephuhlisa imigangatho yemizobo,
Siseko
-
Ziswe kuwe ukuphunyezwa kolwimi lwenkqubo ye-shader de ilungele ukusetyenziswa ngokubanziHLSL , iphuhliswe nguMicrosoft ukwenzela iDirectX. Inkxaso ye-HLSL kwi-Vulkan yenza kube lula ukusebenzisa i-shaders ye-HLSL efanayo kwizicelo ezisekelwe kwi-Vulkan kunye ne-DirectX, kwaye yenza lula ukuguqulela ukusuka kwi-HLSL ukuya kwi-SPIR-V. Ukuqokelela i-shaders, kucetyiswa ukuba kusetyenziswe umqambi oqhelekileyo
DXC , eyavulwa yiMicrosoft kwi-2017 kwaye isekelwe kwi-teknoloji ye-LLVM. Inkxaso yeVulkan iphunyezwa nge-backend eyahlukileyo, ekuvumela ukuba uguqulele i-HLSL ibe ngumboniso ophakathi we-SPIR-V shaders. Ukuphunyezwa akuquki kuphela zonke izakhono ezakhelwe ngaphakathi
I-HLSL, kubandakanywa iintlobo zemathematika, ukuhamba kokulawula, imisebenzi, iiseti, iintlobo zemithombo, izithuba zamagama, i-Shader Model 6.2, izakhiwo kunye neendlela, kodwa ivumela ukusetyenziswa kwezandiso ezithile ze-Vulkan ezifana ne-VKRay evela kwi-NVIDIA. Kwimodi ye-HLSL phezulu kweVulkan, kwakunokwenzeka ukulungelelanisa umsebenzi wemidlalo efana ne-Destiny 2, i-Red Dead Redemption II, i-Assassin's Creed Odyssey kunye neTomb Raider. - Iinkcukacha zihlaziyiwe
I-SPIR-V 1.5 , echaza ukumelwa okuphakathi kwee-shaders ezifumaneka jikelele kuwo onke amaqonga kwaye zingasetyenziselwa zombini iigraphics kunye ne-parallel computing.
I-SPIR-V ibandakanya ukwahlula isigaba sokuqulunqa i-shader esahlukileyo sibe sisimeli esiphakathi, esikuvumela ukuba wenze ii-frontends zeelwimi ezahlukeneyo ezikumgangatho ophezulu. Ngokusekelwe kwiinkqubo ezahlukeneyo zokuphunyezwa kwezinga eliphezulu, ikhowudi enye ephakathi yenziwe ngokwahlukileyo, engasetyenziswa ngabaqhubi be-OpenGL, Vulkan kunye ne-OpenCL ngaphandle kokusebenzisa i-compiler ye-shader eyakhelwe ngaphakathi. - I-API ye-Vulkan engundoqo ibandakanya izandiso ze-23 ezonyusa ukusebenza, ukuphucula umgangatho wokunikezela, kunye nokwenza lula uphuhliso. Phakathi kwezongezo ezongeziweyo:
-
I-chronological semaphores (Semaphore yomgca wexesha), ukudibanisa ungqamaniso kunye nenginginya kunye nemigca yesixhobo (ikuvumela ukuba usebenzise enye yamandulo yongqamaniso lwe-omnidirectional phakathi kwesixhobo kunye nomamkeli, ngaphandle kokusebenzisa okwahlukileyo kweVkFence kunye neVkSemaphore primitives). I-semiphores entsha imelwe yi-monotonically yokwandisa ixabiso le-64-bit elinokuthi lilandelelwe kwaye lihlaziywe kwimisonto emininzi.
- Ukukwazi ukusebenzisa iindidi zamanani ngokuchaneka okuncitshisiweyo kwi-shaders;
- I-HLSL ehambelanayo noyilo loyilo lwenkumbulo;
- Izibonelelo ezingabonakaliyo (ezingenazibophelelo), ezisusa umda kwinani lezixhobo ezikhoyo kwi-shaders ngokusebenzisa indawo ekwabelwana ngayo yememori yenkqubo kunye nememori ye-GPU;
-
Imodeli yememori esesikweni , echaza ukuba imisonto ehambelanayo inokufikelela njani kwidatha ekwabelwana ngayo kunye nemisebenzi yongqamaniso; -
Isalathiso sesichazi ukusebenzisa kwakhona izichazi zoyilo kuzo zonke izithunzela ezininzi; - Amakhonkco e-Buffer.
Uluhlu olupheleleyo lwezongezo ezongeziweyo:
-
VK_KHR_8bit_ugcino -
VK_KHR_buffer_device_address -
VK_KHR_dala_renderpass2 -
VK_KHR_inzulu_stencil_sombulula -
I-VK_KHR_zoba_engathanga ngqo_ukubala -
VK_KHR_iipropati_zomqhubi -
VK_KHR_image_format_list -
VK_KHR_ukungenasiphelo_framebuffer -
VK_KHR_sampler_mirror_clamp_to_edge -
VK_KHR_ezahlukeneyo_bunzulu_istencil_layouts -
VK_KHR_shader_atomic_int64 -
VK_KHR_shader_float16_int8 -
VK_KHR_shader_float_controls -
VK_KHR_shader_subgroup_extended_intlobo -
VK_KHR_spirv_1_4 -
VK_KHR_isikhokelo_semaphore -
VK_KHR_uniform_buffer_standard_layout -
VK_KHR_vulkan_memory_model -
VK_EXT_descriptor_indexing -
VK_EXT_host_query_reset -
VK_EXT_sampler_filter_minmax -
VK_EXT_scalar_block_layout -
VK_EXT_eyahlukileyo_ukusetyenziswa_kwestencil -
VK_EXT_shader_viewport_index_layer
-
-
Yongeziwe ngaphezu kwama-50 amatsha kunye nemisebenzi eli-13; - Iinguqulelo ezimfutshane zenkcazo zilungiselelwe amaqonga ekujoliswe kuwo, ukwenza lula umsebenzi kumaqonga apho zonke izandiso zingekaxhaswa, kwaye zivumela umntu ukuba enze ngaphandle kokwenza kusebenze okukhethiweyo kwezakhono ezisisiseko zeVulkan API.
- Umsebenzi uyaqhubeka kwiprojekthi ukuqinisekisa ukuphatheka kunye nezinye ii-APIs zemizobo. Umzekelo, iVulkan ibonelela ngezongezo ezivumela uguqulelo lwe-OpenGL (
Zink , OpenCL (clspv ,clvk ), i-OpenGL ES (iGLOVE, iAngle) kunye neDirectX (I-DXVK ,vkd3d ) ngeVulkan API, kwaye ngokunjalo, ngokuchaseneyo, ukwenza iVulkan isebenze kumaqonga ngaphandle kwenkxaso yayo yemveli (gfx-rs ΠΈUmlotha ukusebenza ngaphezulu kwe-OpenGL kunye neDirectX,UkunyibilikisaVK kunye ne-gfx-rs yokusebenza ngaphezulu kweNsimbi).
Izandiso ezongeziweyo zokuphucula ukuhambelana neDirectX kunye neHLSL
VK_KHR_host_query_reset, VK_KHR_uniform_buffer_standard_layout, VK_EXT_scalar_block_layout, VK_KHR_separate_stencil_usage, VK_KHR_ezahlukeneyo_depth_stencil_layouts, kunye neSPIR-V isebenzisa ubuchule obuthile beHLSL.
Izicwangciso zexesha elizayo zibandakanya ukuphuhliswa kwezandiso zokufunda koomatshini, ukulandelwa kwe-ray, i-encoding yevidiyo kunye ne-decoding, inkxaso ye-VRS (i-variable-rate shading) kunye ne-Mesh shaders.
Khumbula ukuba iVulkan API
I-Vulkan idibanisa onke amaqonga akhoyo kwaye ibonelela nge-API enye ye-desktop, iselula, kunye newebhu, ivumela i-API enye eqhelekileyo ukuba isetyenziswe kwii-GPU ezininzi kunye nezicelo. Enkosi kuyilo lwe-Vulkan olunemigangatho emininzi, okuthetha ukuba izixhobo ezisebenza nayo nayiphi na i-GPU, ii-OEMs zinokusebenzisa izixhobo ezikumgangatho weshishini lokuphononongwa kwekhowudi, ukulungisa iimpazamo, kunye nokubhala ingxelo ngexesha lophuhliso. Ukwenza i-shaders, ukumelwa okuphakathi okuphathekayo okuphathekayo, i-SPIR-V, kucetywayo, ngokusekelwe kwi-LLVM kunye nokwabelana ngobuchwepheshe obuphambili kunye ne-OpenCL. Ukulawula izixhobo kunye nezikrini, i-Vulkan inikezela nge-WSI (i-Window System Integration) ujongano, olusombulula malunga neengxaki ezifanayo njenge-EGL kwi-OpenGL ES. Inkxaso ye-WSI ifumaneka ngaphandle kwebhokisi e-Wayland - zonke izicelo ezisebenzisa i-Vulkan zinokusebenza kwindawo yeeseva ze-Wayland ezingalungiswanga. Ukukwazi ukusebenza nge-WSI kukwabonelelwe nge-Android, i-X11 (kunye ne-DRI3), i-Windows, i-Tizen, i-macOS kunye ne-iOS.
umthombo: opennet.ru