cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

n_treutner
Journeyman III

Problem after change from 2.2 to 2.3

I played around with various settings and figured out, that the sampler created in the Host Program (i.e. the C++ code), which was then passed to the GPU as a parameter (as i wrote before, this had to be done, to work on my boss' NVidia GPU) doesn't work as it should in 2.3

The Sampler was defined as

imageSampler = clCreateSampler(context, false, CL_ADDRESS_CLAMP, CL_FILTER_NEAREST, &status);

Now, some image-access still works: This means, that i can read values from images with the sampler and, for example, write them to a outputBuffer. What seems to be a problem is accessing the image inside loops with changing parameters/coordinates. In the end i got the same results for all iterations of the loop, which was the major problem I had.

When i create the sampler inside the OCL code (just after the pragmas), it works just like it should. It looks like this:

__constant sampler_t imageSampler2 = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST;

Maybe the Sampler created outside the OCL-code, passed as a parameter, is some kind of semi-static?

0 Likes