yuzu-android/src/core/frontend
comex 994f497781 Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread
EmuWindow::PollEvents was called from the GPU thread (or the CPU thread
in sync-GPU mode) when swapping buffers.  It had three implementations:

- In GRenderWindow, it didn't actually poll events, just set a flag and
  emit a signal to indicate that a frame was displayed.

- In EmuWindow_SDL2_Hide, it did nothing.

- In EmuWindow_SDL2, it did call SDL_PollEvents, but this is wrong
  because SDL_PollEvents is supposed to be called on the thread that set
  up video - in this case, the main thread, which was sleeping in a
  busyloop (regardless of whether sync-GPU was enabled).  On macOS this
  causes a crash.

To fix this:

- Rename EmuWindow::PollEvents to OnFrameDisplayed, and give it a
  default implementation that does nothing.

- In EmuWindow_SDL2, do not override OnFrameDisplayed, but instead have
  the main thread call SDL_WaitEvent in a loop.
2020-11-23 17:58:49 -05:00
..
applets hid: Reorder all HID commands 2020-11-15 23:33:20 -05:00
emu_window.cpp core/CMakeLists: Make some warnings errors 2020-10-13 13:16:49 -04:00
emu_window.h Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread 2020-11-23 17:58:49 -05:00
framebuffer_layout.cpp settings: Preparation for per-game input settings 2020-11-15 23:33:20 -05:00
framebuffer_layout.h Address second batch of reviews 2020-08-30 00:43:25 +02:00
input.h input_common: Add VibrationDevice and VibrationDeviceFactory 2020-11-15 23:33:20 -05:00