AnsweredAssumed Answered

CL/GL Interop with GL3.3 sampler objects

Question asked by kozmo on Feb 14, 2012

After a long fight I finally managed to get a CL/GL interoperability working with shared texture. Since OpenGL 3.3 I have used sampler objects which encapsulates some of texture object's states. The problem is, OpenCL requires for clCreateFromGLTexture2D that a target texture is complete. And it is obviously incomplete since it requires sampler object present alongside and one can't provide it for OpenCL. That makes using sampler objects a bit futile.

 

Any idea why OpenCL requires texture object to be complete since I explicitly provide mipmap level (0) which is clearly defined? Is my only choice to use:

 

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

 

even if I later use sampler objects for this task?

 

By the way, why R700 doesn't support images, I can do much of the same work with GLSL for 8 render targets.

Is it purely lack of software support for it or there's some hardware requirements that make it impossible for 4000 series to support images?

Outcomes