yuzu/src/yuzu_cmd
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
..
emu_window Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread 2020-11-23 17:58:49 -05:00
CMakeLists.txt core: Remove usage of unicorn 2020-11-03 20:22:05 -05:00
config.cpp configure_input: Add per-player vibration 2020-11-15 23:33:20 -05:00
config.h Massive removal of unused modules 2018-01-12 19:11:03 -07:00
default_ini.h configure_input: Add per-player vibration 2020-11-15 23:33:20 -05:00
resource.h Massive removal of unused modules 2018-01-12 19:11:03 -07:00
yuzu.cpp Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread 2020-11-23 17:58:49 -05:00
yuzu.rc Fix: fatal error CVT1100 when compiling manifest file 2020-06-21 03:11:23 +02:00