Lëshimi i Mesa 21.2, një zbatim falas i OpenGL dhe Vulkan

Pas tre muajsh zhvillimi, u publikua lëshimi i një zbatimi falas të OpenGL dhe Vulkan API - Mesa 21.2.0. Lëshimi i parë i degës Mesa 21.2.0 ka një status eksperimental - pas stabilizimit përfundimtar të kodit, do të lëshohet një version i qëndrueshëm 21.2.1.

Mesa 21.2 përfshin mbështetje të plotë për OpenGL 4.6 për drejtuesit 965, iris (Intel), radeonsi (AMD), zink dhe llvmpipe. Mbështetja OpenGL 4.5 është e disponueshme për GPU-të AMD (r600) dhe NVIDIA (nvc0), dhe mbështetja OpenGL 4.3 për virgl (GPU virtuale Virgil3D për QEMU/KVM). Mbështetja Vulkan 1.2 është e disponueshme për kartat Intel dhe AMD, si dhe në modalitetin emulator (vn), mbështetja Vulkan 1.1 është e disponueshme për GPU-të Qualcomm dhe rasterizuesin e softuerit lavapipe, dhe Vulkan 1.0 është i disponueshëm për GPU-të Broadcom VideoCore VI (Raspberry Pi 4) .

Risitë kryesore:

  • Drejtuesi i asahi OpenGL përfshihet me mbështetjen fillestare për GPU-në e përfshirë në çipat Apple M1. Drejtuesi përdor ndërfaqen Gallium dhe mbështet shumicën e veçorive të OpenGL 2.1 dhe OpenGL ES 2.0, por nuk është ende i përshtatshëm për ekzekutimin e shumicës së lojërave. Kodi i drejtuesit bazohet në drejtuesin noop të referencës Gallium, me disa kode të transferuara nga drejtuesi Panfrost që po zhvillohet për GPU-në ARM Mali.
  • Drejtuesi Crocus OpenGL përfshihet me mbështetje për GPU-të më të vjetra Intel (bazuar në mikroarkitekturat Gen4-Gen7), të cilat nuk mbështeten nga drejtuesi i Iris. Ndryshe nga shoferi i965, drejtuesi i ri bazohet në arkitekturën Gallium3D, i cili ia jep detyrat e menaxhimit të kujtesës drejtuesit DRI në kernelin Linux dhe siguron një gjurmues të gatshëm të gjendjes me mbështetje për një cache të ripërdorimit të objekteve dalëse.
  • Shoferi PanVk është përfshirë, duke ofruar mbështetje për API grafike Vulkan për GPU-të ARM Mali Midgard dhe Bifrost. PanVk po zhvillohet nga punonjësit e Collabora dhe pozicionohet si vazhdimësi e zhvillimit të projektit Panfrost, i cili ofron mbështetje për OpenGL.
  • Drejtuesi Panfrost për GPU-të Midgard (Mali T760 dhe më të reja) dhe GPU-të Bifrost (Mali G31, G52, G76) mbështet OpenGL ES 3.1. Planet e ardhshme përfshijnë punën për të rritur performancën në çipat Bifrost dhe zbatimin e mbështetjes GPU bazuar në arkitekturën Valhall (Mali G77 dhe më të reja).
  • Ndërtesat 32-bit x86 përdorin udhëzime sse87 në vend të udhëzimeve x2 për llogaritjet matematikore.
  • Shoferi Nouveau nv50 për GPU-në NVIDIA GT21x (GeForce GT 2×0) mbështet OpenGL ES 3.1.
  • Shoferi Vulkan TURNIP dhe drejtuesi OpenGL Freedreno, i zhvilluar për GPU-në Qualcomm Adreno, kanë mbështetje fillestare për GPU-në Adreno a6xx gen4 (a660, a635).
  • Shoferi RADV (AMD) Vulkan ka shtuar mbështetje për heqjen primitive duke përdorur motorët shader NGG (Next-Gen Geometry). Është zbatuar aftësia për të ndërtuar drejtuesin RADV në platformën Windows duke përdorur përpiluesin MSVC.
  • Puna përgatitore është kryer në drejtuesin ANV Vulkan (Intel) dhe drejtuesin Iris OpenGL për të ofruar mbështetje për kartat grafike të ardhshme Intel Xe-HPG (DG2). Kjo përfshin veçoritë fillestare që lidhen me gjurmimin e rrezeve dhe mbështetjen për shaderët e gjurmimit të rrezeve.
  • Drejtuesi lavapipe, i cili zbaton një rasterizues softueri për Vulkan API (analog me llvmpipe, por për Vulkan, duke përkthyer thirrjet Vulkan API në Gallium API), mbështet modalitetin "linja të gjera" (siguron mbështetje për linjat me gjerësi që tejkalon 1.0).
  • Mbështetja për zbulimin dinamik dhe ngarkimin e backend-eve alternative GBM (Generic Buffer Manager) është zbatuar. Ndryshimi synon të përmirësojë mbështetjen e Wayland në sistemet me drejtues NVIDIA.
  • Drejtuesi Zink (një implementim i OpenGL API në krye të Vulkan, i cili ju lejon të merrni OpenGL të përshpejtuar harduerike nëse sistemi ka drejtues të kufizuar në mbështetjen vetëm për API-në Vulkan) mbështet zgjerimet OpenGL GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_texL_ dhe GL_ARB_steder_texL. _shader_clock. U shtuan modifikues të formatit DRM (Menaxheri i paraqitjes së drejtpërdrejtë, shtesa VK_EXT_image_drm_format_modifier e aktivizuar).
  • Mbështetja për shtesat është shtuar në drejtuesit Vulkan RADV (AMD), ANV (Intel) dhe lavapipe:
    • VK_EXT_kulmi_provokues (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_pajisja_fizike_drm (RADV);
    • VK_KHR_shader_nëngrupi_uniform_kontroll_rrjedhës (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapip);
    • VK_EXT_line_rasterization (lavapip);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_separate_depth_stencil_layouts (lavapip);
    • VK_EXT_përdorimi_stencil_e ndarë (lavapip);
    • VK_EXT_extended_dynamic_state2 (lavapip).

Burimi: opennet.ru

Shto një koment