emscripten-core/emscripten
Vedi su GitHubglMapBufferData requires INVALIDATE_BUFFER?
Open
#6692 aperta il 13 giu 2018
GLgood first bughelp wanted
Metriche repository
- Star
- (27.361 star)
- Metriche merge PR
- (Merge medio 19g 10h) (147 PR mergiate in 30 g)
Descrizione
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)