public static CLMem clCreateSubBuffer( CLMem buffer, long flags, int buffer_create_type, ByteBuffer buffer_create_info, IntBuffer errcode_ret) { long function_pointer = CLCapabilities.clCreateSubBuffer; BufferChecks.checkFunctionAddress(function_pointer); BufferChecks.checkBuffer(buffer_create_info, 2 * PointerBuffer.getPointerSize()); if (errcode_ret != null) BufferChecks.checkBuffer(errcode_ret, 1); CLMem __result = CLMem.create( nclCreateSubBuffer( buffer.getPointer(), flags, buffer_create_type, MemoryUtil.getAddress(buffer_create_info), MemoryUtil.getAddressSafe(errcode_ret), function_pointer), buffer.getParent()); return __result; }