Regarding the aforementioned clEnqueueWriteBuffer, I have noticed that it can take a pointer to a host memory region with the most current bits. This eludes to the fact that the memory object is updated with current pointer information when clEnqueueWriteBuffer is called. Does this mean that as long as a cl_mem object is declared that I can forgo assigning a memory object until this call is made?
What I mean by this is, can I have an empty cl_mem object, yet declare the pointer to memory upon the clEnqueueWriteBuffer, or to replace the contents of that object upon the call?