昨日の分岐の前に Mesa 22.3 に着陸し、Mesa 22.3-rc1 リリースでは、Midgard および Bifrost 世代用の Arm Mali オープンソース ドライバーである Panfrost 用の Mesa シェーダー ディスク キャッシュが有効になっています。
Panfrost Gallium3D は Mesa 22.3 で必要な変更を行い、一般的な Mesa シェーダー ディスク キャッシュを有効にしました。これにより、Panfrost のゲーム ロード時間が短縮され、その後のゲーム ロードでシェーダーの再コンパイルが回避され、シェーダーをオンザフライでコンパイルするゲームのパフォーマンスが向上します。これは、他のドライバーが使用する Mesa オンディスク キャッシュと同じですPanfrost のサポートには統合ビットが必要でした。
Collabora の Alyssa Rosenzweig が、シェーダー ディスク キャッシュのサポートを解決しました。
Mesa シェーダーのディスク キャッシュを Panfrost に接続します。以前のパッチのプリコンパイルと組み合わせると、シェーダーの再コンパイル ジャンクが大幅に削減されます。
これは最低限の実装です。明らかな将来の作業には以下が含まれます:
-内部 (ガリウムの外部) シェーダーのキャッシュ
-シェーダーのディスク サイズを削減するための finalize_nir の実装
このマージの一環として「描画時のジャンク」を回避するために、CSO の作成時にシェーダーをプリコンパイルする機能もあります。シェーダーのプリコンパイルは、新しい「プリコンパイル」デバッグ オプションを使用して有効にできます。
このマージによる Panfrost の Mesa シェーダ ディスク キャッシュ サポートの詳細。