Standar grafis Vulkan 1.3 diterbitake

Sawise rong taun kerja, konsorsium standar grafis Khronos wis nerbitake spesifikasi Vulkan 1.3, sing nemtokake API kanggo ngakses grafis lan kemampuan komputasi GPU. Spesifikasi anyar nggabungake koreksi lan ekstensi sing diklumpukake sajrone rong taun. Kacathet yen syarat spesifikasi Vulkan 1.3 dirancang kanggo peralatan grafis kelas OpenGL ES 3.1, sing bakal njamin dhukungan kanggo API grafis anyar ing kabeh GPU sing ndhukung Vulkan 1.2. Piranti Vulkan SDK direncanakake bakal diterbitake ing pertengahan Februari. Saliyane spesifikasi utama, direncanakake nawakake ekstensi tambahan kanggo piranti seluler lan desktop mid-range lan dhuwur, sing bakal didhukung minangka bagΓ©an saka edisi "Vulkan Milestone".

Ing wektu sing padha, ana rencana kanggo ngetrapake dhukungan kanggo spesifikasi anyar lan ekstensi tambahan ing kertu grafis lan driver piranti. Intel, AMD, ARM lan NVIDIA lagi nyiapake kanggo ngeculake produk sing ndhukung Vulkan 1.3. Contone, AMD ngumumake bakal ndhukung Vulkan 1.3 ing seri kartu grafis AMD Radeon RX Vega, uga ing kabeh kertu adhedhasar arsitektur AMD RDNA. NVIDIA wis siyap nerbitake driver kanthi dhukungan kanggo Vulkan 1.3 kanggo Linux lan Windows. ARM bakal nambah dhukungan kanggo Vulkan 1.3 menyang GPU Mali.

Inovasi utama:

  • Dhukungan kanggo pass rendering simplified (Streamlining Render Passes, VK_KHR_dynamic_rendering) wis dipun ginakaken, ngijini sampeyan kanggo miwiti Rendering tanpa nggawe Rendering pass lan obyek framebuffer.
  • Ekstensi anyar wis ditambahake kanggo nyederhanakake manajemen kompilasi pipa grafis (pipeline, sakumpulan operasi sing ngowahi primitif lan tekstur grafis vektor dadi representasi piksel).
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - nambah negara dinamis tambahan kanggo ngurangi jumlah obyek negara nyawiji lan ditempelake.
    • VK_EXT_pipeline_creation_cache_control - Nyedhiyani kontrol majeng babagan kapan lan carane pipelines dikompilasi.
    • VK_EXT_pipeline_creation_feedback - Nyedhiyani informasi babagan pipa sing dikompilasi kanggo nggawe profil lan debugging luwih gampang.
  • Sawetara fitur wis ditransfer saka opsional menyang wajib. Contone, implementasine saka referensi buffer (VK_KHR_buffer_device_address) lan model memori Vulkan, kang nemtokake carane Utas bebarengan bisa ngakses data sambungan lan operasi sinkronisasi, saiki prentah.
  • Kontrol subgrup alus (VK_EXT_subgroup_size_control) diwenehake supaya vendor bisa nyedhiyakake dhukungan kanggo macem-macem ukuran subgrup lan pangembang bisa milih ukuran sing dibutuhake.
  • Ekstensi produk VK_KHR_shader_integer_dot_product wis kasedhiya, sing bisa digunakake kanggo ngoptimalake kinerja kerangka learning machine amarga akselerasi hardware saka operasi produk dot.
  • Total 23 ekspansi anyar kalebu:
    • 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_sinkronisasi2
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_formats
    • VK_EXT_ganti_dina Dinamis
    • 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_data_pribadi
    • 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
  • Nambahake jinis obyek anyar VkPrivateDataSlot. 37 printah anyar lan luwih saka 60 struktur dileksanakake.
  • Spesifikasi SPIR-V 1.6 wis dianyari kanggo nemtokake perwakilan shader penengah sing universal kanggo kabeh platform lan bisa digunakake kanggo grafis lan komputasi paralel. SPIR-V melu misahake fase kompilasi shader sing kapisah dadi perwakilan penengah, sing ngidini sampeyan nggawe frontend kanggo macem-macem basa tingkat dhuwur. Adhedhasar macem-macem implementasi tingkat dhuwur, kode perantara siji digawe kanthi kapisah, sing bisa digunakake dening driver OpenGL, Vulkan lan OpenCL tanpa nggunakake kompiler shader sing dibangun.
  • Konsep profil kompatibilitas diusulake. Google minangka sing pisanan ngeculake profil garis dasar kanggo platform Android, sing bakal luwih gampang nemtokake tingkat dhukungan kanggo kapabilitas Vulkan sing luwih maju ing piranti sing ngluwihi spesifikasi Vulkan 1.0. Kanggo umume piranti, dhukungan profil bisa diwenehake tanpa nginstal nganyari OTA.

Elinga yen API Vulkan misuwur amarga nyederhanakake driver sing radikal, transfer generasi perintah GPU menyang sisih aplikasi, kemampuan kanggo nyambungake lapisan debugging, manunggalake API kanggo macem-macem platform lan panggunaan precompiled. perwakilan penengah kode kanggo eksekusi ing sisih GPU. Kanggo mesthekake kinerja dhuwur lan predictability, Vulkan menehi aplikasi karo kontrol langsung saka operasi GPU lan support native kanggo GPU multi-threading, kang nyilikake nduwur sirah driver lan ndadekake kemampuan driver-sisih luwih prasaja lan luwih katebak. Contone, operasi kayata manajemen memori lan penanganan kesalahan, dileksanakake ing OpenGL ing sisih driver, dipindhah menyang tingkat aplikasi ing Vulkan.

Vulkan nyakup kabeh platform sing kasedhiya lan nyedhiyakake API siji kanggo desktop, seluler, lan web, ngidini siji API umum bisa digunakake ing macem-macem GPU lan aplikasi. Thanks kanggo arsitektur multi-lapisan Vulkan, tegese alat sing bisa digunakake karo GPU apa wae, OEM bisa nggunakake alat standar industri kanggo mriksa kode, debugging, lan profil sajrone pembangunan. Kanggo nggawe shaders, perwakilan perantara portabel anyar, SPIR-V, diusulake, adhedhasar LLVM lan nuduhake teknologi inti karo OpenCL. Kanggo ngontrol piranti lan layar, Vulkan nawakake antarmuka WSI (Window System Integration), sing ngrampungake masalah sing padha karo EGL ing OpenGL ES. Dhukungan WSI kasedhiya metu saka kothak ing Wayland - kabeh aplikasi sing nggunakake Vulkan bisa mlaku ing lingkungan server Wayland sing ora diowahi. Kemampuan kanggo nggarap WSI uga kasedhiya kanggo Android, X11 (karo DRI3), Windows, Tizen, macOS lan iOS.

Source: opennet.ru

Add a comment