Mesa 3D

Mesa 3D

Bilgi
Yaratıcı Brian paul
Tarafından geliştirildi Brian Paul, Tungsten Graphics, Inc. ( VMware tarafından satın alındı ), Intel , Linaro ve diğerleri.
İlk versiyon Ağustos 1993
Son sürüm 21.0.3 (21 Nisan 2021)
Gelişmiş sürüm 18.0.0-rc5 (Mart 21, 2018)
19.1.0-rc5 (5 Haziran 2019)
1.0 (Şubat 1995)
21.0.0-rc3 (27 Ocak 2021)
Depozito gitlab.freedesktop.org/mesa/mesa
Kalite güvencesi Sürekli entegrasyon
Yazılmış C , C ++ ve assembler
İşletim sistemi Linux , FreeBSD , NetBSD , OpenBSD ve Haiku
Tür Grafik
kitaplığı Yazılım
kitaplığı C kitaplığı ( d )
Lisans MIT lisansı
İnternet sitesi mesa3d.org

Mesa 3D bir olan serbest grafik kütüphanesi aslen tarafından geliştirilen, Brian Paul dan,Ağustos 1993, Hangisi genel bir uygulama sağlar OpenGL ulaşmak için üç boyutlu grafiklerin de gerçek zamanlı ve çoklu üzerinde platformlar . Mesa 3D resmi bir OpenGL uygulaması olmasa da, API'sinin yapıları, sözdizimi ve anlambilim OpenGL'ninkilerdir.

İçinde Temmuz 2007, Mesa 3D tek olanıdır Tamamen açık kaynak OpenGL uygulaması . Bu uygulamaya göre, öncelikle kullanılan X.Org 'ın X Pencere Sistemi için render için OpenGL kullanan, sürücülerin açık kaynak DRI X.Org/OpenGL. X.Org, GNU / Linux gibi Unix benzeri platformlarda çalışan çoğu grafiksel uygulama için temel işlevsellik sağlar .

