Quote Originally Posted by GeLeTo
Currently sending data to VBO (or any other buffer data object) works like this:
1. Allocate and fill the data
2. Give it to glBufferData
3. glBufferData immediately makes a copy of the data (or sends it directly to the card which is unlikely)
4. When glBufferData returns the data is no longer needed and I can delete or modify it

What I want is to skip #3 to avoid the extra copy done by glBufferData. When using glBufferDataRetained the data is not immediately copied and I cannot change/delete it till OpenGL signals that this data is no longer needed.
OK, I understand now. I think both Sun and Apple have done vendor extensions along these lines, and we have sometimes discussed it as a future use case in the ARB. If we do something like this in a future release I hope it would use sync objects to signal the driver being done with the client buffer, but at present it's not being actively discussed in the group.