It means exactly what it says.
The value returned is implementation dependent, but in general it will look like this:
Say you have X
bytes as the maximum amount of system memory that you can allocate for a mem object. And say Y
is the maximum value of bytes per pixel supported (This again depends on which all formats are supported). Then the value of the constant will in general be X/Y
or lesser.
For example, if your image format is CL_RGBA
and CL_UNSIGNED_INT32
, then the bytes per pixel is 16
Assuming you meant the image pixels are garbage when you said "reads become garbage", it is definitely not caused because of this constant. You seem to be within limits. Are you sure that the parent buffer has stored float pixels in CL_R
channel order?