/**
  * <a href="http://www.opengl.org/sdk/docs/man/html/glGetBufferSubData.xhtml">OpenGL SDK
  * Reference</a> Returns a subset of a buffer object's data store.
  *
  * @param target the target buffer object. One of:<br>
  *     {@link #GL_ARRAY_BUFFER ARRAY_BUFFER}, {@link #GL_ELEMENT_ARRAY_BUFFER
  *     ELEMENT_ARRAY_BUFFER}, {@link GL21#GL_PIXEL_PACK_BUFFER PIXEL_PACK_BUFFER}, {@link
  *     GL21#GL_PIXEL_UNPACK_BUFFER PIXEL_UNPACK_BUFFER}, {@link GL30#GL_TRANSFORM_FEEDBACK_BUFFER
  *     TRANSFORM_FEEDBACK_BUFFER}, {@link GL31#GL_UNIFORM_BUFFER UNIFORM_BUFFER}, {@link
  *     GL31#GL_TEXTURE_BUFFER TEXTURE_BUFFER}, {@link GL31#GL_COPY_READ_BUFFER COPY_READ_BUFFER},
  *     {@link GL31#GL_COPY_WRITE_BUFFER COPY_WRITE_BUFFER}, {@link GL40#GL_DRAW_INDIRECT_BUFFER
  *     DRAW_INDIRECT_BUFFER}, {@link GL42#GL_ATOMIC_COUNTER_BUFFER ATOMIC_COUNTER_BUFFER}, {@link
  *     GL43#GL_DISPATCH_INDIRECT_BUFFER DISPATCH_INDIRECT_BUFFER}, {@link
  *     GL43#GL_SHADER_STORAGE_BUFFER SHADER_STORAGE_BUFFER}, {@link
  *     ARBIndirectParameters#GL_PARAMETER_BUFFER_ARB PARAMETER_BUFFER_ARB}
  * @param offset the offset into the buffer object's data store from which data will be returned,
  *     measured in bytes
  * @param size the size in bytes of the data store region being returned
  * @param data a pointer to the location where buffer object data is returned
  */
 public static void glGetBufferSubData(int target, long offset, long size, ByteBuffer data) {
   if (LWJGLUtil.CHECKS) checkBuffer(data, size);
   nglGetBufferSubData(target, offset, size, memAddress(data));
 }
 /** DoubleBuffer version of: {@link #glGetBufferSubData GetBufferSubData} */
 public static void glGetBufferSubData(int target, long offset, DoubleBuffer data) {
   nglGetBufferSubData(target, offset, data.remaining() << 3, memAddress(data));
 }
 /** Unsafe version of {@link #glGetBufferSubData GetBufferSubData} */
 @JavadocExclude
 public static void nglGetBufferSubData(int target, long offset, long size, long data) {
   long __functionAddress = getInstance().GetBufferSubData;
   nglGetBufferSubData(target, offset, size, data, __functionAddress);
 }