2017-03-29 8 views
1

バッファに私のD3D12_HEAP_TYPE_UPLOADバッファからD3D12_COMMAND_LIST_TYPE_COPYキューを使ってデータをコピーします。コピーが作成された後、私はリソースをD3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFERに戻す必要があります。ただし、コピーキューはこの状態への移行をサポートしていません。どうすればいいですか?リソースを移行するだけでコピーキューにコピーされましたが、コピーキューはサポートしていません。

コピーした直後にフェンスを挿入する必要があります。次に、グラフィックキューのフェンスを待ってそこでトランジションを実行してください。それは本当に快適な選択肢ではありません。他の可能性は?

答えて

0

コピーキューでコピーコマンドリストを使用すると、リソースは引用に記述されているように共通に崩壊します。次に、共通サイトから頂点への移行と定数バッファーの使用サイトを明示的に切り替えることができます。また、共通サイトはいずれにせよ普及するため、何もしません。

ExecuteCommandLists 操作がGPU上で完了すると、次のリソースが減衰します:持っている任意のキュー・タイプをリソースをコピー キューにアクセスされている、または 上の任意のキュー・タイプ、またはテクスチャリソース上のリソースをバッファリングし D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESSフラグが設定されています。