Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.5.0 Alpha
-
None
-
bfaa3442e3b38bc0867185db7a79506383fe82a1
Description
Canvas3D handles internal errors just by setting the last error enum to an internal attribute. This is wrong errors should be stored as a set of booleans that can be set and are cleared one by one when getError is called repeatedly, returning the error from each flag per call.
Also Canvas3D can end up hiding errors due to the logAllGLErrors implementation and the current implementation doesn't handle merging of internal errors and errors coming from OpenGL at all.
To fix the errors should be first merged from OpenGL to internal errors and then reported from those flags in getError one by one.