2010 Khronos Group
glFlushMappedBufferRange 3G
glFlushMappedBufferRange indicate modifications to a range of a mapped buffer

## C Specification

void `glFlushMappedBufferRange` GLenum target GLintptr offset GLsizeiptr length

## Parameters

target

  Specifies the target of the flush operation. target must be `GL_ARRAY_BUFFER`, `GL_COPY_READ_BUFFER`, `GL_COPY_WRITE_BUFFER`, `GL_ELEMENT_ARRAY_BUFFER`, `GL_PIXEL_PACK_BUFFER`, `GL_PIXEL_UNPACK_BUFFER`, `GL_TEXTURE_BUFFER`, `GL_TRANSFORM_FEEDBACK_BUFFER`, or `GL_UNIFORM_BUFFER`.

offset

  Specifies the start of the buffer subrange, in basic machine units.

length

  Specifies the length of the buffer subrange, in basic machine units.

## Description

`glFlushMappedBufferRange` indicates that modifications have been made to a range of a mapped buffer. The buffer must previously have been mapped with the `GL_MAP_FLUSH_EXPLICIT_BIT` flag. offset and length indicate the modified subrange of the mapping, in basic units. The specified subrange to flush is relative to the start of the currently mapped range of the buffer. `glFlushMappedBufferRange` may be called multiple times to indicate distinct subranges of the mapping which require flushing.

## Errors

`GL_INVALID_VALUE` is generated if offset or length is negative, or if offset + length exceeds the size of the mapping.

`GL_INVALID_OPERATION` is generated if zero is bound to target.

`GL_INVALID_OPERATION` is generated if the buffer bound to target is not mapped, or is mapped without the `GL_MAP_FLUSH_EXPLICIT_BIT` flag.

## See Also

glMapBufferRange, glMapBuffer, glUnmapBuffer

## Copyright

Copyright 2010 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.