リソースバリアの存在の
重要性は、リソースバリアによって完了する必要があるリソースの状態遷移をマークすることにより、GPU に2つの非常に重要なポイントを持たせることです。
- リソースの同期
- リソースの表現/保管
リソースの同期
たとえば、前のものはコンピュートシェーダーで記述されたuavで、次のsrvはpxielシェーダーで読み込まれ、
それはuavからsrvへの変換です。
GPUの複数の実行の間に並列処理が存在する可能性があるため、ここにuav2srvバリアを挿入すると、同期を待機する役割を果たす可能性があります。
リソースの保存方法に
はレイアウトなどが含まれます。さまざまな用途に応じてさまざまな最適化方法がありますが、これは一般にあまり透過的ではありません。
各GPUの各アーキテクチャは異なる場合があります。
つまり、1つの原則は、リソースの状態がリソースの状態に可能な限り近く、正しく正確に表現されることです。
3種類のバリア:
- 遷移バリアは、最も一般的な、異なるリソース状態間の遷移です
- uavバリア:これは複数のcmdの間であり、リソースは常にuavである可能性がありますが、同期が必要です。現時点では、それらはuavであるため、遷移バリアになることはできないため、dx12は特にuavバリアを提供します。実際、特殊な種類の遷移バリアとして理解できます。フォーム。
- エイリアシングバリア