OpenGL ve Vulkan'ın ücretsiz bir uygulaması olan Mesa 21.2'ın piyasaya sürülmesi

Üç aylık geliştirme sürecinin ardından OpenGL ve Vulkan API'lerinin ücretsiz uygulaması Mesa 21.2.0 yayınlandı. Mesa 21.2.0 şubesinin ilk sürümü deneysel statüdedir - kodun son stabilizasyonunun ardından stabil bir sürüm 21.2.1 yayınlanacaktır.

Mesa 21.2, 4.6, iris (Intel), radeonsi (AMD), zink ve llvmpipe sürücüleri için tam OpenGL 965 desteğine sahiptir. AMD (r4.5) ve NVIDIA (nvc600) GPU'lar için OpenGL 0 desteği ve virgl (QEMU/KVM için Virgil4.3D sanal GPU) için OpenGL 3 desteği mevcuttur. Intel ve AMD kartları için Vulkan 1.2 desteğinin yanı sıra emülatör (vn) modunda da mevcuttur; Qualcomm GPU'lar ve lavapipe yazılımı rasterleştirici için Vulkan 1.1 desteği ve Broadcom VideoCore VI (Raspberry Pi 1.0) GPU'lar için Vulkan 4 desteği mevcuttur.

Ana yenilikler:

  • Asahi OpenGL sürücüsü, Apple M1 yongalarında sağlanan GPU için ilk desteğe dahil edilmiştir. Sürücü Gallium arayüzünü kullanıyor ve OpenGL 2.1 ile OpenGL ES 2.0'ın çoğu özelliğini destekliyor ancak henüz çoğu oyunu çalıştırmak için uygun değil. Sürücü kodu noop referanslı Gallium sürücüsünü temel alır ve bazı kodlar ARM Mali GPU için geliştirilen Panfrost sürücüsünden taşınır.
  • Crocus OpenGL sürücüsü, Iris sürücüsü tarafından desteklenmeyen eski Intel GPU'lar (Gen4-Gen7 mikro mimarilerine dayalı) desteğine dahildir. i965 sürücüsünün aksine, yeni sürücü, bellek yönetimi görevlerini Linux çekirdeğindeki DRI sürücüsüne aktaran ve çıktı nesnesi yeniden kullanım önbelleği desteğiyle hazır bir durum izleyici sağlayan Gallium3D mimarisini temel alıyor.
  • ARM Mali Midgard ve Bifrost GPU'lar için Vulkan grafik API'sine destek sağlayan PanVk sürücüsü dahildir. PanVk, Collabora çalışanları tarafından geliştirildi ve OpenGL desteği sağlayan Panfrost projesinin geliştirilmesinin devamı olarak konumlandırıldı.
  • GPU Midgard (Mali T760 ve daha yenisi) ve GPU Bifrost (Mali G31, G52, G76) için Panfrost sürücüsü OpenGL ES 3.1'i destekler. Diğer planlar arasında Bifrost yongalarının performansını artırmaya yönelik çalışmalar ve Valhall mimarisine (Mali G77 ve daha yenisi) dayalı GPU'lara yönelik destek yer alıyor.
  • X32 mimarisine yönelik 86 bit yapılar, matematik hesaplamaları için x87 talimatları yerine sse2 talimatlarını kullanır.
  • NVIDIA GT50x GPU (GeForce GT 21x2) için Nouveau nv0 sürücüsü OpenGL ES 3.1'i destekler.
  • Qualcomm Adreno GPU'lar için geliştirilen TURNIP Vulkan sürücüsü ve Freedreno OpenGL sürücüsü, Adreno a6xx gen4 (a660, a635) GPU'lar için başlangıç ​​desteğine sahiptir.
  • RADV (AMD) Vulkan sürücüsüne NGG (Yeni Nesil Geometri) gölgelendirici motorlarını kullanan ilkel ayıklama desteği eklendi. MSVC derleyicisini kullanarak Windows platformunda RADV sürücüsünü oluşturma yeteneği uygulandı.
  • ANV Vulkan sürücüsü (Intel) ve Iris OpenGL sürücüsü, gelecek Intel Xe-HPG (DG2) grafik kartlarını desteklemeye hazırlık niteliğindedir. Bu, ışın izleme ve ışın izleme için gölgelendirici desteğiyle ilgili başlangıç ​​özelliklerini içerir.
  • Vulkan API'si için bir yazılım rasterleştiricinin uygulanmasına sahip lavapipe sürücüsü (llvmpipe'a benzer, ancak Vulkan API çağrılarını Gallium API'ye çeviren Vulkan için) "wideLines" modunu destekler (genişliği 1.0'dan büyük çizgiler için destek sağlar) ).
  • Alternatif GBM (Genel Arabellek Yöneticisi) arka uçlarının dinamik keşfi ve yüklenmesi için destek uygulandı. Değişiklik, NVIDIA sürücülü sistemlerde Wayland desteğini geliştirmeyi amaçlıyor.
  • Zink sürücüsü (sistemde yalnızca Vulkan API'sini desteklemekle sınırlı sürücüler olduğunda donanım hızlandırmalı OpenGL elde etmenize olanak tanıyan, Vulkan'ın üzerinde bir OpenGL API uygulaması) GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_ARB_texture_filter_minmax ve GL_ARB_shader_clock OpenGL uzantılarını destekler. DRM biçimi değiştiricileri eklendi (Doğrudan İşleme Yöneticisi, VK_EXT_image_drm_format_modifier uzantısı dahil).
  • RADV (AMD), ANV (Intel) ve lavapipe Vulkan sürücülerine uzantı desteği eklendi:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extished_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 (lav borusu);
    • VK_EXT_line_rasterization (lav borusu);
    • VK_EXT_multi_draw(ANV, lav borusu, RADV);
    • VK_KHR_separate_length_stencil_layouts (lav borusu);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extished_dynamic_state2 (lav borusu).

Kaynak: opennet.ru

Yorum ekle