PDA

View Full Version : buffer usage while mapped



degasus
04-15-2013, 05:11 AM
Hi,

I like to see a flag for glMapBufferRange that will allow the usage of this buffer while mapped. The use case will be almost the same as for AMD_pinned_memory (streaming buffers without overhead) but with less pitfalls imo.
The main difference to AMD_pinned_memory is the implicit memory mangement.

Solved AMD_pinned_memory pitfalls:
- OS dependent alignment done by driver
- Usage after free: The pointer will be invalid after the glUnmap call and the memory will be deleted when it isn't needed any more by GL. glFinish isn't needed any more
- No dependencies to other drivers which may also do magic on this memory block

New issues:
- Current content has to be read back to cpu ram without GL_MAP_INVALIDATE_BUFFER_BIT, also with GL_MAP_INVALIDATE_RANGE_BIT.
-> Only done once in initialization
- Using of cpu memory is slow
-> Should only be used for streaming. So PCI-E is always the bottleneck

Markus

degasus
07-23-2013, 10:59 AM
Something like this was added to OpenGL 4.4: ARB_buffer_storage