This content has been marked as final. Show 3 replies
Is it hard to implement GL_AMD_pinned_memory?
It would be very nice for my game as I need to upload tons of small buffer updates. At the moment, I call glMapBufferRange(unsync) for every buffer update, but this command wastes most of the time of my gpu thread.
I know it is possible for such a GL_STREAM_DRAW buffer to map once and continue on using this pointer after unmapping, so I guess the hardware should be able to do this extension. There is also a _huge_ speedup in this hacky way, but I may never release such a hack...
By the way, uploading all of the update at once wouldn't be easy. I'll usually need to change some states and always call glDraw between two buffer updates. glDraw could be easyly delayed, but as I have to change the state between, It would be hard to delay the state changes.
I've tested my parts on a Sandy Bridge GPU.