dx12のリソースバリア

リソースバリアの存在の
重要性は、リソースバリアによって完了する必要があるリソースの状態遷移をマークすることにより、GPU に2つの非常に重要なポイントを持たせることです。

  • リソースの同期
  • リソースの表現/保管

リソースの同期

たとえば、前のものはコンピュートシェーダーで記述されたuavで、次のsrvはpxielシェーダーで読み込まれ、
それはuavからsrvへの変換です。
GPUの複数の実行の間に並列処理が存在する可能性があるため、ここにuav2srvバリアを挿入すると、同期を待機する役割を果たす可能性があります。

リソースの保存方法に
はレイアウトなどが含まれます。さまざまな用途に応じてさまざまな最適化方法がありますが、これは一般にあまり透過的ではありません。
各GPUの各アーキテクチャは異なる場合があります。
つまり、1つの原則は、リソースの状態がリソースの状態に可能な限り近く、正しく正確に表現されることです。

3種類のバリア:

  • 遷移バリアは、最も一般的な、異なるリソース状態間の遷移です
  • uavバリア:これは複数のcmdの間であり、リソースは常にuavである可能性がありますが、同期が必要です。現時点では、それらはuavであるため、遷移バリアになることはできないため、dx12は特にuavバリアを提供します。実際、特殊な種類の遷移バリアとして理解できます。フォーム。
  • エイリアシングバリア

リファレンス
リソースバリアを使用してDirect3D 12でリソースの状態を同期する

发布了787 篇原创文章 · 获赞 465 · 访问量 167万+

おすすめ

転載: blog.csdn.net/ccanan/article/details/105086046