Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread | comex | 2020-11-23 | 2 | -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 state | Lioncash | 2020-08-27 | 2 | -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 requirements | ReinUsesLisp | 2020-04-07 | 2 | -8/+0 |
| | | | | Create Vulkan instances and surfaces from the Vulkan backend. | ||||
* | Address review and fix broken yuzu-tester build | James Rowe | 2020-03-26 | 2 | -18/+33 |
| | |||||
* | frontend: sdl2: emu_window: Implement separate presentation thread. | bunnei | 2020-02-26 | 2 | -7/+0 |
| | |||||
* | yuzu: Implement Vulkan frontend | ReinUsesLisp | 2020-01-29 | 2 | -1/+21 |
| | | | | | Adds a Qt and SDL2 frontend for Vulkan. It also finishes the missing bits on Vulkan initialization. | ||||
* | yuzutest: Support multiple tests per executable | Zach Hilman | 2019-06-10 | 1 | -7/+6 |
| | |||||
* | yuzu_tester: Add SDL2-based EmuWindow that doesn't show the window | Zach Hilman | 2019-06-10 | 2 | -0/+164 |