我知道这很糟糕,但我被要求采用给定的界面,该界面在提交/呈现调用之前手动执行渲染目标的布局过渡。
因此,虽然我通常希望指定(在创建相应的渲染通道时)initialLayout
resp。finalLayout
对应于此类呈现目标的VkAttachmentDescription
VK_IMAGE_LAYOUT_UNDEFINED
VK_IMAGE_LAYOUT_PRESENT_SRC_KHR
和要VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
的相应VkAttachmentReference
的layout
,我不知道我现在应该如何设置这些字段。
似乎不可能告诉 API 执行无操作,即保留给定附件的当前布局。
(顺便说一句,有D3D12的类似D3D12_RESOURCE_STATES::D3D12_RESOURCE_STATE_UNORDERED_ACCESS
吗?
"no-op"没有意义。您必须控制布局,并且在将每个图像用于任何给定目的时,您需要知道用于该目的的每个图像的布局。如果您在其他人确定布局的代码中工作,那么这些人需要告诉您这些图像的布局(如果您需要保留渲染通道图像的数据,这种情况相当罕见)和/或需要在渲染通道之后。
如果您正在使用未提供此信息的 API 或代码结构,那么这就是您需要更改的内容。