如何在vulkan中写入Android硬件缓冲区?

wd2eg0qa  于 2023-02-02  发布在  Android
关注(0)|答案(1)|浏览(165)

在OpenGL中,内存由android硬件缓冲区导入的纹理可以用作样本图像和颜色附件。然而,当我尝试使用内存由android硬件缓冲区导入的纹理时,似乎可以成功地从纹理中采样。但当写入外部内存时,它不像预期的那样工作。那么如何在vulkan中直接写入android硬件缓冲区?
我查阅了Vulkan的文档规范,在下面的链接11. 2. 17章的https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#memory-external-handle-types中,我发现规范说“Vulkan可以导入具有外部格式的Android硬件缓冲区,但由于图像内容是以不可发现的和可能专有的表示形式,具有外部格式的图像只能用作采样图像,只能使用启用Y 'CBCR转换的采样器进行采样,并且必须具有最佳平铺”。这是否意味着具有外部格式的Android硬件缓冲区不能用作要写入的颜色附件?

bf1o4zei

bf1o4zei1#

根据vulkan咨询的规范,这意味着带有外部格式的Android硬件缓冲区不能用作写入的颜色附件。然而,这并不意味着这些硬件缓冲区根本不能使用。相反,硬件缓冲区可以用作采样图像,并且图像必须使用启用Y'CBCR转换的采样器进行采样。并且必须有最佳的平铺,所以如果你想把那个硬件缓冲区作为一个颜色附件来写入,你必须找到另一种方法。

相关问题