When creating a buffer in OpenCL, one passes a flags bitfield. One of these possible flags is CL_MEM_READ_WRITE, being the lowest bit in the field (value 1 << 0). Its documentation says that "it is the default".
That means I could pass either 0 or 1 in the lowest bit, with 0 in the next two bits (i.e. not set CL_MEM_WRITE_ONLY nor CL_MEM_READ_ONLY) - and supposedly, the result in both cases is the same - a read-and-write buffer.
Is that really how clCreateBuffer() is supposed to behave? And if it is - why does this flag exist?
flagsparameter, which is missing from 3.0 specs. I opened an issue on Github.