描述符集和自动布局转换

时间:2017-09-03 12:58:38

标签: vulkan

我有一个通过imageStore写的图像。在此部分中,此图像采用GENERAL布局。但是,在此过程结束时,我创建了一个图像内存屏障,以将其转换为布局SHADER_READ_ONLY。这是一种“错误”。之后,我将这个图像提供给一个带有GENERAL布局的DescriptorImageInfo,并且我没有来自图层的任何错误(它运行良好,但我使用一个NVIDIA,所以这可能是正常的。)

但是,在阅读完规范之后,就写了:

  

imageLayout是在访问此描述符时,imageView可访问的图像子资源所在的布局。 imageLayout用于类型VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER和VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT的描述符更新。

“将会”让我想到自动布局过渡。我对吗?错误?如果我错了,为什么这层不告诉我?这是一个错误吗?

1 个答案:

答案 0 :(得分:2)

“将会”这里并不意味着自动转换:您声明在通过描述符访问图像时,您将安排图像处于该布局中。

如果您使用该描述符进行绘制并且图像与描述符期望的布局不同,则验证层应该发出错误。如果不是,那就是验证错误,可以在此处提交:https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers