Is Device Memory copy required between different kernels

I just want to confirm this.

Let’s say I created a Device Buffer, So there is no enquequeBuffer or Host_Ptr

 clCreateBuffer(context, CL_MEM_READ_WRITE,4 * sizeof(cl_int), NULL, &error);

Kernel A populates the above buffer, and then I launch Kernel B which uses the data populated by Kernel A. There is no need for enqueueing the buffer back to host and host to device, as the data is already in device memory, right ?

So, Please confirm if above can be allowed ?

okay, I found it, The above works.