emscripten-core/emscripten
View on GitHubglMapBufferData requires INVALIDATE_BUFFER?
Open
#6,692 opened on Jun 13, 2018
GLgood first bughelp wanted
Description
The emulation for glMapBufferRange requires MAP_WRITE and INVALIDATE_BUFFER here:
https://github.com/kripken/emscripten/blob/a4d732f3094cfb2377609e1661044679f9c79734/src/library_gl.js#L1744
Under the hood, in glUnmapBufferData, the call is translated into a glBufferSubData. I don't think requiring INVALIDATE_BUFFER is correct here -- that means that the entire buffer should be discarded, not just the range that's mapped (which is INVALIDATE_RANGE). I think that:
- The requirement should be changed to
INVALIDATE_RANGE - A check should be done that there isn't an existing mapping for that buffer (additional restriction of only one range mapping per buffer, which GL doesn't have -- this could be relaxed with additional code, but probably not necessary in practice)
(Note I haven't tested any of this, this is just by code inspection from a question someone asked)