Mesa 21.2 kaleratzea, OpenGL eta Vulkan-en doako inplementazioa

Hiru hilabeteko garapenaren ondoren, OpenGL eta Vulkan APIaren doako inplementazio baten kaleratzea argitaratu zen - Mesa 21.2.0 -. Mesa 21.2.0 adarraren lehen bertsioak egoera esperimentala du; kodea behin betiko egonkortu ondoren, 21.2.1 bertsio egonkorra kaleratuko da.

Mesa 21.2-k OpenGL 4.6rako euskarri osoa dakar 965, iris (Intel), radeonsi (AMD), zink eta llvmpipe kontrolatzaileetarako. OpenGL 4.5 euskarria AMD (r600) eta NVIDIA (nvc0) GPUetarako eskuragarri dago, eta OpenGL 4.3 laguntza virgl (Virgil3D GPU birtuala QEMU/KVMrako). Vulkan 1.2 euskarria Intel eta AMD txarteletarako eskuragarri dago, baita emuladore moduan (vn), Vulkan 1.1 euskarria dago Qualcomm GPUetarako eta lavapipe software-rasterizatzailerako eta Vulkan 1.0 Broadcom VideoCore VI GPUetarako (Raspberry Pi 4) eskuragarri dago. .

Berrikuntza nagusiak:

  • Asahi OpenGL kontrolatzailea Apple M1 txipetan sartutako GPUrako hasierako laguntzarekin sartzen da. Gidariak Gallium interfazea erabiltzen du eta OpenGL 2.1 eta OpenGL ES 2.0-ren funtzio gehienak onartzen ditu, baina oraindik ez da egokia joko gehienak exekutatzeko. Gidariaren kodea Gallium erreferentzia noop kontrolatzailean oinarritzen da, eta Panfrost kontrolatzailetik eramandako kode batzuk ARM Mali GPUrako garatzen ari dira.
  • Crocus OpenGL kontrolatzailea Intel GPU zaharrentzako (Gen4-Gen7 mikroarkitekturan oinarrituta) onartzen du, Iris kontrolatzaileak onartzen ez dituenak. i965 kontrolatzailea ez bezala, kontrolatzaile berria Gallium3D arkitekturan oinarritzen da, zeinak memoria kudeatzeko zereginak Linux kerneleko DRI kontrolatzaileari azpikontratatzen dituena eta irteerako objektuen cache berrerabiltzeko laguntzarekin prest egindako egoera-jarraitzailea eskaintzen du.
  • PanVk kontrolatzailea sartzen da, eta ARM Mali Midgard eta Bifrost GPUentzako Vulkan API grafikoetarako laguntza eskaintzen du. PanVk Collaborako langileek garatzen ari dira eta Panfrost proiektuaren garapenaren jarraipen gisa kokatzen da, zeinak OpenGLrako euskarria ematen duen.
  • Midgard GPUetarako Panfrost kontrolatzaileak (Mali T760 eta berriagoa) eta Bifrost GPUetarako (Mali G31, G52, G76) OpenGL ES 3.1 onartzen du. Etorkizuneko planek Bifrost txipetan errendimendua areagotzeko lana eta Valhall arkitekturan oinarritutako GPU euskarria ezartzea (Mali G77 eta berriagoa) barne hartzen dute.
  • 32 biteko x86 eraikitzeek sse87 argibideak erabiltzen dituzte matematikako kalkuluetarako x2 argibideen ordez.
  • NVIDIA GT50x GPUrako Nouveau nv21 kontrolatzaileak (GeForce GT 2Γ—0) OpenGL ES 3.1 onartzen du.
  • TURNIP Vulkan kontrolatzaileak eta Freedreno OpenGL kontrolatzaileak, Qualcomm Adreno GPUrako garatutakoak, Adreno a6xx gen4 GPUrako (a660, a635) hasierako euskarria dute.
  • RADV (AMD) Vulkan kontrolatzaileak kuling primitiborako laguntza gehitu du NGG (Next-Gen Geometry) itzal motorrak erabiliz. Windows plataforman RADV kontrolatzailea MSVC konpilatzailea erabiliz eraikitzeko gaitasuna ezarri da.
  • ANV Vulkan kontrolatzailean (Intel) eta Iris OpenGL kontrolatzailean prestaketa lanak egin dira datozen Intel Xe-HPG (DG2) txartel grafikoetarako laguntza emateko. Honek izpien trazadurari lotutako hasierako ezaugarriak eta izpien trazadura itzaltzaileentzako euskarria barne hartzen ditu.
  • Vulkan APIrako software-rasterizatzaile bat ezartzen duen lavapipe kontrolatzaileak (llvmpipe-ren analogoa, baina Vulkan-entzat, Vulkan API deiak Gallium APIra itzultzen dituena), "wideLines" modua onartzen du (1.0-tik gorako zabalera duten lerroetarako laguntza eskaintzen du).
  • GBM (Generic Buffer Manager) backend alternatiboen aurkikuntza eta karga dinamikorako laguntza ezarri da. Aldaketa Wayland laguntza hobetzea du helburu NVIDIA kontrolatzaileak dituzten sistemetan.
  • Zink kontrolatzaileak (OpenGL APIaren inplementazioa Vulkan-en gainean, hardware-azeleratutako OpenGL lortzeko aukera ematen duena, sistemak Vulkan APIa soilik onartzera mugatuta dauden kontrolatzaileak baditu) OpenGL luzapenak onartzen ditu GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_ARB_ARB_max. DRM formatuaren aldatzaileak gehitu dira (Direct Rendering Manager, VK_EXT_image_drm_format_modifier luzapena gaituta).
  • Luzapenetarako laguntza gehitu zaie Vulkan RADV (AMD), ANV (Intel) eta lavapipe kontrolatzaileei:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_dispositibo_fisikoa_drm (RADV);
    • VK_KHR_shader_azpigroup_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).

Iturria: opennet.ru

Gehitu iruzkin berria