“For OpenGL interoperability with OpenCL, there currently is a requirement on when the
OpenCL context is created and when texture/buffer shared allocations can be made. To use
shared resources, the OpenGL application must create an OpenGL context and then an
OpenCL context. All resources (GL buffers and textures) created after creation of the OpenCL
context can be shared between OpenGL and OpenCL. If resources are allocated before the
OpenCL context creation, they cannot be shared between OpenGL and OpenCL.”
I and several others have wasted days on this.
As far as I am aware only the AMD opencl requires this.
Can this be made apart of the opencl standard or at least included as a note. i.e. some vendors require that OpenGL shared objects be created AFTER the cl context has been created.
It seems logical to me that the openGL driver needs to know that the object will be shared with openCL at creation time.
It would also be good to comment on casting double4 3d co-ordinates used in opencl calculations to GLFloat4 in the vbo for display.