可以将OpenCL风格的SPIR-V转换为Vulkan风格的SPIR-V吗?
我知道可以使用clspv将OpenCL C编译成Vulkan风格的SPIR-V,但我还没有看到任何迹象表明它也支持摄取OpenCL式的SPIR-V。
如果您知道如何实现这一点,感谢您的任何建议:)
发布于 2019-11-12 22:24:13
我知道可以使用clspv将OpenCL C编译成Vulkan风格的SPIR-V,但我还没有看到任何迹象表明它也支持摄取OpenCL风格的SPIR-V。
clspv编译为“Opencl风格的SPIR-V”。IOW,它使用了OpenCL执行模型和OpenCL内存模型。你的问题的答案(通常)是否定的。问题是,例如GLSL使用逻辑内存模型,这意味着指针是抽象的,所以你不能有指向指针的指针。而OpenCL允许这样做,因为它使用物理内存模型。另外,在OpenCL中还有其他东西是不能用GLSL表达的。您可以尝试编写一些翻译器,它可能适用于一些非常简单的代码,但仅此而已。
https://stackoverflow.com/questions/58756296
复制相似问题