Ryujinx-SDL/src/video/android
Sylvain Becker 005e2dff21 Android: prevents rare crashes when app goes to background or ends.
Make sure the thread is actually paused, and context backep-up, before
SurfaceView is destroyed (eg surfaceDestroyed() actually returns).

Add a timeout when surfaceDestroyed() is called, and check 'backup_done' variable.

It prevents crashes like:

  #00  pc 000000000000c0d0  /system/lib64/libutils.so (android::RefBase::incStrong(void const*) const+8)
  #01  pc 000000000000c7f4  /vendor/lib64/egl/eglSubDriverAndroid.so (EglAndroidWindowSurface::UpdateBufferList(ANativeWindowBuffer*)+284)
  #02  pc 000000000000c390  /vendor/lib64/egl/eglSubDriverAndroid.so (EglAndroidWindowSurface::DequeueBuffer()+240)
  #03  pc 000000000000bb10  /vendor/lib64/egl/eglSubDriverAndroid.so (EglAndroidWindowSurface::GetBuffer(EglSubResource*, EglMemoryDesc*)+64)
  #04  pc 000000000032732c  /vendor/lib64/egl/libGLESv2_adreno.so (EglWindowSurface::UpdateResource(EsxContext*)+116)
  #05  pc 0000000000326dd0  /vendor/lib64/egl/libGLESv2_adreno.so (EglWindowSurface::GetResource(EsxContext*, EsxResource**, EsxResource**, int)+56)
  #06  pc 00000000002ae484  /vendor/lib64/egl/libGLESv2_adreno.so (EsxContext::AcquireBackBuffer(int)+364)
  #07  pc 0000000000249680  /vendor/lib64/egl/libGLESv2_adreno.so (EsxContext::Clear(unsigned int, unsigned int, unsigned int, EsxClearValues*)+1800)
  #08  pc 00000000002cb52c  /vendor/lib64/egl/libGLESv2_adreno.so (EsxGlApiParamValidate::GlClear(EsxDispatch*, unsigned int)+132)
2020-01-17 12:41:54 +01:00
..
SDL_androidclipboard.c Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidclipboard.h Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidevents.c Android: prevents rare crashes when app goes to background or ends. 2020-01-17 12:41:54 +01:00
SDL_androidevents.h Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidgl.c Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidgl.h Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidkeyboard.c Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidkeyboard.h Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidmessagebox.c Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidmessagebox.h Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidmouse.c Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidmouse.h Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidtouch.c Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidtouch.h Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidvideo.c Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidvideo.h Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidvulkan.c Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidvulkan.h Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
SDL_androidwindow.c Fixed bug 4246 - Android: orientation between portrait<->landscape doesn't work 2020-01-17 12:04:18 +01:00
SDL_androidwindow.h Android: prevents rare crashes when app goes to background or ends. 2020-01-17 12:41:54 +01:00