# OpenCL not reading from GL texture

## Recommended Posts

ic0de    1012
I'm trying to write an OpenCL raycaster but I have run into a problem where I try to read from an image that was generated from an opengl texture but I get an undefined result that is far larger than it is supposed to be. I'm fairly sure the GL image is loaded correctly because I can see it in Gdebugger. The simplest case is here:

The texture is in RGBA8 format using GL_UNSIGNED_BYTE

my kernel:
__constant sampler_t smp = CLK_NORMALIZED_COORDS_FALSE|CLK_ADDRESS_REPEAT|CLK_FILTER_LINEAR;

__kernel void draw( __read_only image2d_t screen)
{
float4 sample = read_imagef(heightmap, smp, samplepos); // returns a number far larger than 1.0
}
Here I set up the image and arguments:
heightmapimage = cl::Image2DGL(compute->getContext(), CL_MEM_READ_ONLY, GL_TEXTURE_2D, 0, tex1.texPointer, &err);

VECTOR_CLASS<cl::Memory> mem_objects;
mem_objects.push_back(heightmapimage);
compute->getCommandQueue().enqueueAcquireGLObjects(&mem_objects);
raycaster.setArg(0, heightmapimage);

Is this a bug? If not where did I screw up? Edited by ic0de

##### Share on other sites
ic0de    1012
Not sure how but I seemed to fix the problem by fiddling around, although I'm not sure what exactly I did. Edited by ic0de