Pointer to the array in kernel

I am currently working on implementing OpenCL into graphics application Krita for speeding up filters.

The problem is:
API of the application is giving me raw data from the image which means pointer to the start of 1D Array of pixels. ( uint8* pixels )
And i need the most effective solution for putting it into kernel. What is the right way? Should i convert the data to OpenCL vector(current solution which seams slow) or is there possibility that
kernel(GPU) can take pointer from host memory and work with it in parallelized way?