OGStudio / openscenegraph-cross-platform-examples

OpenSceneGraph cross-platform examples: specific things you can do with OSG across platforms
16 stars 11 forks source link

Android: gl_useProgram error after returning to the app twice #1

Open rainman110 opened 5 years ago

rainman110 commented 5 years ago

Steps to reproduce:

  1. Run e.g. android example 5. node selection
  2. Press back button to go back to laucher
  3. Return into app via task manager
  4. Again press back button to go to launcher
  5. Return second time into app

Now, the following error is printed numerous times to logcat:

device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501

I suppose it happens due to the recreation of the EGL context.

rainman110 commented 5 years ago

Full logcat (Android emulator Pixel 2, OSG 3.6.3):

2019-07-17 22:05:49.582 10057-10057/? I/gamestudio.ex0: Not late-enabling -Xcheck:jni (already on)
2019-07-17 22:05:49.595 10057-10057/? E/gamestudio.ex0: Unknown bits set in runtime_flags: 0x8000
2019-07-17 22:05:49.595 10057-10057/? W/gamestudio.ex0: Unexpected CPU variant for X86 using defaults: x86
2019-07-17 22:05:49.675 10057-10057/org.opengamestudio.ex05 W/gamestudio.ex0: JIT profile information will not be recorded: profile file does not exits.
2019-07-17 22:05:49.679 10057-10057/org.opengamestudio.ex05 I/chatty: uid=10134(org.opengamestudio.ex05) identical 10 lines
2019-07-17 22:05:49.679 10057-10057/org.opengamestudio.ex05 W/gamestudio.ex0: JIT profile information will not be recorded: profile file does not exits.
2019-07-17 22:05:49.696 10057-10057/org.opengamestudio.ex05 I/InstantRun: starting instant run server: is main process
2019-07-17 22:05:49.825 10057-11121/org.opengamestudio.ex05 D/OpenGLRenderer: Swap behavior 1
2019-07-17 22:05:49.826 10057-11121/org.opengamestudio.ex05 W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
2019-07-17 22:05:49.826 10057-11121/org.opengamestudio.ex05 D/OpenGLRenderer: Swap behavior 0
2019-07-17 22:05:49.827 10057-11123/org.opengamestudio.ex05 W/EGLview: creating OpenGL ES 2.0 context
2019-07-17 22:05:49.827 10057-11121/org.opengamestudio.ex05 D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 0 0
2019-07-17 22:05:49.827 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglCreateContext: 0xdda1a240: maj 3 min 0 rcv 3
2019-07-17 22:05:49.828 10057-11123/org.opengamestudio.ex05 D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 0 0
2019-07-17 22:05:49.828 10057-11123/org.opengamestudio.ex05 D/EGL_emulation: eglCreateContext: 0xe5aac020: maj 3 min 0 rcv 3
2019-07-17 22:05:49.904 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xdda1a240: ver 3 0 (tinfo 0xdda0f750)
2019-07-17 22:05:49.906 10057-11123/org.opengamestudio.ex05 W/Gralloc3: mapper 3.x is not supported
2019-07-17 22:05:49.932 10057-11123/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xe5aac020: ver 3 0 (tinfo 0xe5ab4eb0)
2019-07-17 22:05:49.935 10057-11121/org.opengamestudio.ex05 D/OpenGLRenderer: Setting buffer count to 3, min_undequeued 1, extraBuffers 0
2019-07-17 22:05:49.942 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xdda1a240: ver 3 0 (tinfo 0xdda0f750)
2019-07-17 22:05:49.946 10057-11121/org.opengamestudio.ex05 D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 0
2019-07-17 22:05:53.295 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xdda1a240: ver 3 0 (tinfo 0xdda0f750)
2019-07-17 22:05:54.662 10057-10057/org.opengamestudio.ex05 W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@7e0b82c
2019-07-17 22:05:54.701 10057-11121/org.opengamestudio.ex05 D/OpenGLRenderer: Swap behavior 1
2019-07-17 22:05:54.701 10057-11121/org.opengamestudio.ex05 W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
2019-07-17 22:05:54.701 10057-11121/org.opengamestudio.ex05 D/OpenGLRenderer: Swap behavior 0
2019-07-17 22:05:54.703 10057-11139/org.opengamestudio.ex05 W/EGLview: creating OpenGL ES 2.0 context
2019-07-17 22:05:54.707 10057-11121/org.opengamestudio.ex05 D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 0 0
2019-07-17 22:05:54.707 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglCreateContext: 0xdda1a300: maj 3 min 0 rcv 3
2019-07-17 22:05:54.710 10057-11139/org.opengamestudio.ex05 D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 0 0
2019-07-17 22:05:54.710 10057-11139/org.opengamestudio.ex05 D/EGL_emulation: eglCreateContext: 0xe5a830c0: maj 3 min 0 rcv 3
2019-07-17 22:05:54.716 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xdda1a300: ver 3 0 (tinfo 0xdda0f750)
2019-07-17 22:05:54.815 10057-11121/org.opengamestudio.ex05 D/OpenGLRenderer: Setting buffer count to 3, min_undequeued 1, extraBuffers 0
2019-07-17 22:05:54.825 10057-11139/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xe5a830c0: ver 3 0 (tinfo 0xe5a72160)
2019-07-17 22:05:54.834 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xdda1a300: ver 3 0 (tinfo 0xdda0f750)
2019-07-17 22:05:54.839 10057-11121/org.opengamestudio.ex05 D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 0
2019-07-17 22:05:56.394 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xdda1a300: ver 3 0 (tinfo 0xdda0f750)
2019-07-17 22:05:57.311 10057-10057/org.opengamestudio.ex05 W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@d7f02f4
2019-07-17 22:05:57.343 10057-11121/org.opengamestudio.ex05 D/OpenGLRenderer: Swap behavior 1
2019-07-17 22:05:57.344 10057-11121/org.opengamestudio.ex05 W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
2019-07-17 22:05:57.344 10057-11121/org.opengamestudio.ex05 D/OpenGLRenderer: Swap behavior 0
2019-07-17 22:05:57.345 10057-11121/org.opengamestudio.ex05 D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 0 0
2019-07-17 22:05:57.345 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglCreateContext: 0xdda1a240: maj 3 min 0 rcv 3
2019-07-17 22:05:57.347 10057-11145/org.opengamestudio.ex05 W/EGLview: creating OpenGL ES 2.0 context
2019-07-17 22:05:57.353 10057-11145/org.opengamestudio.ex05 D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 0 0
2019-07-17 22:05:57.353 10057-11145/org.opengamestudio.ex05 D/EGL_emulation: eglCreateContext: 0xf0c7f2e0: maj 3 min 0 rcv 3
2019-07-17 22:05:57.360 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xdda1a240: ver 3 0 (tinfo 0xdda0f750)
2019-07-17 22:05:57.463 10057-11145/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xf0c7f2e0: ver 3 0 (tinfo 0xf0cccf00)
2019-07-17 22:05:57.472 10057-11121/org.opengamestudio.ex05 D/OpenGLRenderer: Setting buffer count to 3, min_undequeued 1, extraBuffers 0
2019-07-17 22:05:57.490 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xdda1a240: ver 3 0 (tinfo 0xdda0f750)
2019-07-17 22:05:57.495 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.498 10057-11121/org.opengamestudio.ex05 D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 1 0
2019-07-17 22:05:57.580 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.654 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.660 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.665 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.683 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.694 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.713 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.741 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.755 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.773 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.792 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:57.805 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:58.715 10057-11145/org.opengamestudio.ex05 I/chatty: uid=10134(org.opengamestudio.ex05) GLThread 1733 identical 53 lines
2019-07-17 22:05:58.732 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:05:58.748 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:00.000 10057-11145/org.opengamestudio.ex05 I/chatty: uid=10134(org.opengamestudio.ex05) GLThread 1733 identical 72 lines
2019-07-17 22:06:00.017 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:00.033 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:00.051 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:00.412 10057-11145/org.opengamestudio.ex05 I/chatty: uid=10134(org.opengamestudio.ex05) GLThread 1733 identical 21 lines
2019-07-17 22:06:00.429 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:00.447 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.148 10057-11145/org.opengamestudio.ex05 I/chatty: uid=10134(org.opengamestudio.ex05) GLThread 1733 identical 40 lines
2019-07-17 22:06:01.163 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.182 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.202 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.234 10057-11145/org.opengamestudio.ex05 I/chatty: uid=10134(org.opengamestudio.ex05) GLThread 1733 identical 2 lines
2019-07-17 22:06:01.254 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.270 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.287 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.305 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.324 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.343 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.357 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.376 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.391 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.412 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.427 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.462 10057-11145/org.opengamestudio.ex05 I/chatty: uid=10134(org.opengamestudio.ex05) GLThread 1733 identical 2 lines
2019-07-17 22:06:01.477 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.497 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.513 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.529 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.821 10057-11145/org.opengamestudio.ex05 I/chatty: uid=10134(org.opengamestudio.ex05) GLThread 1733 identical 17 lines
2019-07-17 22:06:01.841 10057-11145/org.opengamestudio.ex05 E/emuglGLESv2_enc: device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glUseProgram:2041 GL error 0x501
2019-07-17 22:06:01.858 10057-11121/org.opengamestudio.ex05 D/EGL_emulation: eglMakeCurrent: 0xdda1a240: ver 3 0 (tinfo 0xdda0f750)
kornerr commented 5 years ago

Hi.

I don't have plans to fix Android issues any time soon since I currently focus on making Emscripten builds work everywhere (including Android). So far so good.

So if you have a patch to fix the issue, I'd be glad to merge it in.