Paglabas ng Mesa 21.3, isang libreng pagpapatupad ng OpenGL at Vulkan

Pagkatapos ng apat na buwan ng pag-unlad, ang paglabas ng isang libreng pagpapatupad ng OpenGL at Vulkan API - Mesa 21.3.0 - ay nai-publish. Ang unang paglabas ng sangay ng Mesa 21.3.0 ay may pang-eksperimentong katayuan - pagkatapos ng panghuling pag-stabilize ng code, isang stable na bersyon 21.3.1 ang ilalabas.

Kasama sa Mesa 21.3 ang buong suporta para sa OpenGL 4.6 para sa mga driver ng 965, iris (Intel), radeonsi (AMD), zink at llvmpipe. Available ang suporta sa OpenGL 4.5 para sa mga AMD (r600) at NVIDIA (nvc0) GPU, at suporta sa OpenGL 4.3 para sa virgl (Virgil3D virtual GPU para sa QEMU/KVM). Available ang suporta sa Vulkan 1.2 para sa Intel at AMD card, pati na rin sa emulator mode (vn) at sa lavapipe software rasterizer, available ang Vulkan 1.1 support para sa Qualcomm GPU at sa lavapipe software rasterizer, at available ang Vulkan 1.0 para sa Broadcom VideoCore VI GPU (Raspberry Pi 4).

Mga pangunahing inobasyon:

  • Ang Zink driver (isang pagpapatupad ng OpenGL API sa itaas ng Vulkan, na nagbibigay-daan sa iyong makakuha ng hardware accelerated OpenGL kung ang system ay may mga driver na limitado sa pagsuporta lamang sa Vulkan API) ay sumusuporta sa OpenGL ES 3.2.
  • Ang Panfrost driver, na idinisenyo upang gumana sa mga GPU batay sa Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) at Bifrost (Mali G3x, G5x, G7x) microarchitectures, ay opisyal na na-certify para sa pagiging tugma sa OpenGL ES 3.1.
  • Ang v3dv driver, na binuo para sa VideoCore VI graphics accelerator, na ginamit simula sa Raspberry Pi 4 na modelo, ay may sertipikadong suporta para sa Vulkan 1.1 graphics API, at nagdagdag din ng suporta para sa geometry shaders. Ang pagganap ng code na nabuo ng shader compiler ay lubos na napabuti, na may positibong epekto sa bilis ng mga programa na aktibong gumagamit ng mga shader, tulad ng mga laro batay sa Unreal Engine 4.
  • Ang RADV Vulkan driver (AMD) ay nagdagdag ng pang-eksperimentong suporta para sa ray tracing at ray tracing shaders. Para sa mga GFX10.3 card, ang suporta para sa primitive culling gamit ang NGG (Next-Gen Geometry) shader engine ay pinagana bilang default.
  • Ang driver ng Iris OpenGL (isang bagong driver para sa mga Intel GPU) ay nagdagdag ng kakayahan sa multi-threaded shader compilation.
  • Ang driver ng lavapipe, na nagpapatupad ng software rasterizer para sa Vulkan API (katulad ng llvmpipe, ngunit para sa Vulkan, nagsasalin ng mga tawag sa Vulkan API sa Gallium API) ay nagpatupad ng suporta para sa anisotropic texture filtering at nagdagdag ng suporta para sa Vulkan 1.2.
  • Ang driver ng OpenGL na llvmpipe, na idinisenyo para sa pag-render ng software, ay tumaas ng performance ng 2-3 beses kapag nagsasagawa ng mga aksyon na nauugnay sa mga 2D na operasyon. Nagdagdag ng suporta para sa mga pagpapatakbo ng FP16, anisotropic texture filtering (GL_ARB_texture_filter_anisotropic) at naka-pin na mga lugar ng memorya (GL_AMD_pinned_memory). Ang suporta para sa OpenGL 4.5 compatibility profile ay ibinigay.
  • Ang VA-API (Video Acceleration API) state tracker ay nagbibigay ng suporta para sa pagpapabilis ng AV1 video encoding at decoding kapag gumagamit ng AMD GPU drivers.
  • Ang suporta sa EGL ay ipinatupad para sa Windows platform.
  • Nagdagdag ng suporta para sa EGL_EXT_present_opaque na extension para sa Wayland. Nalutas na ang mga problema sa pagpapakita ng transparency sa mga larong tumatakbo sa mga kapaligiran batay sa protocol ng Wayland.
  • Ang suporta para sa mga extension ay idinagdag sa mga Vulkan driver na RADV (AMD), ANV (Intel) at lavapipe:
    • VK_EXT_shader_atomic_float2 (Intel, RADV).
    • VK_EXT_vertex_input_dynamic_state (RADV).
    • VK_EXT_primitive_topology_list_restart (RADV, lavapipe).
    • VK_KHR_shader_integer_dot_product (RADV).
    • VK_KHR_synchronization2 (Intel).
    • VK_KHR_maintenance4 (RADV).
    • VK_KHR_format_feature_flags2 (RADV).
    • VK_KHR_shader_subgroup_extended_types (lavapipe).
    • VK_KHR_spirv_1_4 (flush pipe).
    • VK_KHR_timeline_semaphore (washpipe).
    • VK_EXT_external_memory_host (lavapipe).
    • VK_KHR_depth_stencil_resolve (lavapipe).
    • VK_KHR_shader_float16_int8 (washpipe).
    • VK_EXT_color_write_enable(washpipe).

Pinagmulan: opennet.ru

Magdagdag ng komento