Wine プロジェクトが Direct3D 1.7 実装を備えた Vkd3d 12 を公開

Wine プロジェクトは、Vulkan グラフィックス API へのブロードキャスト呼び出しを通じて動作する Direct3D 1.7 の実装を備えた vkd3d 12 パッケージのリリースを公開しました。 このパッケージには、Direct3D 3 の実装を備えた libvkd12d ライブラリ、シェーダー モデル 3 および 4 のトランスレーターを備えた libvkd5d-shader、Direct3D 3 アプリケーションの移植を簡素化する機能を備えた libvkd12d-utils のほか、ポートを含む一連のデモ サンプルが含まれています。 glxgears を Direct3D 12 に変換します。プロジェクト コードは、LGPLv2.1 に基づいてライセンス供与されています。

libvkd3d ライブラリは、グラフィックスとコンピューティング機能、キューとコマンド リスト、ハンドルとヒープ ハンドル、ルート署名、アウトオブオーダー アクセス、サンプラー、コマンド シグネチャ、ルート定数、間接レンダリング、クリア メソッドなど、ほとんどの Direct3D 12 機能をサポートします *( ) と Copy*()。 libvkd3d-shader では、シェーダ モデル 4 および 5 のバイトコードの中間 SPIR-V 表現への変換が実装されています。 頂点、ピクセル、テッセレーション、計算および単純なジオメトリ シェーダ、ルート署名のシリアル化と逆シリアル化をサポートします。 シェーダー命令には、算術演算、アトミックおよびビット演算、比較およびデータ フロー制御演算子、サンプル、収集およびロード命令、順序なしアクセス操作 (UAV、順序なしアクセス ビュー) が含まれます。

収録曲:

  • HLSL (高レベル シェーダー言語) のシェーダー コンパイラーを改善する作業が続けられました。
    • カスタム関数を呼び出し、配列をカスタム関数のパラメーターとして使用する機能が追加されました。
    • SV_DispatchThreadID、SV_GroupID、SV_GroupThreadID パラメーターのサポートが追加されました。
    • 組み込み関数 all()、 distance()、exp()、exp2()、frac()、lit()、reflect()、sin()、cos()、smoothstep()、sqrt()、rsqrt を追加しました() 、ステップ()、トランスポーズ()。
    • 「min16float」などの低精度浮動小数点型の初期サポートが追加されました。
  • Direct3D 1/2/3 シェーダー モデル プロファイルのサポートが大幅に改善されました。
  • DXBC バイナリ データの解析 (vkd3d_shader_parse_dxbc) とシリアル化 (vkd3d_shader_serialize_dxbc) のためのパブリック API を追加しました。

出所: オープンネット.ru

コメントを追加します