I am debugging a WebGL application running on Huawei MediaPad M3 with Mali T880 GPU. After a while the GPU crashes with the following entries in the log:
03-15 11:41:05.485 18747-19276/io.rendra.rendraodev E/chromium: [ERROR:gles2_cmd_decoder.cc(12769)] Offscreen context lost via ARB/EXT_robustness. Reset status = GL_GUILTY_CONTEXT_RESET_KHR 03-15 11:41:05.485 18747-19276/io.rendra.rendraodev E/chromium: [ERROR:gles2_cmd_decoder.cc(3623)] GLES2DecoderImpl: Context reset detected after MakeCurrent. 03-15 11:41:05.542 18747-19276/io.rendra.rendraodev E/DISPLAY GPU: mali gles error info : 3 at (vendor/hisi/thirdparty/gpu/arm/r8p0-01dev0/gles/src/state/mali_gles_state_error.c:54 - gles_state_set_error_internal)
I'm trying to find information about "error 3", but I can't seem to find any documentation of different error codes. If someone could point me in the right direction that would be much appreciated.
GL_VERSION: OpenGL ES 3.1 v1.r8p0-01dev0.aa829512e3c4ac5a9261cd1b826d668c
The error codes are just the internal encoding of the OpenGL ES error states you would otherwise get through glGetError(). In this case the error you are getting is GL_INVALID_OPERATION, which should be visible by calling glGetError() at this point in the program.
Based on the earlier error two lines up it looks like the context robustness extension in the browser has reset your context and killed your rendering, which typically occurs due to a timeout (e.g. browser determines that the graphics context is unresponsive). HTH, Pete