Wine プロジェクトが Direct3D 1.2 実装を備えた Vkd3d 12 をリリース

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

libvkd3d ライブラリ サポートする Direct3D 12 のほとんどの機能 (グラフィックスとコンピューティング機能、キューとコマンド リスト、ハンドルとヒープ ハンドル、ルート署名、アウトオブオーダー アクセス、サンプラー、コマンド署名、ルート定数、間接レンダリング、Clear*() メソッドなど)そしてコピー*()。

libvkd3d-shader では、シェーダ モデル 4 および 5 のバイトコードの中間 SPIR-V 表現への変換が実装されています。 頂点、ピクセル、テッセレーション、計算および単純なジオメトリ シェーダ、ルート署名のシリアル化と逆シリアル化がサポートされています。 シェーダー命令には、算術演算、アトミックおよびビット演算、比較およびデータ フロー制御演算子、サンプル、収集およびロード命令、順序なしアクセス操作 (UAV、順序なしアクセス ビュー) が含まれます。

最も重要なものの中で イノベーション Vkd3d 1.2 では、次の点が強調表示されます。

  • libvkd3d-shader ライブラリは、サードパーティ プロジェクトで使用できるようになりました。
  • テッセレーション シェーダのサポート。
  • ルート署名の変換、シリアル化、および逆シリアル化のサポート (vkd3d_serialize_versioned_root_signature() および vkd3d_create_versioned_root_signature_deserializer())。
  • ストリーミング出力のサポート。
  • マルチサンプリング、リソース予約、
    間接的なインデックス付きレンダリング、ピクセル シェーダを使用しない深度レンダリング、さまざまなコマンド キューからのリソースへの同時アクセス、Null ビュー。

  • 追加された環境変数: libvkd3d の動作を変更するオプションを設定する VKD3D_CONFIG と、Vulkan API のデバイスをオーバーライドする VKD3D_VULKAN_DEVICE。
  • bufinfo シェーダ命令のサポートを追加しました。
    eval_centroid、
    eval_sample_index、
    ld2ms、
    サンプル_b、
    サンプル_d、
    サンプル情報、
    サンプルポ。

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

コメントを追加します