I dont know if this is the right place to post suggestions.
However, recently i've been digging into CL-GL interoperability, and i feel it's quite limited in many ways.
The biggest limitation i feel is that it is possible to obtain cl_mem buffers from OpenGL objects, such as Texture2D, Texture3D, BufferObject, RenderBuffer, but not the other way around.
There are some examples where OpenCL is used to postprocess OpenGL output, which makes perfectly sense.
However OpenCL can also be succesfully used to produce data that must be visualized with OpenGL.
So i think it would be very practical to be able to use cl_mem buffers in OpenGL without having to decide a priori how you want to use that buffer (therefore limiting yourself in using a specific buffer in a specific OpenGL mode, let say Texture3D)
and WITHOUT having to go through bufferObjects and therefore copying memory, as it is now if we want to have such a freedom
One more use of such capability (using cl_mem buffers in openGL directly) could be to use only a part of a buffer as , let say, texture.
So, for example, if we have a large buffer, containing 4D data, it would be nice to create 3D textures out of it without having to copy a part of the buffer each time using bufferObjects.
The same applies to 3D data and 2D textures extraction (slices)
what do you think?
Does it make sense, or going through bufferObject and thus copying data every time is not such a big deal?