Mesaコントローラー オープンソースのLinuxソフトウェアです AMD、NVIDIA、Intelハードウェアで利用可能。 Mesaのプロジェクトは、OpenGL仕様(インタラクティブな3Dグラフィックスをレンダリングするためのシステム)のオープンソース実装として始まりました。
何年もの間、 プロジェクトは、より多くのグラフィックAPIを実装するように成長しました、OpenGL ES(バージョン1、2、3)、OpenCL、OpenMAX、VDPAU、VA API、XvMC、およびVulkanを含みます。 さまざまなコントローラー デバイスの Mesaライブラリをさまざまな環境で使用できるようにします。 最新のGPUのソフトウェアエミュレーションから完全なハードウェアアクセラレーションまで。
Mesaは、OpenGLなどのグラフィックスAPIとオペレーティングシステムのカーネル内のグラフィックスドライバーの間にベンダーに依存しない変換レイヤーを実装します。
Mesa 19.3.0の新機能は何ですか?
表19.3.0の発売が最近発表されました。 これは、実験的な状態を持つMesaブランチの最初のバージョンです。、その後 コードの最終的な安定化である安定バージョンは、Mesa19.3.1でリリースされます。
表19.3.0は IntelGPUの完全なOpenGL4.6サポート (i965、アイリスドライバー)、OpenGL4.5のサポート GPU AMD(r600、radeonsi)およびNVIDIA(nvc0)、 と同様に IntelおよびAMDカードのVulkan1.1サポート。
へ RADV (AMDチップ用のVulkanドライバー) シェーダーをコンパイルするための新しいバックエンド »ACO»、これ LLVMシェーダーコンパイラの代替としてValveを開発しています。 バックエンドの目標は、コードがゲームアプリケーションシェーダーに最適な方法でレンダリングされるようにし、非常に高いコンパイル速度を実現することです。
ACOはC ++で記述されており、JITコンパイルに使用できるようにすることを目的として開発されており、高速データ構造を使用して反復し、ポインターベースの構造を回避します。
中間コードレンダリングは完全にSSA(静的単一代入)に基づいており、シェーダーに応じてレコードを正確に事前計算して、レコードの割り当てを可能にします。 ACOは、Vega 8、Vega 9、Vega 10、Vega 20、およびNavi 10GPUでアクティブ化できます。 環境変数「RADV_PERFTEST = aco」を設定します。
ZinkGallium3Dドライバーはコードベースに含まれています、Vulkanの上にOpenGLAPIを実装します。 Zinkを使用すると、Vulkan APIのみのサポートに制限されているドライバーがシステムにある場合に、ハードウェアアクセラレーションによるOpenGLを取得できます。
ANVVulkanドライバーとOpenGLirisドライバーは、第12世代Intelチップ(Tiger Lake、gen12)の初期サポートを提供します。 Linuxカーネルには、バージョン5.4以降のTigerLakeサポートコンポーネントが含まれています。
たくさん i965およびアイリスコントローラー 彼らは提供しました へのサポート の中間プレゼンテーション SPIR-Vシェーダー、これらのドライバーで完全なOpenGL4.6サポートを実現することを可能にしました。
追加されました RadeonSIドライバーへのAMDNavi 14GPUサポート ビデオデコードアクセラレーションツールが改善されました。たとえば、H.8およびVP265形式での9Kビデオデコードのサポートが追加されました。
La コンパイルモードのサポート 保護がコントローラーに追加されました Vulkan by RADV、シェーダーをコンパイルするために実行されるシーケンスは、seccompメカニズムを使用して分離されます。
AMDチップのドライバーは、プログラムインターフェイスを使用して、AMDGPUコアモジュールに表示されたGPUをリセットします。
それはのために働いています AMD RadeonAPUを搭載したシステムのパフォーマンスを向上させます。 また、IntelGPU用のGallium3DIrisドライバーのパフォーマンスも向上しました。
新しいの OpenGL拡張機能 私たちが見つけることができる広告で強調表示されている追加:
- i965のGL_ARB_gl_spirv
- GL_ARB_spirv _for i965
- i965のGL_EXT_demote_to_helper_invocation
AMDカード用のVulkanRADV拡張機能:
- VK_ANDROID_external_memory_android_hardware_buffer
- VK_EXT_shader_demote_to_helper_invocation
- VK_KHR_シェーダー_クロック
- VK_KHR_shader_float_controls
- VK_KHR_spirv_1_4
- VK_KHR_timeline_semaphore
- VK_EXT_texel_buffer_alignment
Intelカード用のANVVulkan拡張機能:
- VK_INTEL_パフォーマンス_クエリ
- VK_KHR_vulkan_memory_model
- VK_EXT_shader_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_KHR_spirv_1_4
- VK_KHR_シェーダー_クロック
- VK_KHR_shader_float_controls
さらに、GCN(Graphics Core Next)マイクロアーキテクチャに基づく7nmAPU「Vega」機器のアーキテクチャに関するドキュメントのAMDによる出版物を見ることができます。
最後に、この新しいバージョンのMesaドライバーが今後数日間でメインのLinuxディストリビューションで配布されるのを待ちます。
こんにちは。 RADV_PERFTEST = acoシステム変数の設定について多くの場所で読んだことがありますが、その方法を説明している人は誰もいません...誰かがその変数をアクティブ化または構成する方法についてコメントする場合は詳細になります。 ありがとう
ACOは、理論的には「デフォルトで有効」になっているシェーダー用のコンパイラです(つまり、何もする必要はありません)。最新バージョンのMesaドライバーを用意するか、Steamの場合は強制的に使用することができます。コンパイラがゲームランチャーにオプション `RADV_PERFTEST = aco%command%`を追加します
または、システム全体でオプションをアクティブにするには、環境変数RADV_PERFTEST = acoを〜/ .profileファイルに追加するだけです。
すべてのGPUに互換性があるわけではないため、このコンパイラを起動できないことを考慮に入れる必要があります。
ネットワークには、各Linuxディストリビューションで変数を構成する方法や、Steam、Lutrisなどの一部のアプリケーションに関する詳細情報があります。
ご挨拶!