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

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

Kasama sa Mesa 21.2 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 ng Vulkan 1.2 para sa mga Intel at AMD card, pati na rin sa emulator mode (vn), available ang suporta ng Vulkan 1.1 para sa mga Qualcomm GPU at ang lavapipe software rasterizer, at available ang Vulkan 1.0 para sa Broadcom VideoCore VI GPUs (Raspberry Pi 4) .

Mga pangunahing inobasyon:

  • Ang asahi OpenGL driver ay kasama sa paunang suporta para sa GPU na kasama sa Apple M1 chips. Ginagamit ng driver ang interface ng Gallium at sinusuportahan ang karamihan sa mga feature ng OpenGL 2.1 at OpenGL ES 2.0, ngunit hindi pa ito angkop para sa pagpapatakbo ng karamihan sa mga laro. Ang driver code ay batay sa Gallium reference noop driver, na may ilang code na naka-port mula sa Panfrost driver na binuo para sa ARM Mali GPU.
  • Ang Crocus OpenGL driver ay kasama sa suporta para sa mas lumang Intel GPUs (batay sa Gen4-Gen7 microarchitectures), na hindi sinusuportahan ng Iris driver. Hindi tulad ng driver ng i965, ang bagong driver ay nakabatay sa arkitektura ng Gallium3D, na nag-outsource ng mga gawain sa pamamahala ng memory sa driver ng DRI sa Linux kernel at nagbibigay ng isang ready-made na state tracker na may suporta para sa muling paggamit ng cache ng mga output object.
  • Kasama ang PanVk driver, na nagbibigay ng suporta para sa Vulkan graphics API para sa ARM Mali Midgard at Bifrost GPU. Ang PanVk ay binuo ng mga empleyado ng Collabora at nakaposisyon bilang isang pagpapatuloy ng pagbuo ng proyekto ng Panfrost, na nagbibigay ng suporta para sa OpenGL.
  • Ang Panfrost driver para sa Midgard GPUs (Mali T760 at mas bago) at Bifrost GPUs (Mali G31, G52, G76) ay sumusuporta sa OpenGL ES 3.1. Kasama sa mga plano sa hinaharap ang trabaho upang mapataas ang pagganap sa mga Bifrost chip at ang pagpapatupad ng suporta sa GPU batay sa arkitektura ng Valhall (Mali G77 at mas bago).
  • Gumagamit ang 32-bit na x86 build ng mga tagubilin sa sse87 sa halip na mga tagubilin sa x2 para sa mga kalkulasyon sa matematika.
  • Ang Nouveau nv50 driver para sa NVIDIA GT21x GPU (GeForce GT 2Γ—0) ay sumusuporta sa OpenGL ES 3.1.
  • Ang Vulkan driver na TURNIP at ang OpenGL driver na Freedreno, na binuo para sa Qualcomm Adreno GPU, ay may paunang suporta para sa Adreno a6xx gen4 GPU (a660, a635).
  • Ang RADV (AMD) Vulkan driver ay nagdagdag ng suporta para sa primitive culling gamit ang NGG (Next-Gen Geometry) shader engine. Ang kakayahang bumuo ng RADV driver sa Windows platform gamit ang MSVC compiler ay ipinatupad.
  • Isinagawa ang paghahanda sa driver ng ANV Vulkan (Intel) at ang driver ng Iris OpenGL upang magbigay ng suporta para sa paparating na Intel Xe-HPG (DG2) graphics card. Kabilang dito ang mga paunang feature na nauugnay sa ray tracing at suporta para sa ray tracing shaders.
  • 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 sumusuporta sa mode na "wideLines" (nagbibigay ng suporta para sa mga linyang may lapad na lampas sa 1.0).
  • Ang suporta para sa dynamic na pagtuklas at pag-load ng mga alternatibong GBM (Generic Buffer Manager) na mga backend ay ipinatupad. Ang pagbabago ay naglalayong pahusayin ang suporta ng Wayland sa mga system na may mga driver ng NVIDIA.
  • 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 mga extension ng OpenGL na GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote_maxRB_ARBc_text, GL_ARB_sparse. Nagdagdag ng mga modifier ng format ng DRM (Direct Rendering Manager, naka-enable ang extension ng VK_EXT_image_drm_format_modifier).
  • Ang suporta para sa mga extension ay idinagdag sa mga Vulkan driver na RADV (AMD), ANV (Intel) at lavapipe:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_physical_device_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapipe);
    • VK_EXT_line_rasterization(lavapipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_separate_depth_stencil_layouts(lavapipe);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2 (lavapipe).

Pinagmulan: opennet.ru

Magdagdag ng komento