Я знаю, что можно использовать clspv для компиляции OpenCL C в SPIR-V в стиле Vulkan, но я не видел никаких признаков того, что он также поддерживает прием SPIR-V в стиле OpenCL.
clspv компилируется в «Opencl-стиль SPIR-V». Таким образом, он использует модель выполнения OpenCL, а также модель памяти OpenCL. Ответ на ваш вопрос - нет (в общем). Проблема в том, что, например, GLSL использует модель логической памяти, что означает, что указатели являются абстрактными, поэтому вы не можете иметь указатели на указатели. Хотя OpenCL позволяет это, потому что он использует модель физической памяти. Плюс в OpenCL есть и другие вещи, которые нельзя выразить в GLSL. Вы могли бы попытаться написать некоторый переводчик, и он мог бы работать для некоторого очень простого кода, но это все.