8

Vulkan 1.0 仕様書、chapter.5(Command Buffers) 4 番目の段落を引用すると、

「特に指定されていない限り、また明示的な同期がなければ、コマンド バッファーを介してキューに送信されたさまざまなコマンドは、相互に関連する任意の順序で、および/または同時に実行される可能性があります。」

章 2.1.1 (キュー操作) の第 1 段落では、次のようにも述べています。

「...単一のキューに送信されたコマンド バッファーは、送信された順序で再生され、各バッファー内のコマンドは、記録された順序で再生されます」

第 5 章の「任意の順序」は、順不同でさえ意味しますか? では、2.1.1 章の「提出された順に再生する」という記述に抵触しませんか? または、コマンドは順番どおりに「PLAYED BACK」されますが、「EXECUTED」は順不同ですか?

4

1 に答える 1

11

第 2.1.1 章では、コマンドの API 順序を定義しています。キューに送信されたコマンド バッファーの順序と、コマンド バッファー内のコマンドの順序 (およびコマンド内のプリミティブの順序)。

第 5 章では、API の順序付けは実行の順序付けに関して何の意味も持たない言っています。第 2.1.1 章には、これに対する特定の例外 (ブレンディング、デプス テスト) が含まれ、第 6 章では、2.1.1 で定義された API 順序付けに基づいて、実行順序を強制できる実行依存関係が導入されます。ただし、明示的に順序付けを宣言する場合を除き、API の順序付けは、実行に関してキューが必要とする他のことを禁止するものではありません。

そうは言っても、仕様はそれをうまく説明していません。

于 2016-03-10T14:55:51.980 に答える