AnsweredAssumed Answered

OpenCL kernel not run when passed a Renderbuffer

Question asked by klkblake on Jul 27, 2013
Latest reply on Sep 18, 2013 by himanshu.gautam

When an image2d_t created from an OpenGL Renderbuffer is passed to a kernel, the kernel completes instantly without actually running whenever it is enqueued. For example, in the following:

__kernel void sample(__write_only image2d_t output) {
        printf("The kernel is being executed.\n");
        uint2 pixel = {get_global_id(0), get_global_id(1)};
        write_imagef(output, as_int2(pixel), (float4)(1, 1, 1, 1));
}

no text is ever printed to the screen, and the renderbuffer is not written to. I've attached a testcase.

I'm running on 64bit linux, with a Core i5 3570, and a Radeon HD 7970.

Outcomes