バルブカンパニー
テストが完了し、機能が最終決定されたら、ACO はメインの Mesa 構成に含めるように提供される予定です。
Valve が提案したコードは、非常に高いコンパイル速度を達成するだけでなく、ゲーム アプリケーション シェーダーに可能な限り最適なコード生成を提供することを目的としています。 Mesa のシェーダ コンパイラは LLVM コンポーネントを使用していますが、これでは望ましいコンパイル速度が得られず、制御フローを完全に制御できず、過去に重大なエラーが発生しました。さらに、LLVM から移行することで、より積極的な不一致分析とレジスタ負荷のより詳細な制御を実装できるようになり、より効率的な実行可能ファイルを生成できるようになります。
ACO は C++ で書かれ、JIT コンパイルを念頭に置いて設計されており、高速反復データ構造を使用して、リンク リストや def-use チェーンなどのポインターベースの構造を回避します。中間コード表現は完全に以下に基づいています。
現在、ディスクリート AMD GPU (dGPU VI+) ではピクセル (フラグメント) シェーダーとコンピューティング シェーダーのみがサポートされています。ただし、ACO はすでに、Shadow of the Tomb Raider や Wolfenstein II の複雑なシェーダーを含む、テストされたすべてのゲームのシェーダーを正しく収集しています。テスト用に提案された ACO プロトタイプは、コンパイル速度の点で AMDGPU シェーダー コンパイラーのほぼ 2 倍速く、RADV ドライバーを備えたシステムで実行すると一部のゲームで FPS が向上することが実証されています。
出所: オープンネット.ru