Avaldatud graafiline standard Vulkan 1.4

Peaaegu kolme aasta töö pärast avaldas Khronose konsortsium, mis tegeleb graafikastandardite arendamisega, Vulkan 1.4 spetsifikatsiooni, mis määratleb API, et pääseda juurde GPU graafilistele ja arvutusvõimetel. Uus spetsifikatsioon hõlmab varasemalt valikulisi laiendusi ning tutvustab mitmeid uusi võimalusi ja tõstab seadmete minimaalnõudeid. Vulkan SDK tööriistakomplekti on plaanis avaldada 2025. aasta jaanuaris.

Vulkan 1.4 toe jagavad tooted on valmimas ettevõtetelt AMD, Arm, Imagination, Intel, NVIDIA, Qualcomm ja Samsung. Ameerika Ühendriikide avatud draiverid GPU-dele AMD (radv), Apple M1/M2 (honeykrisp), Intel (anv), NVIDIA (nvk) ja Qualcomm (tu), mida arendab projekt Mesa, on läbinud kõik Vulkan 1.4 ühilduvuse testid CTS (Khronose ühilduvuse testide komplekt) hulgast ja on kantud sertifitseeritud draiverite nimekirja. Nimekirja on lisatud ka Samsungi ja Qualcomma draiverid Androidi platvormile ning Imagination Technologies'i PowerVR D-Series DXT* graafikakiipide draiverid ja NVIDIA patenteeritud draiverid.

Peamised uuendused:

  • Lisatud on support „Streaming Transfers“ mehhanismi, mis on mõeldud suurte andmemahtude voogedastamise tagamiseks peamise süsteemi (hosti) ja graafikaseadmestiku vahel, katkestamata renderdamist ja mitte aeglustades selle jõudlust. Mehhanism on teostatav uue VK_EXT_host_image_copy laienduse kaudu, mille toetamine on valikuline.
  • Tõstetud on kohustuslikeks funktsioonid, mis on suunatud jõudluse parandamisele:
    • Push Descriptors — võimalus salvestada deskriptorite värskendusi otse käsutabelisse, selle asemel et luua eraldi deskriptorite kogumeid ja need käskude tabelisse siduda.
    • VK_KHR_dynamic_rendering_local_read — võimaldab lugeda sisse asetatud bufeleid (attachments) ja ressursse, mida on salvestanud eelnevad fragmentide varjutajad, dünaamiliste renderdamise läbikäikude (render pass) raames.
    • VK_EXT_scalar_block_layout — võimaldab kasutada C-sarnast struktuuri SPIR-V plokkide jaoks, kus saab mitte-skalaarseid tüüpe iseloomustada nende komponentide suuruse põhjal.
  • Komplekti kuuluvad VK_KHR_maintenance5 ja VK_KHR_maintenance6 laiendused, mis pakuvad abifunktsioone ja struktuure ressursside ja shaderite haldamise lihtsustamiseks.
  • 8K (7680 x 4320 pikslit) resolutsiooniga renderdamise tugi on tagatud ja kuni 8 sõltumatut renderduspuud on kasutusel.
  • Komplekti kuuluvad järgmised 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
  • Paljusid varem valikulisena olnud võimalusi on muudetud kohustuslikuks.
  • Lisatud on suur hulk uusi käsklusi ja struktuure.

Vulkan API iseloomustab draiverite radikaalne lihtsustamine, GPU käskude genereerimise viimine rakenduse poole, võimalus debugimiskihtide lisamiseks, API ühtlustamine erinevate platvormide jaoks ja eelkompileeritud vaheesituse koodi rakendamine GPU poolel.

Kõrge jõudluse ja etteennustatavuse tagamiseks annab Vulkan rakendustele võimalused GPU operatsioonide otseseks juhtimiseks ning sisseehitatud toe GPU käsu mitme lõime töötlemiseks, mis vähendab draiveri poolt lisanduvaid kulusid ning lihtsustab draiveri tasemel elluviidud funktsioone, muutes need ettearvatavamaks. Näiteks sellised toimingud nagu mälu haldamine ja vigade töötlemine, mis avati OpenGL-i tasemel draiveris, on Vulkanis viidud rakenduse tasemele.

Vulkan katab kõik saadaolevad platvormid ja pakub ühtset API-d lauaarvutite, mobiilsüsteemide ja Web jaoks, võimaldades kasutada ühtset API-d erinevate graafikaprotsessorite ja rakendusalade jaoks. Vulkani mitmekihiline arhitektuur, mis hõlmab tööriistade loomist, mis töötavad igasuguste GPU-dega, võimaldab riistvaratootjatel kasutada arendusprotsessis standartseid tööriistu koodi kontrollimiseks, silumiseks ja profileerimiseks.

Shaderite loomiks on pakutud ülekantav vahevorming SPIR-V, mis põhineb LLVM-il ja kasutab OpenCL-iga ühiseid põhi tehnoloogiaid. Vulkanis saab kasutada ka HLSL shaderi keel, mida kasutatakse DirectX-is, selle tõlkimiseks SPIR-V-de. Seadmete ja ekraanide haldamiseks Vulkanis on pakutud WSI (Window System Integration) liidest, mis lahendab sama probleemi, mis EGL OpenGL ES-is. WSI tugi on vaikimisi saadaval Waylandis - kõik Vulkanit kasutavad rakendused saavad töötada muudetud keskkonnas. serverite Wayland. WSI kaudu töötamise võimalus on samuti tagatud Androidi, X11 (koos DRI3), Windowsi, Tizeni, macOS-i ja iOS-i jaoks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster