ËshtĂ« publikuar standardi grafik Vulkan 1.3.

Pas dy vjet punë, konsorciumi Khronos, i angazhuar në zhvillimin e standardeve grafike, publikoi specifikimin Vulkan 1.3, që përcakton API për qasje në mundësitë grafike dhe llogaritëse të GPU-së. Specifikimi i ri përmbledh ndryshimet dhe zgjerimet e grumbulluara në dy vitet e fundit. Kërkesat e specifikimit Vulkan 1.3 janë të dizajnuara për pajisje grafike të klasës OpenGL ES 3.1, që do të sigurojë mbështetje për API-në e re grafike në të gjitha GPU-të që mbështesin Vulkan 1.2. Vegla e zhvillimit Vulkan SDK pritet të publikohet në mes të shkurtit. Përveç specifikimit kryesor, janë planifikuar gjithashtu zgjerime shtesë për pajisje mobile dhe desktop të nivelit të mesëm dhe të lartë, mbështetja e të cilave do të realizohet brenda redaksisë 'Vulkan Milestone'.

Në të njëjtën kohë, është paraqitur një plan për implementimin e mbështetjes së specifikimit të ri dhe zgjerimeve shtesë në kartat grafike dhe driverët e pajisjeve. Produkte me mbështetje për Vulkan 1.3 po përgatiten për publikim nga kompanitë Intel, AMD, ARM dhe NVIDIA. Për shembull, kompania AMD njoftoi se do të ofrojë mbështetje për Vulkan 1.3 në serinë e kartave grafike AMD Radeon RX Vega, si dhe në të gjitha kartat e bazuara në arkitekturën AMD RDNA. Kompania NVIDIA po përgatitet të publikojë driverë me mbështetje për Vulkan 1.3 për Linux dhe Windows. Kompania ARM do të shtojë mbështetje për Vulkan 1.3 në GPU-të Mali.

Novitetet kryesore:

  • ËshtĂ« realizuar mbĂ«shtetje pĂ«r kalimet e thjeshuara tĂ« renderimit (Streamlining Render Passes, VK_KHR_dynamic_rendering), duke lejuar fillimin e renderimit pa krijimin e kalimeve tĂ« renderimit dhe objekteve tĂ« framebuffer-it.
  • JanĂ« shtuar zgjerime tĂ« reja pĂ«r thjeshtimin e menaxhimit tĂ« kompilueseve tĂ« konvejerĂ«ve grafikĂ« (pipeline, njĂ« grup operacionesh qĂ« shndĂ«rrojnĂ« primitive grafike vektoriale dhe tekstura nĂ« njĂ« pĂ«rfaqĂ«sim pikseli).
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 – shtojnĂ« shtete dinamike shtesĂ« pĂ«r tĂ« reduktuar numrin e objekteve tĂ« gjendjes qĂ« duhet tĂ« krijohen dhe tĂ« lidhen.
    • VK_EXT_pipeline_creation_cache_control – ofron mjete tĂ« avancuara pĂ«r menaxhimin e asaj çfarĂ« dhe si tĂ« kompilohet konvejeri.
    • VK_EXT_pipeline_creation_feedback – ofron informacion mbi konvejerĂ«t e kompiluara pĂ«r thjeshtimin e profilizimit dhe debug-imit.
  • Disa tĂ« gjitha mundĂ«sitĂ« janĂ« kaluar nga opsionale nĂ« obligatore. PĂ«r shembull, implementimi i lidhjeve tĂ« bufereve (VK_KHR_buffer_device_address) dhe modeli i memories Vulkan, i cili pĂ«rcakton se si rrjedhat e ekzekutimit paralel mund tĂ« kenĂ« akses nĂ« tĂ« dhĂ«na tĂ« ndara dhe operacione sinkronizimi tani janĂ« tĂ« detyrueshme.
  • JanĂ« ofruar mjete pĂ«r kontrollin e saktĂ« tĂ« nĂ«ngrupeve (VK_EXT_subgroup_size_control), tĂ« cilat prodhuesit mund t'i ofrojnĂ« pĂ«r tĂ« mbĂ«shtetur disa madhĂ«si nĂ«ngrupesh, ndĂ«rsa zhvilluesit mund tĂ« zgjedhin madhĂ«sinĂ« e nevojshme.
  • Ka njĂ« zgjerim VK_KHR_shader_integer_dot_product, i cili mund tĂ« pĂ«rdoret pĂ«r optimizimin e funksionimit tĂ« kuadrove tĂ« mĂ«simit tĂ« makinerive, falĂ« pĂ«rshpejtimit harduerik tĂ« operacioneve tĂ« produkteve skalar.
  • NĂ« total, janĂ« pĂ«rfshirĂ« 23 zgjerime tĂ« reja:
    • VK_KHR_copy_commands2
    • VK_KHR_dynamic_rendering
    • VK_KHR_format_feature_flags2
    • VK_KHR_maintenance4
    • VK_KHR_shader_integer_dot_product
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_synchronization2
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_formats
    • VK_EXT_extended_dynamic_state
    • VK_EXT_extended_dynamic_state2
    • VK_EXT_image_robustness
    • VK_EXT_inline_uniform_block
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_pipeline_creation_feedback
    • VK_EXT_private_data
    • VK_EXT_shader_demote_to_helper_invocation
    • VK_EXT_subgroup_size_control
    • VK_EXT_texel_buffer_alignment
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • VK_EXT_ycbcr_2plane_444_formats
  • NjĂ« tip i ri objekti VkPrivateDataSlot Ă«shtĂ« shtuar. JanĂ« implementuar 37 komanda tĂ« reja dhe mĂ« shumĂ« se 60 struktura.
  • Specifikimi SPIR-V 1.6 Ă«shtĂ« azhurnuar, i cili pĂ«rcakton njĂ« pĂ«rfaqĂ«sim tĂ« pĂ«rgjithshĂ«m pĂ«r tĂ« gjitha platformat tĂ« shaderĂ«ve, i cili mund tĂ« pĂ«rdoret pĂ«r grafikĂ«n ashtu si dhe pĂ«r llogaritjet paralel. SPIR-V parashikon ndarjen e njĂ« faze tĂ« veçantĂ« tĂ« kompilimit tĂ« shaderĂ«ve nĂ« njĂ« pĂ«rfaqĂ«sim tĂ« ndĂ«rmjetĂ«m, gjĂ« qĂ« lejon krijimin e front-end-eve pĂ«r gjuhĂ« tĂ« ndryshme me nivel tĂ« lartĂ«. NĂ« bazĂ« tĂ« implementimeve tĂ« ndryshme tĂ« nivelit tĂ« lartĂ«, krijohet njĂ« kod i vetĂ«m ndĂ«rmjetĂ«s qĂ« mund tĂ« pĂ«rdoret nga drejtuesit e OpenGL, Vulkan dhe OpenCL pa pĂ«rdorur njĂ« kompilues tĂ« integruar tĂ« shaderĂ«ve.
  • Koncepti i profileve tĂ« pĂ«rshtatshmĂ«risĂ« Ă«shtĂ« propozuar. Profilin bazik (baseline profile) pĂ«r platformĂ«n Android e ka pĂ«rgatitur sĂ« pari kompania Google, i cili do tĂ« lehtĂ«sojĂ« pĂ«rcaktimin nĂ« pajisje tĂ« nivelit tĂ« mbĂ«shtetjes pĂ«r funksionalitete tĂ« zgjeruara tĂ« Vulkan, qĂ« dalin pĂ«rtej specifikimit Vulkan 1.0. PĂ«r shumicĂ«n e pajisjeve, mbĂ«shtetja e profilit do tĂ« mund tĂ« sigurohet pa instaluar pĂ«rditĂ«sime OTA.

Kujtojmë se API Vulkan është i njohur për thjeshtësimin radikal të drejtorëve, zhvendosjen e gjenerimit të komandave GPU në anën e aplikacionit, mundësinë e lidhjes së shtresave të debuggimit, unifikimin e API për platforma të ndryshme dhe përdorimin e paraqitjeve të përzierës së kodit të parakompozuar për ekzekutimin në anën e GPU. Për të siguruar performancë të lartë dhe parashikueshmëri, Vulkan i ofron aplikacioneve mjete për menaxhimin e drejtpërdrejtë të operacioneve GPU dhe mbështetje të integruar për përpunimin shumëfishe të komandave GPU, gjë që minimizon kostot e sidomos të shkaktuara nga drejtori, ndërsa mundësitë e realizuara në anën e drejtuesit bëhen dukshëm më të thjeshta dhe më të parashikueshme. Për shembull, operacione të tilla si menaxhimi i memories dhe trajtimi i gabimeve, të realizuara në OpenGL në anën e drejtuesit, janë transferuar në nivelin e aplikacionit në Vulkan.

Vulkan mbulon të gjitha platformat e disponueshme dhe ofron një API të vetëm për sisteme desktop, mobile dhe Web, duke lejuar përdorimin e një API të përbashkët për GPU të ndryshme dhe fusha aplikimi. Falë arkitekturës shumëfishe të Vulkan, e cila nënkupton krijimin e mjeteve që funksionojnë me çdo GPU, prodhuesit e pajisjeve mund të përdorin mjete standarde për verifikimin e kodit, debuggimin dhe profilizimin gjatë zhvillimit. Për krijimin e shaderëve, ofrohet një paraqitje portative e re SPIR-V, e bazuar në LLVM dhe që përdor teknologji të përbashkët me OpenCL. Për menaxhimin e pajisjeve dhe ekraneve në Vulkan ofrohet ndërfaqja WSI (Window System Integration), e cila zgjidh rreth të njëjtave Probleme si EGL në OpenGL ES. Mbështetja WSI është e disponueshme nga kutia në Wayland - të gjitha aplikacionet që përdorin Vulkan mund të ekzekutohen në një mjedis të paprekur. serverësh Wayland. Mundësia e punës përmes WSI është gjithashtu e siguruar për Android, X11 (me DRI3), Windows, Tizen, macOS dhe iOS.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster