Avaldatud on Vulkan 1.4 graafiline standard

Peaaegu kolme aasta töötamise järel avaldas Khronose konsortsium, mis tegeleb graafikastandardite arendamisega, spetsifikatsiooni Vulkan 1.4, mis määratleb API GPU graafiliste ja arvutusvõimaluste kasutamiseks. Uus spetsifikatsioon hõlmab endas varasemalt valikulistena käsitletud laiendusi, samuti pakub see rida uusi võimalusi ja tõstab minimaalsete riistvaranõudmiste taset. Vulkan SDK tööriistakomplekti plaanitakse avaldada 2025. aasta jaanuaris.

Tooted, mis toetavad Vulkan 1.4, valmistavad välja ettevõtted AMD, Arm, Imagination, Intel, NVIDIA, Qualcomm ja Samsung. Avatud draiverid AMD GPU-de (radv), Apple M1/M2 (honeykrisp), Intel (anv), NVIDIA (nvk) ja Qualcomm (tu), mida arendab Mesa projekt, on juba läbinud kõik Vulkan 1.4 ühilduvuse testid CTS (Khronose Ühilduvuse Testide Komplekt) seeriast ja on kantud sertifitseeritud draiverite nimekirja. Nimekirja kuuluvad ka Samsungi ja Qualcommi draiverid Androidi platvormile ning Imagination Technologies PowerVR D-Series DXT* GPU-de draiverid ja NVIDIA omandiõigusega draiverid.

Peamised uuendused:

  • Lisatud on toetus 'Streaming Transfers' mehhanismile, mis on loodud suurtel andmehulkadel voogedastamiseks põhitegevuse (hosti) ja graafikaseadme vahel, lõpetamata samal ajal renderdamist ja aeglustamata selle töötlemise efektiivsust. Mehhanism on rakendatud uue laienduse VK_EXT_host_image_copy abil, mille toetus on valikuline.
  • Kohustuslikuks muudeti võimekused, mis on suunatud jõudluse parandamisele:
    • Push Descriptors — võimalus kirjutada deskriptorite uuendusi otse käskude pufferisse, luues eraldi deskriptorite komplekte ja sidumata neid käskude pufferiga.
    • VK_KHR_dynamic_rendering_local_read — võimaldab lugeda eelmisest fragmenti shaderist kirjutatud kaustades (attachments) ja ressurssidest dünaamiliste renderdamisprotsesside (render pass) käigus.
    • VK_EXT_scalar_block_layout — võimaldab kasutada C-sarnast struktuuri SPIR-V plokkide jaoks, kus saab joondada mitte-skalaarseid tüüpe nende komponentide suuruse alusel.
  • Komplekti on lisatud laiendused VK_KHR_maintenance5 ja VK_KHR_maintenance6, mis pakuvad abimiseks käske ja struktuure, et lihtsustada ressursside ja shaderite haldamist.
  • Tagatud on 8K (7680 x 4320 pikslit) eraldusvõime renderdamise tugi, kasutades kuni 8 sõltumatut renderdamisbuffrit.
  • Komplekti kuuluvad laiendused:
    • VK_KHR_global_priority
    • VK_KHR_index_type_uint8
    • VK_KHR_line_rasterization
    • VK_KHR_load_store_op_none
    • VK_KHR_map_memory2
    • VK_KHR_push_descriptor
    • VK_KHR_shader_expect_assume
    • VK_KHR_shader_float_controls2
    • VK_KHR_shader_subgroup_rotate
    • VK_KHR_vertex_attribute_divisor
    • VK_EXT_pipeline_protected_access
    • VK_EXT_pipeline_robustness
  • Palju varasemaid valikuvõimalusi on viidud kohustuslike hulka.
  • Lisatud on suur hulk uusi käske ja struktuure.

Vulkani API paistab silma draiverite kardinaalse lihtsustamise, GPU käskude genereerimise rakenduse poole viimise, silumiskihide ühendamise, API ühtlustamise erinevate platvormide jaoks ning ettekompileeritud vahepealse koodi rakendamise võimalusega GPU-l.

Vulcan tagab kõrge jõudluse ja ennustatavuse, pakkudes rakendustele vahendeid GPU tegevuste otseseks haldamiseks ja sisseehitatud tugi mitme lõimega GPU käsu töötlemiseks, minimeerides draiveri poolt tekitatavad kulud, samas kui draiveripoolsete võimaluste rakendamine muutub oluliselt lihtsamaks ja ennustatavamaks. Näiteks sellised toimingud nagu mäluhalduse ja veahaldus nagu OpenGL-is draiveri tasandil, on Vulkanis viidud rakenduse tasemele.

Vulkan katab kõik kättesaadavad platvormid ja pakub ühtset API-d lauaarvutile, mobiilsüsteemidele ja Web-ile, võimaldades kasutada ühte ühist API-d erinevate graafikakiipide ja rakendusvaldkondade jaoks. Vulkani mitmekihiline arhitektuur, mis hõlmab tööriistade loomist, mis töötavad erinevate GPU-dega, võimaldab riistvaratootjatel kasutada arendamisel standardseid tööriistu koodi kontrollimiseks, silumiseks ja profiliseerimiseks.

Shaderite loomis soovib kanda üle SPIR-V, mis põhineb LLVM-l ja kasutab samu põhitehnoloogiaid nagu OpenCL. Vulkanis on samuti võimalik kasutada HLSL shaderite keelt, mida kasutatakse DirectX-is, selle üleviimise kaudu SPIR-V-sse. Seadmete ja ekraanide haldamiseks pakub Vulkan WSI (Window System Integration) liidest, mis lahendab sarnaseid ülesandeid nagu EGL OpenGL ES-is. WSI tugi on vaikimisi olemas Waylandis — kõik Vulkanit kasutavad rakendused saavad töötada muutmata keskkonnas. serverid Wayland. Samuti on WSI kaudu töötamise võimalus tagatud Androidi, X11 (koos DRI3), Windowsi, Tizeni, macOS-i ja iOS-i jaoks.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster