是否可以将OpenCL样式的SPIR-V转换为Vulkan样式的SPIR-V?
我知道可以使用clspv将OpenCL C编译为Vulkan风格的SPIR-V,但是我没有看到任何迹象表明它也支持摄取OpenCL风格的SPIR-V。
如果您知道如何实现这一目标,则谢谢您的建议:)
答案 0 :(得分:1)
我知道可以使用clspv将OpenCL C编译为 Vulkan风格的SPIR-V,但我没有看到任何迹象表明它也 支持摄取OpenCL样式的SPIR-V。
clspv编译为“ Opencl样式的SPIR-V”。 IOW,它使用OpenCL执行模型以及OpenCL内存模型。通常,您的问题的答案是“否”。问题是例如GLSL使用逻辑内存模型,这意味着指针是抽象的,因此您不能拥有指向指针的指针。虽然OpenCL允许这样做,因为它使用物理内存模型。另外,OpenCL中还有其他内容无法在GLSL中表达。您可以尝试编写一些翻译程序,并且它可能适用于一些非常简单的代码,但仅此而已。