emscripten-core/emscripten
GitHub で見るglMapBufferData requires INVALIDATE_BUFFER?
Open
#6,692 opened on 2018年6月13日
GLgood first bughelp wanted
Repository metrics
- Stars
- (27,361 stars)
- PR merge metrics
- (平均マージ 19d 10h) (30d で 147 merged PRs)
説明
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)