Grafik standar Vulkan 1.3 diterbitkeun

Saatos dua taun damel, konsorsium standar grafis Khronos parantos nyebarkeun spésifikasi Vulkan 1.3, anu netepkeun API pikeun ngakses grafik sareng kamampuan komputasi GPU. Spésifikasi anyar kalebet koréksi sareng ekstensi akumulasi salami dua taun. Ieu dicatet yén sarat tina Vulkan 1.3 spésifikasi dirancang pikeun OpenGL ES 3.1 alat grafik kelas, nu bakal mastikeun rojongan pikeun API grafik anyar dina sakabéh GPUs nu ngarojong Vulkan 1.2. Alat Vulkan SDK rencanana bakal diterbitkeun dina pertengahan Pebruari. Salian spésifikasi utama, rencanana nawiskeun ekstensi tambahan pikeun alat sélulér sareng desktop pertengahan sareng luhur, anu bakal dirojong salaku bagian tina édisi "Vulkan Milestone".

Dina waktos anu sami, aya rencana pikeun ngalaksanakeun dukungan pikeun spésifikasi énggal sareng ekstensi tambahan dina kartu grafik sareng supir alat. Intel, AMD, ARM sareng NVIDIA nuju nyiapkeun pikeun ngaleupaskeun produk anu ngadukung Vulkan 1.3. Salaku conto, AMD ngumumkeun yén éta bakal ngadukung Vulkan 1.3 dina séri kartu grafik AMD Radeon RX Vega, ogé dina sadaya kartu dumasar kana arsitektur AMD RDNA. NVIDIA nyiapkeun pikeun nyebarkeun supir kalayan dukungan pikeun Vulkan 1.3 pikeun Linux sareng Windows. ARM bakal nambihan dukungan pikeun Vulkan 1.3 ka GPU Mali.

Inovasi utama:

  • Rojongan pikeun pass rendering disederhanakeun (Streamlining Render Passes, VK_KHR_dynamic_rendering) geus dilaksanakeun, ngamungkinkeun Anjeun pikeun ngamimitian rendering tanpa nyieun rendering pas jeung objék framebuffer.
  • ekstensi anyar geus ditambahkeun kana simplify ngokolakeun grafik pipa kompilasi (pipeline, sakumpulan operasi nu ngarobah vektor grafis primitif jeung tékstur kana ngagambarkeun piksel).
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - tambahkeun kaayaan dinamis tambahan pikeun ngurangan jumlah objék kaayaan disusun tur napel.
    • VK_EXT_pipeline_creation_cache_control - Nyadiakeun kadali canggih ngeunaan iraha jeung kumaha pipelines disusun.
    • VK_EXT_pipeline_creation_feedback - Nyadiakeun inpormasi ngeunaan jalur pipa anu disusun pikeun ngagampangkeun profil sareng debugging.
  • Sajumlah fitur parantos dialihkeun tina opsional ka wajib. Contona, palaksanaan rujukan panyangga (VK_KHR_buffer_device_address) jeung modél memori Vulkan, nu ngahartikeun kumaha threads babarengan bisa ngakses data dibagikeun jeung operasi sinkronisasi, ayeuna wajib.
  • Kontrol subgroup halus (VK_EXT_subgroup_size_control) disayogikeun supados padagang tiasa nyayogikeun dukungan pikeun sababaraha ukuran subgrup sareng pamekar tiasa milih ukuran anu diperyogikeun.
  • Ekstensi VK_KHR_shader_integer_dot_product parantos disayogikeun, anu tiasa dianggo pikeun ngaoptimalkeun kinerja kerangka pembelajaran mesin berkat akselerasi hardware operasi produk titik.
  • Jumlahna aya 23 ékspansi énggal kalebet:
    • VK_KHR_copy_commands2
    • VK_KHR_dynamic_rendering
    • VK_KHR_format_feature_flags2
    • VK_KHR_pangropéa4
    • VK_KHR_shader_integer_dot_product
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_singkronisasi2
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_formats
    • VK_EXT_ditambah_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
  • Ditambahkeun tipe objék anyar VkPrivateDataSlot. 37 paréntah anyar sareng langkung ti 60 struktur dilaksanakeun.
  • SPIR-V 1.6 spésifikasi geus diropéa pikeun nangtukeun hiji representasi shader panengah nu universal pikeun sakabéh platform sarta bisa dipaké pikeun duanana grafik na komputasi paralel. SPIR-V ngalibatkeun misahkeun fase kompilasi shader misah kana hiji representasi panengah, nu ngidinan Anjeun pikeun nyieun frontends pikeun sagala rupa basa tingkat luhur. Dumasar kana rupa-rupa palaksanaan tingkat luhur, hiji kode panengah tunggal dihasilkeun misah, nu bisa dipaké ku OpenGL, Vulkan na OpenCL drivers tanpa ngagunakeun diwangun-di kompiler shader.
  • Konsep propil kasaluyuan diajukeun. Google mangrupikeun anu munggaran ngaluarkeun profil dasar pikeun platform Android, anu bakal ngagampangkeun pikeun nangtukeun tingkat dukungan pikeun kamampuan Vulkan canggih dina alat anu saluareun spésifikasi Vulkan 1.0. Kanggo sabagéan ageung alat, dukungan profil tiasa disayogikeun tanpa masang apdet OTA.

Hayu urang émut yén Vulkan API kasohor pikeun nyederhanakeun radikal na supir, transfer generasi paréntah GPU ka sisi aplikasi, kamampuan pikeun nyambungkeun lapisan debugging, ngahijikeun API pikeun sagala rupa platform sareng panggunaan precompiled. ngagambarkeun panengah kode pikeun palaksanaan di sisi GPU. Pikeun mastikeun kinerja tinggi na predictability, Vulkan nyadiakeun aplikasi kalawan kontrol langsung kana operasi GPU sarta rojongan asli pikeun GPU multi-threading, nu ngaminimalkeun overhead supir jeung ngajadikeun kamampuhan supir-sisi loba basajan tur leuwih bisa diprediksi. Contona, operasi kayaning manajemén memori sareng penanganan kasalahan, dilaksanakeun dina OpenGL di sisi supir, dipindahkeun ka tingkat aplikasi dina Vulkan.

Vulkan ngalangkungan sadaya platform anu sayogi sareng nyayogikeun API tunggal pikeun desktop, mobile, sareng wéb, ngamungkinkeun hiji API umum dianggo dina sababaraha GPU sareng aplikasi. Hatur nuhun kana arsitéktur multi-lapisan Vulkan, anu hartosna alat anu tiasa dianggo sareng GPU naon waé, OEM tiasa nganggo alat standar industri pikeun ulasan kode, debugging, sareng profil nalika pangwangunan. Pikeun nyiptakeun shaders, perwakilan perantara portabel énggal, SPIR-V, diusulkeun, dumasar kana LLVM sareng ngabagi téknologi inti sareng OpenCL. Pikeun ngadalikeun alat sareng layar, Vulkan nawiskeun antarmuka WSI (Window System Integration), anu ngarengsekeun masalah anu sami sareng EGL dina OpenGL ES. Pangrojong WSI sayogi kaluar tina kotak di Wayland - sadaya aplikasi anu nganggo Vulkan tiasa dijalankeun dina lingkungan server Wayland anu teu dirobih. Kamampuhan pikeun damel via WSI ogé disayogikeun pikeun Android, X11 (kalayan DRI3), Windows, Tizen, macOS sareng ios.

sumber: opennet.ru

Tambahkeun komentar