Standar grafis Vulkan 1.2 diterbitake

Konsorsium Khronos, sing ngembangake standar grafis,
diterbitake spesifikasi Vulkan 1.2, sing nemtokake API kanggo ngakses grafis lan kemampuan komputasi GPU. Spesifikasi anyar nggabungake koreksi sing diklumpukake sajrone rong taun lan ekspansi. Pembalap sing ndhukung Vulkan versi anyar wis ana dirilis perusahaan Intel, AMD, ARM, Teknologi Imajinasi lan NVIDIA. Mesa nawakake dhukungan Vulkan 1.2 kanggo pembalap RADV (kertu AMD) lan ANV (Intel). Dhukungan Vulkan 1.2 uga ditindakake ing debugger RenderDoc 1.6, LunarG Vulkan SDK lan conto Vulkan-Samples.

Utama inovasi:

  • Digawa menyang sampeyan implementasine saka basa pemrograman shader nganti siyap dienggo nyebar HLSL, dikembangake dening Microsoft kanggo DirectX. Dhukungan HLSL ing Vulkan ndadekake iku bisa kanggo nggunakake shaders HLSL padha ing aplikasi adhedhasar Vulkan lan DirectX, lan uga simplifies terjemahan saka HLSL kanggo SPIR-V. Kanggo ngumpulake shaders, disaranake nggunakake compiler standar
    DXC, sing dibukak dening Microsoft ing 2017 lan adhedhasar teknologi LLVM. Dhukungan Vulkan dileksanakake liwat backend sing kapisah, sing ngidini sampeyan nerjemahake HLSL dadi perwakilan penengah saka shaders SPIR-V. Implementasine nyakup ora mung kabeh kemampuan sing dibangun
    HLSL, kalebu jinis matΓ©matika, aliran kontrol, fungsi, set, jinis sumber, namespaces, Shader Model 6.2, struktur lan cara, nanging uga ngidini nggunakake ekstensi Vulkan-tartamtu kayata VKRay saka NVIDIA. Ing mode HLSL ing ndhuwur Vulkan, sampeyan bisa ngatur karya game kayata Destiny 2, Red Dead Redemption II, Assassin's Creed Odyssey lan Tomb Raider.

    Standar grafis Vulkan 1.2 diterbitake

  • Spesifikasi dianyari SPIR-V 1.5, sing nemtokake perwakilan penengah saka shaders 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.

    Standar grafis Vulkan 1.2 diterbitake

  • API Vulkan inti kalebu 23 ekstensi sing nambah kinerja, nambah kualitas rendering, lan nyederhanakake pembangunan. Antarane ekstensi sing ditambahake:
    • Semaphore kronologis (Semaphore Timeline), nyelarasake sinkronisasi karo host lan antrian piranti (ngidini sampeyan nggunakake siji primitif kanggo sinkronisasi omnidirectional antarane piranti lan host, tanpa nggunakake VkFence lan VkSemaphore primitif kapisah). Semaphore anyar diwakili kanthi nilai 64-bit sing nambah monoton sing bisa dilacak lan dianyari ing pirang-pirang utas.
      Standar grafis Vulkan 1.2 diterbitake

    • Kemampuan kanggo nggunakake jinis numerik kanthi presisi suda ing shaders;
    • Opsi tata letak memori sing kompatibel karo HLSL;
    • sumber daya Unbound (bindless), kang mbusak watesan ing jumlah sumber sing kasedhiya kanggo shaders kanthi nggunakake papan virtual sambungan memori sistem lan memori GPU;
    • Model memori formal, sing nemtokake carane thread bebarengan bisa ngakses data sing dienggo bareng lan operasi sinkronisasi;
    • Deskriptor indeksasi kanggo nggunakake maneh deskriptor tata letak ing pirang-pirang shader;
    • pranala buffer.

    Dhaptar lengkap ekstensi tambahan:

  • Ditambahake luwih saka 50 struktur anyar lan 13 fungsi;
  • Versi singkat saka spesifikasi wis disiapake kanggo platform target sing khas, nyederhanakake karya ing platform sing kabeh ekstensi durung didhukung, lan ngidini siji bisa nindakake tanpa aktifitas selektif saka kemampuan dhasar API Vulkan.
  • Pakaryan terus ing proyek kasebut kanggo njamin portabilitas karo API grafis liyane. Contone, Vulkan nawakake ekstensi sing ngidini terjemahan OpenGL (seng), OpenCL (clspv, clvk), OpenGL ES (SARUNG, Sudut) lan DirectX (DXVK, vkd3d) liwat API Vulkan, lan uga, kosok balene, supaya Vulkan bisa nggarap platform tanpa dhukungan asli (gfx-rs ΠΈ awu kanggo nggarap ing ndhuwur OpenGL lan DirectX, MoltenVK lan gfx-rs kanggo nggarap ndhuwur Metal).
    Ekstensi ditambahake kanggo nambah kompatibilitas karo DirectX lan HLSL
    VK_KHR_host_query_reset, VK_KHR_uniform_buffer_standard_layout, VK_EXT_scalar_block_layout, VK_KHR_separate_stencil_usage, VK_KHR_separate_depth_stencil_layouts, lan SPIR-V ngetrapake kapabilitas HLSL tartamtu.

Rencana kanggo masa depan kalebu pangembangan ekstensi kanggo sinau mesin, sinar sinar, enkoding lan dekoding video, dhukungan kanggo VRS (variable-rate shading) lan shader Mesh.

Elinga yen API Vulkan luar biasa pembalap radikal malih simplifying, obah generasi printah GPU kanggo sisih aplikasi, kemampuan kanggo nyambungake lapisan debug, manunggalaken API kanggo macem-macem platform lan nggunakake 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