## Name

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_DISPATCH_INDIRECT_BUFFER`, `GL_DRAW_INDIRECT_BUFFER`, `GL_ELEMENT_ARRAY_BUFFER`, `GL_PIXEL_PACK_BUFFER`, `GL_PIXEL_UNPACK_BUFFER`, `GL_QUERY_BUFFER`, `GL_SHADER_STORAGE_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.

## Notes

The `GL_DISPATCH_INDIRECT_BUFFER` and `GL_SHADER_STORAGE_BUFFER` targets are available only if the GL version is 4.3 or greater.

The `GL_QUERY_BUFFER` target is available only if the GL version is 4.4 or greater.

## 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/.