summaryrefslogtreecommitdiffstats
path: root/src/yuzu_tester/emu_window (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main threadcomex2020-11-232-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* input_common: Eliminate most global stateLioncash2020-08-272-3/+8
| | | | | | | | | | | | | Abstracts most of the input mechanisms under an InputSubsystem class that is managed by the frontends, eliminating any static constructors and destructors. This gets rid of global accessor functions and also allows the frontends to have a more fine-grained control over the lifecycle of the input subsystem. This also makes it explicit which interfaces rely on the input subsystem instead of making it opaque in the interface functions. All that remains to migrate over is the factories, which can be done in a separate change.
* yuzu: Drop SDL2 and Qt frontend Vulkan requirementsReinUsesLisp2020-04-072-8/+0
| | | | Create Vulkan instances and surfaces from the Vulkan backend.
* Address review and fix broken yuzu-tester buildJames Rowe2020-03-262-18/+33
|
* frontend: sdl2: emu_window: Implement separate presentation thread.bunnei2020-02-262-7/+0
|
* yuzu: Implement Vulkan frontendReinUsesLisp2020-01-292-1/+21
| | | | | Adds a Qt and SDL2 frontend for Vulkan. It also finishes the missing bits on Vulkan initialization.
* yuzutest: Support multiple tests per executableZach Hilman2019-06-101-7/+6
|
* yuzu_tester: Add SDL2-based EmuWindow that doesn't show the windowZach Hilman2019-06-102-0/+164