リソース遷移の場合、リソースの「前」と「後」を知る必要がありますVkImageLayout
(たとえば、 にVkImageMemoryBarrier
渡されvkCmdPipelineBarrier
ます)。Vulkan は、API ドキュメント (この回答から) に明示的に記載されていない限り、コマンド バッファーの実行順序を保証しません。ただし、vkCmdPipelineBarrier
呼び出しの前後に、コマンド バッファー内のコマンド間に依存関係が作成されることを明示的に示しています。そのため、単一のコマンド バッファー内で画像が遷移する場合、いつでも画像のレイアウトを「知る」ことができます。
ただし、vkQueueSumbit
コマンド バッファーの実行順序は強制されません。2 つのコマンド バッファーがあり、それぞれがvkCmdPipelineBarrier
同じイメージを異なるレイアウトに遷移させる呼び出しを伴う場合、これら 2 つの操作の間に何らかの依存関係がありますか?または、この状況で明示的な同期が必要ですか?