4

レンダー パスの添付ファイルには、フィールドの初期レイアウトと最終レイアウトが必要であり、ドキュメントでそのように説明されています。

initialLayoutは、レンダー パス インスタンスの開始時に添付イメージ サブリソースが配置されるレイアウトです。

finalLayoutは、レンダー パス インスタンスが終了したときに添付画像サブリソースが遷移するレイアウトです。レンダー パス インスタンスの間、必要に応じて、アタッチメントは各サブパスで異なるレイアウトを使用できます。

これは、レンダー パス インスタンスを呼び出して終了すると、アタッチメントが自動的に移行されるということですか? それとも、プログラマーがレンダー パスの前後にこれらのレイアウトへの移行を行う必要があるということですか? ありがとう

4

1 に答える 1

7

言語の違いに注意してください。

initialLayoutは、レンダー パス インスタンスの開始時に添付イメージサブリソースが配置されるレイアウトです。

finalLayoutは、レンダー パス インスタンスが終了したときに添付画像サブリソースが遷移するレイアウトです。

レンダー パスがサブパス間にレイアウト トランジションを自動的に挿入する必要があると考えると、より明確になります。そのためには、添付ファイルが現在あるレイアウトと、遷移先のレイアウトをいつでも認識している必要があります。InitialLayout は、イメージ サブリソースがレンダー パスに入るときのレイアウトに関する情報を提供します。

ただし、自動レイアウト遷移レンダー パスの開始時に発生しますが、initialLayout から、添付ファイルを最初に使用するサブパスの添付ファイル参照で指定されたレイアウトへと移行します。同様に、最後のサブパスで使用されたレイアウトから finalLayout に割り当てられたレイアウトへの自動レイアウト遷移があります。

ここでは、イメージ バリアの oldLayout に適用されるのと同じルールが initialLayout にも適用されると想定しています。特に:

oldLayout は、VK_IMAGE_LAYOUT_UNDEFINED、VK_IMAGE_LAYOUT_PREINITIALIZED、またはバリアの影響を受ける画像領域の現在のレイアウトである必要があります。

したがって、initialLayout は、画像のコンテンツを破棄するかどうかのヒントとして使用できます。添付ファイルの説明の有効な使用法に有効な画像レイアウトが含まれていないことに驚いています。

于 2016-06-03T12:25:06.843 に答える