Liberigo de Mesa 20.2.0, senpaga efektivigo de OpenGL kaj Vulkan

Enkondukita liberigo de senpaga efektivigo de la OpenGL kaj Vulkan API - Mesa 20.2.0. En Tablo 20.2 efektivigita plena OpenGL 4.6 subteno por Intel (i965, iriso) kaj AMD (radeonsi) GPUoj, OpenGL 4.5 subteno por AMD (r600), NVIDIA (nvc0) kaj llvmpipe GPUoj, OpenGL 4.3 por virgl (virtuala GPU) Vergilio3D por QEMU/KVM), same kiel Vulkan 1.2-subteno por Intel kaj AMD-kartoj.

Inter la ŝanĝoj:

  • En la ŝoforo lvmpipe, desegnita por programaro, subtenas OpenGL 4.5.
  • La RADV Vulkan-ŝoforo (por AMD-kartoj) uzas la ombradan kompililon defaŭlte "AKO", kiu estas disvolvita de Valve kiel alternativo al la LLVM-ombrila kompililo. ACO estas skribita en C++, dizajnita kun JIT-kompilo en menso, kaj planas disponigi kodgeneradon kiu estas kiel eble plej optimuma por ludnumbriloj, same kiel atingante tre altajn kompilrapidecojn.
  • Aldonita komenca subteno por AMD Navi 21 (Navy Flounder) kaj Navi 22 (Sienna Cichlid) GPUoj.
  • Intel GPU-ŝoforoj plibonigis subtenon por blatoj bazitaj sur mikroarkitekturo Raketa Lago и aldonis komenca subteno por diskretaj kartoj Intel Xe DG1.
  • La kapabloj de la ŝoforo Gallium3D estis pligrandigitaj Zink, kiu efektivigas la OpenGL API aldone al Vulkan. Zink ebligas al vi akiri aparataron akcelitan OpenGL se la sistemo havas ŝoforojn limigitajn por subteni nur la Vulkan API.
  • La Gallium3D-ŝoforo Nouveau NVC0 uzas HMM (heterogena memoradministrado) por subteni OpenCL SVM (Komuna Virtuala Memoro).
  • En la ŝoforo Panfrosto Subteno de 3D bildigo por Midgard GPU-oj (Mali-T6xx, Mali-T7xx, Mali-T8xx) estis stabiligita.
  • RadeonSI inkluzivas plibonigojn ligitajn al GPU-virtualigo.
  • Aldonita subteno por disko-kaŝmemoro de la meza reprezentado TGSI (Tungsten Graphics Shader Infrastructure).
  • Aldonitaj novaj OpenGL-etendaĵoj:
    • GL_ARB_compute_variable_group_size por Intel Iris.
    • GL_ARB_gl_spirv por Nouveau nvc0.
    • GL_NV_half_float por Nouveau nvc0.
    • GL_NV_copy_depth_to_color for Nouveau nvc0.
    • GL_ARB_spirv_extensions por Nouveau nvc0.
    • GL_EXT_shader_group_voĉdono por llvmpipe.
    • GL_ARB_gpu_shader5 por llvmpipe.
    • GL_ARB_post_depth_coverage por llvmpipe.
    • GL_EXT_texture_shadow_lod por llvmpipe.
  • Aldonita subteno por la EGL-etendo EGL_KHR_swap_buffers_with_damage (por X11 DRI3), same kiel GLX-etendaĵoj GLX_EXT_swap_control (DRI2, DRI3) kaj GLX_EXT_swap_control_tear (DRI3).
  • Aldonitaj etendaĵoj al la RADV Vulkan-ŝoforo (por AMD-kartoj):
    • VK_EXT_4444_formatoj
    • VK_KHR_memora_modelo
    • VK_AMD_texture_gather_bias_lod
    • VK_AMD_gpu_shader_half_float
    • VK_AMD_gpu_shader_int16
    • VK_EXT_extended_dinamic_state
    • VK_EXT_bildo_forteco
    • VK_EXT_privataj_datenoj
    • VK_EXT_kutimo_limo_kolora
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_shader_demote_to_helpanto_invoko
    • VK_EXT_subgrupo_grandeco_kontrolo
    • VK_GOOGLE_uzanto_tipo
    • VK_KHR_shader_subgrupo_etenditaj_specoj
  • Aldonitaj etendaĵoj al la ANV Vulkan-ŝoforo (por Intel-kartoj):
    • VK_EXT_bildo_forteco
    • VK_EXT_shader_atomic_float
    • VK_EXT_4444_formatoj
    • VK_EXT_extended_dinamic_state
    • VK_EXT_privataj_datenoj
    • VK_EXT_kutimo_limo_kolora
    • VK_EXT_pipeline_creation_cache_control

fonto: opennet.ru

Aldoni komenton