描述符集和自动布局转换
Descriptor Set and automatic layout transition
我有一张通过 imageStore 写入的图像。在这部分中,此图像采用 GENERAL 布局。然而,在这一遍结束时,我制作了一个图像内存屏障以将其转换为布局 SHADER_READ_ONLY。这是一个 "kind of mistake"。之后,我将此图像提供给布局为 GENERAL 的 DescriptorImageInfo,并且图层没有任何错误(并且效果很好,但我使用了一个 NVIDIA,所以它可能是正常的)。
但是看了规范后,写的是:
imageLayout is the layout that the image subresources accessible from imageView will be in at the time this descriptor is accessed. imageLayout is used in descriptor updates for types VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT.
"will be" 让我想到了自动布局转换。我对吗?错误的?如果我错了,为什么图层不告诉我呢?这是一个错误吗?
"Will be" 此处并不意味着自动转换:您声明您将在通过描述符访问图像时将其安排在该布局中。
如果您在该描述符处于活动状态的情况下进行绘制并且图像的布局与描述符预期的布局不同,则验证层应该会发出错误。如果不是,那就是验证错误,可以在此处提交:https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.
我有一张通过 imageStore 写入的图像。在这部分中,此图像采用 GENERAL 布局。然而,在这一遍结束时,我制作了一个图像内存屏障以将其转换为布局 SHADER_READ_ONLY。这是一个 "kind of mistake"。之后,我将此图像提供给布局为 GENERAL 的 DescriptorImageInfo,并且图层没有任何错误(并且效果很好,但我使用了一个 NVIDIA,所以它可能是正常的)。
但是看了规范后,写的是:
imageLayout is the layout that the image subresources accessible from imageView will be in at the time this descriptor is accessed. imageLayout is used in descriptor updates for types VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT.
"will be" 让我想到了自动布局转换。我对吗?错误的?如果我错了,为什么图层不告诉我呢?这是一个错误吗?
"Will be" 此处并不意味着自动转换:您声明您将在通过描述符访问图像时将其安排在该布局中。
如果您在该描述符处于活动状态的情况下进行绘制并且图像的布局与描述符预期的布局不同,则验证层应该会发出错误。如果不是,那就是验证错误,可以在此处提交:https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.