【问题标题】:Vulkan - How to know what is current image layout?Vulkan - 如何知道当前的图像布局是什么?
【发布时间】:2019-10-10 03:44:57
【问题描述】:

在渲染或其他一些操作之后,我想将目标图像读入 cpu。 为此,首先需要进行布局转换并将图像的当前布局(旧布局)更改为允许将其数据传输到舞台图像的新布局 - VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL。

对于过渡操作,我需要同时给出当前布局和新布局。

但是我怎么知道当前的布局是什么? - 每个渲染过程可能会将 finalLayout 设置为不同的值,也可能会在某些时候完成一些转换。

我认为的一个解决方案是为每个图像存储其当前布局,并在每次渲染过程后以及每次转换操作后设置它。

这对吗?

【问题讨论】:

    标签: image layout transition vulkan


    【解决方案1】:

    但是我怎么知道当前的布局是什么? - 每个渲染过程可能会将 finalLayout 设置为不同的值,也可能会在某些时候完成一些转换。

    是的,但是创建了那些渲染通道。您发出了在该图像上使用这些渲染通道的命令。因此,在命令流中的任何位置,您都知道图像的布局。

    Vulkan 希望您了解自己的所作所为。你如何做到这一点取决于你。也许您总是将图像保持在最佳颜色附件中。也许您使用更高级别的层明确地跟踪它。它可以是任意数量的东西。

    但归根结底,这取决于您。权力越大,责任越大。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 2018-03-31
      • 1970-01-01
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多