Hi
The first put() method you use is relative whereas
the second put() method you use is absolute (cf. the Java documentation). In the first case, just call clBuffer.getBuffer().rewind() before calling clQueue.putWriteBuffer(clBuffer, true) and it should work.