Önemli bir güncelleme yapıldı Temmuz 2009Gallium3D üzerinde yürütülen çalışmaların dahil edilmesiyle, esas olarak Tungsten Graphics şirketi ( VMware tarafından satın alındı) tarafından geliştirilen ve başlangıçta Mesa 3D'nin yerini alması planlandı. Bu yeni sürüm, grafik sürücülerinin gerektirdiği benzersiz bir soyutlama düzeyi sunarak ve OpenGL, OpenGL ES , OpenCL veya hatta Direct3D'ye ( Wine'ın itiraz edebilir) dayalı farklı hızlandırma süreçlerini kullanabilen benzersiz bir soyutlama düzeyi sunarak grafik sürücülerinin geliştirilmesini basitleştirir . Genel olarak, mevcut grafik işlemcilerin kapasitelerinin daha iyi kullanımına izin vermeli ve evrensel bir video kod çözme yöntemi sağlayabilir. Son olarak, Gallium3D , önceden merkezi işlemciye (CPU) devredilen grafik işlemcisini (GPU) hesaplama görevleri için kullanmayı mümkün kılar (daha sonra GPU'larda veya GPGPU'da Genel Amaçlı hesaplamadan bahsediyoruz ).

Farklı mimariler için destek

X86 mimarisinde, AMD grafik işlemcileri ( R300 , R600 , Radeon ve RadeonSI sürücüleri ) ve Nvidia ( Yeni sürücü ) için ücretsiz sürücüler Gallium3D kullanır. At Intel, diğer taraftan, sadece i915 nesil işlemciler Galyum, daha yeni işlemciler (i965 mimarisi / sürücü) kullanmak, ücretsiz sürücüler için Mesa kullanmaya devam eder. SIMD x86 ve x86_64 (AMD64) üzerinden hesaplamaların hızlandırılması için montaj kodu da mevcuttur.

Açık ARM mimarisi , SIMD hızlanma (montaj kodu NEON ) 2012 yılından itibaren entegre edilmiştir.

Galyum kullanan ücretsiz sürücüler, farklı mimariler için Mesa ana hattında mevcuttur:

ARM'ın Mali grafik işlemcilerine gelince , geliştiricisi Mesa dışında kalmayı tercih eden Mali-400'ler için Lima sürücüsünün ilk versiyonu 2012'den itibaren durdu, ardından 2013'te terk edildi.Haziran 2017, Utgard mimarisinin Mali-400 ve 450 serisi işlemcilerini yönetir ve 2018 boyunca Mesa'ya entegre edilmelidir. 2 diğer sürücü, Bitfrost mimarisi için Midgard mimarisi (Mail-Txxx) için Chai (Mail-Gxx) , hemen hemen aynı zamanda başlayın ve 2018'in başlarından itibaren Panfrost adı altında birleştirildi . Ortak sürücü, 2021'in başlarından itibaren OpenGL 3.1 (masaüstü) ve OpenGL ES 3.0'ı desteklemektedir.

Gallium3D projesinden tamamen yazılım olan LLVMpipe işleme hızlandırıcısı , x86 mimarisine ve ARM mimarisine uyarlanmıştır . Sürüm 10.2'den beri varsayılan olarak Mesa 3D ile bağlantılıdır.Haziran 2014. Panfrost pilotunun yazarları, geliştirme aşamasında uygulanmayan işlevler üzerinde görüntülemeye izin vermek için bunu kullanmayı planlıyor.

Özellikleri

Mesa 3D, aşağıdaki Grafiksel Programlama Arayüzlerini uygular :

ve grafik donanımı için sürücüler .

Vulkan'a Sarmalayıcılar

Farklı 3B API'leri Vulkan'a dönüştürmek için aşağıdaki sürücüler ve dolayısıyla bu API için tasarlanmamış uygulamalarla performansından ve daha düşük güç tüketiminden yararlanın:

Tarihi

Başlangıçta, Mesa 3D 3D grafik tüm oluşturulmasını yaptığı merkez işlemci (CPU) düzeyinde , ama Mesa 3D mimarisi uygulamak için açtı donanım hızlandırmalı render de grafik işlemcisi (GPU) seviyesini bu görev için merkezi işlemciyi boşaltma. Donanım hızlandırmayı destekleyen ilk sürücülerden biri , çok popüler Voodoo I / II ve diğer grafik kartları için Glide API'sinin 3dfx sürücüsüydü . Tüm işleme, X sunucusunda dolaylı olarak yapıldı ve bu , işleme hızı açısından optimal değildi.

Direct Rendering Altyapı (DRI) sonuçta OpenGL uygulamaları için doğrudan bir 3D render arayüzü sağlayarak Mesa 3D içinde eski mimariyi başardı.

Sürüm 7.4, desteklenen donanımın (önce Intel, ATI ve NVidia daha sonra) , Grafik Yürütme Yöneticisi (GEM) ve DRI2 olan Linux grafik sisteminin gelişmelerinden yararlanmasına izin verdi , ardından Gallium3D kodu sürüm 7.5'e entegre edildi.

Sürüm 7.5 yayınlandı 17 Temmuz 2009 OpenGL sürüm 2.1'i uygular.

Sürüm 7.6 yayınlandı 28 Eylül 2009, OpenVG desteğini ve José Fonseca ve Zack Rusin tarafından VMware için geliştirilen llvmpipe'ın ( Düşük Seviyeli Sanal Makine ) alfa uygulamasını içerir , bu da kodu önceden derleyerek tamamen yazılım yorumlaması sırasında kodun belirli bölümlerini hızlandırmayı mümkün kılar.

Sürüm 7.7, yayınlandı 21 Aralık 2009, VMware'den Gallium " SVGA  " sürücüsünü ekleyerek  konuk sistemlerin sanallaştırma bağlamında 3B hızlandırmadan yararlanmasına olanak tanır .

Sürüm 8.0 Şubat 9 , 2012 OpenGL'nin 3.0 sürümünü uygular.

Sürüm 9.0, tarihinde yayınlandı Ekim 8 , 2012, OpenGL 3.1 için destek getiriyor. Özellikle Gallium3D'yi temel alan ücretsiz sürücülerle ilgili olarak, bu sürüm Nvidia ve AMD yongaları için OpenCL desteğini ekler (ancak R600g sürücüsü, konudaki ücretsiz sürücülerin en gelişmişidir) ve VDPAU'nun (şu an için sınırlı MPEG1 ve MPEG2).

Sürüm 9.1, yayınlandı 22 Şubat 2013, OpenGL ES 3.0 için destek getiriyor.

Sürüm 9.2, tarihinde yayınlandı 27 Ağustos 2013, Qualcomm tarafından ARM Snapdragon SoC'ları donatmak üzere tasarlanan Adreno yongaları için Gallium3D sürücüsünü entegre eder .

Sürüm 10.0, tarihinde yayınlandı 30 Kasım 2013, DRI3'ü entegre eder ve OpenGL 3.2 ve 3.3 için destek sunar.

Sürüm 10.1, yayınlandı 4 Mart 2014, bazı nVidia ve ATI yongaları ekleyerek OpenGL 3.3 desteğini iyileştirir.

Sürüm 10.2 yayınlandı 6 Haziran 2014, varsayılan olarak llvmpipe'a bağlanan ilk kişidir . Bu, yazılım oluşturmayı büyük ölçüde geliştirir (bir grafik yongasıyla hızlandırma olmadan).

Sürüm 10.3, tarihinde yayınlandı Eylül 19 , 2014, bu API'nin işlevlerini ekleyerek OpenGL 4.x desteğini geliştirir.

Sürüm 10.4 yayınlandı 14 Aralık 2014.

Sürüm 11.0, tarihinde yayınlandı Eylül 12 , 2015 OpenGL 4.1'i uygular.

Sürüm 12.0, tarihinde yayınlandı Temmuz 8 , 2016OpenGL 4.3'ü uygular, Vulkan için kısmi destek ekler .

Sürüm 13.0 yayınlandı 1 st Kasım 2016 OpenGL 4.4'ü uygular.

Sürüm 17.0 yayınlandı Şubat 13 , 2017 OpenGL 4.5'i uygular.

Sürüm 17.1 yayınlandı 10 Mayıs 2017 Intel i965 mimarilerinde yazılım rasterizer, OpenGL 4.2'de geometrik gölgelendiriciler uygular.

Sürüm 17.2 yayınlandı 4 Eylül 2017 mimariye bağlı olarak bazı ek işlevler sağlar.

Sürüm 17.3 yayınlandı Aralık 8 , 2017 libtxc_dxtn ekler, varsayılan olarak onu destekleyen mimarilerde GL_EXT_texture_compression_s3tc ve GL_ANGLE_texture_compression_dxt doku sıkıştırmalarını etkinleştirir.

Sürüm 18.0 yayınlandı 27 Mart 2018 OpenGL 4.5'i uygular.

Sürüm 19.0'da yayınlandı 13 Mart 2019 OpenGL 4.5'i uygular.

Sürüm 19.1 yayınlandı 11 Haziran 2019 OpenGL 4.5'i uygular.

Sürüm 19.2 25 Eylül 2019, Vulkan 1.1 desteğini uygular , Midgard ailelerinin ARM Mali grafik işlemcileri için Panfrost sürücüsünü geliştirir ve Linux 5.2 çekirdeğinin piyasaya sürülmesiyle ilişkili olan X11'i bu sürücü ile kullanılabilir hale getirir.

Sürüm 20.3, tarihinde yayınlandı 3 Aralık 2020, llvmpipe için GL 4.5'i uygular, OpenGL'yi Vulkan ile eşleştiren Vulkan, Zink'e eşdeğer Lavapipe sürücüsünü ekler, OpenGL 3.3'ü destekler. Yeni V3DK sürücüleri (Broadcom BCM2711 için Vulkan). Son olarak, Panfrost üzerinden ARM Mali Bifrost GPU'lar, Intel Gen12 Alder Lake GPU'ların yanı sıra AMD Dimgrey Cavefish ve VanGogh grafikleri de dahil olmak üzere yeni GPU'lar destekleniyor.

Notlar ve referanslar

  1. "  http://www.mesa3d.org/intro.html  "
  2. Mesa 21.0.3 Sürüm Notları  " ( 22 Nisan 2021'de erişildi )
  3. "  https://cgit.freedesktop.org/mesa/mesa/tag/?h=mesa-18.0.0-rc5  " ( 22 Mart 2018'de erişildi )
  4. "  https://lists.freedesktop.org/archives/mesa-dev/2019-June/219864.html  "
  5. "  https://mesa3d.org/VERSIONS  "
  6. [Duyuru] 21.0.0 mesa-RC3  " (erişilen 1 st 2021 Şubat )
  7. (in) Sayfa GalliumCompute wiki dri.freedesktop.org
  8. (inç) " Galyum 3D Video Kod Çözme Durumu" , Michael Larabel, Phoronix,14 Eylül 2008
  9. (in) "  Mesa - kök / src / galyum / sürücüleri / i915  " üzerine cgit.Freedesktop.org
  10. "  Mesa - yol: kök / src / galyum / sürücüler / etnaviv  "
  11. (inç) "  Mesa - kök / src / galyum / sürücüler / freedreno  "
  12. (inç) "  Mesa - kök / src / galyum / sürücüler / regra  "
  13. (in) "  VC4  " üzerinde hesap Github Eric Anholt
  14. (inç) "  Mesa - kök / src / galyum / sürücüler / VC4  "
  15. (inç) "  Mesa - kök / src / galyum / sürücüler / VC5  "
  16. (in) Alyssa Rosenzweig, "  Masaüstü OpenGL 3.1 Panfrost ile Mali GPU'lar ise  " on Collabora.com ,13 Ocak 2021
  17. (in) Michael Larabel, "  Mesa 12.0, OpenGL ile Intel Vulkan & Birçok Diğer Özellikler 4.3 desteği Çıkış  " ile ilgili Phoronix.com ,Temmuz 8, 2016
  18. (in) Jason Ekstrand, "  NIR: Mesa için yeni bir derleme IR  " üzerine jlekstrand.net
  19. (in) "  Kök / src / galyum / state_trackers / dokuz / README  " üzerinde Git FreeDesktop
  20. (inç) "  OpenVG Durum İzleyicisi  "
  21. (inç) "  Mesa 10.6.0 Sürüm Notları / 14 Haziran 2015  "
  22. (en) ARB_texture_float http://cgit.freedesktop.org/mesa adresinde
  23. (in) "  Linux / Şarap için DXVK, Vulkan merkezli D3D11'i ve D3D10da uygulanması  " üzerine Github hesap doitsujin
  24. (in) Erik Faye-Lund, Collabora (in) üzerine "  Zink: Fall Update  " , 24 Ekim 2019
  25. (in) "  zink: opengl over vulkan  " ı cgit.freedesktop.org adresinde tanıtın ,28 Ekim 2019
  26. (inç) "Mesa 7.5 Sonunda Yeni Özelliklerle Çıktı" Michael Larabel, Phoronix,18 Temmuz 2009
  27. (inç) "Mesa 7.5 Sürüm Notları"
  28. (inç) Mesa 7.6 Sürüm Notları, 28 Eylül 2009
  29. (in) "OpenCL / Clover Is Closer To Merging Mesa" , Michael Larabel, Phoronix,2 Nisan 2012
  30. http://mesa3d.org/relnotes/11.0.0.html
  31. http://mesa3d.org/relnotes/12.0.0.html
  32. https://www.mesa3d.org/relnotes/13.0.0.html
  33. https://www.mesa3d.org/relnotes/17.0.0.html
  34. https://www.mesa3d.org/relnotes/17.1.0.html
  35. https://www.mesa3d.org/relnotes/17.2.0.html
  36. https://www.mesa3d.org/relnotes/17.3.0.html
  37. (in) "  Mesa 18.0.0 Sürüm Notları / 27 Mart 2018  " tarihinde Mesa3d.org
  38. (in) "  Mesa 19.0.0 Sürüm Notları / TBD  " üzerine Mesa3d.org
  39. (in) "  Mesa 19.1.0 Sürüm Notları / 11 Haziran 2019  " tarihinde Mesa3d.org
  40. (in) "  Mesa 19.2.0 Sürüm Notları / 2019/09/25  " üzerine Mesa3d.org
  41. (in) "  20.3.0 Taksit  " ile ilgili Meda3D.org

İlgili Makaleler

Dış bağlantılar