Liberigo de Mesa 24.3, senpaga efektivigo de OpenGL kaj Vulkan

Post tri monatoj da evoluo, la liberigo de senpaga efektivigo de la OpenGL kaj Vulkan API - Mesa 24.3.0 - estis publikigita. La unua eldono de la branĉo Mesa 24.3.0 havas eksperimentan statuson - post la fina stabiligo de la kodo, stabila versio 24.3.1 estos publikigita.

Mesa 24.3 subtenas la grafikan API de Vulkan 1.3 en anv por Intel GPU-oj, radv por AMD-GPU-oj, NVK por NVIDIA-GPU-oj, tu por Qualcomm-GPU-oj, lavapipe-programara rasterigilo (lvp), emula reĝimo (vn) kaj v3dv (GPU Broadcom VideoCore por Raspberry). 4+). Vulkan 1.0-subteno estas efektivigita en la dzn (Vulkan-efektivigo aldone al Direct3D 12) kaj panvk (ARM Mali GPU) ŝoforoj.

Mesa ankaŭ disponigas plenan OpenGL 4.6 subtenon por iriso (Intel Gen 8+ GPUoj), radeonsi (AMD), Crocus (pli malnovaj Intel Gen4-Gen7 GPUoj), zink, llvmpipe, virgl (Virgil3D virtuala GPU por QEMU/KVM), freedreno-ŝoforoj ( Qualcomm Adreno), d3d12 (tavolo por organizi OpenGL-laboron aldone al DirectX 12) kaj asahi (AGX GPU uzata en Apple M1 kaj M2-blatoj). OpenGL 4.5-subteno disponeblas por GPU-oj AMD (r600) kaj NVIDIA (nvc0). OpenGL 3.3-subteno ĉeestas en la softpipe (programara rasterigilo) kaj nv50 (NVIDIA NV50) ŝoforoj.

Ĉefaj novigoj:

  • La v3dv-ŝoforo provizas plenan subtenon por la grafika API Vulkan 1.3 por VideoCore GPU-oj uzataj sur Raspberry Pi 4 kaj Raspberry Pi 5-tabuloj.
  • Nova Vulkan-ŝoforo gfxstream-vk estis aldonita, kiu povas esti uzata por virtualigi la Vulkan-API kaj aliri ĉi tiun grafikan API de gastsistemoj bazitaj sur Linukso, Android kaj Fuchsia. La ŝoforo estas uzata de Google en la Android-emulilo, Fuchsia-emulilo, Android-nubaj servoj kaj Android Automotive OS (AAOS).
  • Subteno por la etendaĵo Vulkan VK_PRESENT_MODE_FIFO_KHR estis aldonita al la integriga interfaco de la grafika API de Vulkan kun fenestraj sistemoj (WSI, Windowing System Integration) por uzo en Wayland-bazitaj medioj de la FIFO-protokolo, kiu permesas al la eligo uzi atendante la kompletigo. de vertikala skanado (vblank) anstataŭ uzi revokvokojn ĉe ĉiu preta por montri novan kadron, kiu solvas la problemon de alta GPU-ŝarĝo kiam vi uzas VSync.
  • Sur sistemoj kun Intel GPU-oj bazitaj sur la arkitekturo Xe2, profunda bufro (z-buffer) kunpremado estas ebligita defaŭlte.
  • La iriso OpenGL-ŝoforo kaj la ANV Vulkan-ŝoforo aldonis komencan subtenon por Intel-GPUoj bazitaj sur la Xe3-arkitekturo trovita en Panther Lake-procesoroj.
  • Subteno por Vulkan-etendaĵoj estis aldonita al la NVK (NVIDIA) ŝoforo:
    • VK_EXT_descriptor_buffer
    • VK_EXT_post_profunda_kovrado
    • VK_EXT_legacy_vertex_attributes
    • VK_KHR_prizorgado7
    • VK_KHR_dinamika_bildado_loka_legado
    • VK_NV_komputi_shader_derivatives
    • VK_KHR_komputi_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_host_image_copy (por GPU Turing+)
    • VK_KHR_shader_quad_control
    • VK_KHR_fragment_shading_rate
    • VK_EXT_profundo_clamp_zero_one
    • VK_EXT_device_generitaj_komandoj
  • Subteno por Vulkan-etendaĵoj estis aldonita al la RADV (AMD) pelilo:
    • VK_KHR_video_prizorgado1
    • VK_KHR_dukto_binara
    • VK_KHR_komputi_shader_derivatives
    • VK_KHR_shader_float_controls2
    • VK_EXT_device_generitaj_komandoj
    • VK_KHR_shader_relaxed_extended_instruction
  • Subteno por Vulkan-etendaĵoj estis aldonita al la ANV-ŝoforo (Intel)
    • VK_KHR_komputi_shader_derivatives
    • VK_KHR_shader_relaxed_extended_instruction
    • VK_EXT_depth_clamp_control
  • La hasvk-ŝoforo (Intel Ivy Bridge, Haswell kaj Broadwell) aldonis subtenon por Vulkan-etendaĵoj:
    • VK_EXT_depth_clamp_control
    • VK_KHR_shader_relaxed_extended_instruction
  • Subteno por la etendo de Vulkan VK_KHR_shader_relaxed_extended_instruction estis aldonita al la ŝoforoj hk, tu, v3dv kaj lvp.
  • Aldonita subteno por novaj OpenGL-etendaĵoj:
    • GL_KHR_shader_subgroup en la radeonsi-ŝoforo
    • GL_OVR_multiview en la zink-ŝoforo
    • GL_OVR_multiview2 en la zink-ŝoforo
    • GL_ARB_draw_indirect al etnaviv/HALTI5+ ŝoforo
    • GL_EXT_draw_buffers2 en la ŝoforo etnaviv/HALTI5+
    • GL_ARB_draw_buffers_blend en etnaviv/HALTI5+-ŝoforo
    • GL_ARB_framebuffer_no_attachments en la etnaviv-ŝoforo
    • GL_ARB_timer_query en la Panfrost-ŝoforo
    • GL_EXT_disjoint_timer_query en la Panfrost-ŝoforo

fonto: opennet.ru

Aldoni komenton