Я пытаюсь запустить шум проекта OpenCL, включенного в документацию XCode.Что такое определитель адресного пространства в OpenCL?
У меня есть одна ошибка, что я не понимаю:
----------------------------------------------------------------------
Using active OpenGL context...
----------------------------------------------------------------------
Connecting to NVIDIA GeForce 320M...
----------------------------------------------------------------------
Loading kernel source from file 'noise_kernel.cl'...
----------------------------------------------------------------------
Building compute program...
[CL_DEVICE_NOT_AVAILABLE] : OpenCL Error : Error: Build Program driver returned (10007)
Break on OpenCLErrorBreak to debug.
OpenCL Warning : clBuildProgram failed: could not build program for 0x1022600 (GeForce 320M) (err:-2)
Break on OpenCLWarningBreak to debug.
[CL_BUILD_ERROR] : OpenCL Build Error : Compiler build log:
<program source>:58:21: error: global variables must have a constant address space qualifier
static const float4 ZERO_F4 = (float4)(0.0f, 0.0f, 0.0f, 0.0f);
Там есть ошибка в этой последней строке, которая включает в себя константную переменную. Как вы это понимаете? Похоже, что компилятор отклоняет ZERO_F4, потому что он не const, но, как вы можете видеть, это на самом деле.
Были ли внесены некоторые изменения в компиляторы, которые нарушают предыдущий (предположительно рабочий?) Код? Я сейчас исправляю другой пример кода с той же проблемой (Grass ..) – alecail
Я полагаю, что это ошибка, которая, возможно, была исправлена, поскольку образцы были написаны, да. Сама спецификация всегда указывала, что переменные глобальной области должны быть '__constant'. –