summaryrefslogtreecommitdiff
path: root/src/yuzu/bootmanager.h
AgeCommit message (Collapse)Author
2022-06-13yuzu: Eliminate variable shadowingMorph
2022-06-10Merge pull request #8318 from Docteh/cmake-qt56-entryMai M
Update some files with Qt 5.15.2 best practices in mind
2022-06-01core/debugger: Implement new GDB stub debuggerLiam
2022-05-29Update some files with Qt 5.15.2 best practices in mindKyle K
There was some discussion about updating to Qt6 and I figured I would work on some smaller parts. For Windows platform the WinMain function has moved from the Qt5::WinMain to a new one called Qt6::EntryPointPrivate Also Qt5 supports versionless CMake targets https://www.qt.io/blog/versionless-cmake-targets-qt-5.15 These other changes in this commit are to support Qt6, but in ways that don't mess with Qt5. src/yuzu/bootmanager.cpp: Qt6 complains about not being able to know to use QPoint or QPointF, picking QPoint src/yuzu/bootmanager.h: Qt6 prefers that QStringList.h be included rather than an empty class definition src/yuzu/configuration/configure_system.cpp: toULongLong intends to return unsigned 64 bit integer, but Settings::values.rng_seed is only 32 bits wide src/yuzu/game_list.cpp: Qt6 returns a different datatype for QStringList.length than Qt5, it used to be int, but in Qt6 its now qsizetype src/yuzu/loading_screen.cpp: Qt5's for QStyleOption.init say to switch to initFrom. The QStyleOption.init doesn't exist in Qt6 src/yuzu/main.cpp: Another QPointer and QStringList.size, lets standardize on size()
2022-05-23input_common: touch: Rewrite touch driver to support multiple touch pointsgerman77
2022-03-20yuzu: Reduce unused includesameerj
2021-11-24yuzu: Fix TAS from rebasegerman77
2021-11-24bootmanager: Use cross-platform keyboard inputgerman77
2021-11-24kraken: Address comments from reviewgerman77
Fix compiler bug
2021-11-24core/hid: Fully implement native mousegerman77
2021-11-24core/hid: Improve accuracy of the keyboard implementationgerman77
2021-11-24yuzu: Use new input on main and bootmanagergerman77
2021-11-24input_common: Rewrite keyboardgerman77
2021-11-21Added TAS controls to the menu under ToolsAdam Heinermann
2021-11-16bootmanager: Fix screenshot resolution factor usageameerj
Fixes screenshots at non integer scaling
2021-10-15bootmanager: Forward declare System and SystemResultStatusMorph
2021-10-15core: Move ResultStatus outside of SystemMorph
Allows it to be a forward declaration in other header files.
2021-10-07yuzu qt: Remove global system instances from config, WaitTree, mainlat9nq
2021-10-01yuzu: main: Register a callback for ExitMorph
2021-06-22bootmanager: Use std::stop_source for stopping emulationReinUsesLisp
Use its std::stop_token to abort shader cache loading. Using std::stop_token instead of std::atomic_bool allows the usage of other utilities like std::stop_callback.
2021-02-27inputCommon: Mouse fixesgerman77
2021-01-15Add mutitouch support for touch screensgerman
2020-12-31yuzu/main: fix mouse not showing on move and port citra-emu/citra#5476gal20
2020-12-18bootmanager: Add a check whether loading is completeMorph
2020-11-25Merge pull request #4976 from comex/poll-eventsRodrigo Locatti
Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread
2020-11-24frontend: yuzu (qt): Register a callback for ExecuteProgram.bunnei
2020-11-23Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off ↵comex
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-08-29yuzu/main: Amend lifetime issues with InputSubsystemLioncash
Due to the way Qt performs destruction of parent/child widgets, we need to make the lifetime of the input subsystem shared across the main window and the render window.
2020-08-27input_common: Eliminate most global stateLioncash
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.
2020-06-27Clang Format.Fernando Sahmkow
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system.
2020-04-07yuzu: Drop SDL2 and Qt frontend Vulkan requirementsReinUsesLisp
Create Vulkan instances and surfaces from the Vulkan backend.
2020-03-25Address review and fix broken yuzu-tester buildJames Rowe
2020-03-24Frontend/GPU: Refactor context managementJames Rowe
Changes the GraphicsContext to be managed by the GPU core. This eliminates the need for the frontends to fool around with tricky MakeCurrent/DoneCurrent calls that are dependent on the settings (such as async gpu option). This also refactors out the need to use QWidget::fromWindowContainer as that caused issues with focus and input handling. Now we use a regular QWidget and just access the native windowHandle() directly. Another change is removing the debug tool setting in FrameMailbox. Instead of trying to block the frontend until a new frame is ready, the core will now take over presentation and draw directly to the window if the renderer detects that its hooked by NSight or RenderDoc Lastly, since it was in the way, I removed ScopeAcquireWindowContext and replaced it with a simple subclass in GraphicsContext that achieves the same result
2020-02-25frontend: qt: bootmanager: Acquire a shared context in main emu thread.bunnei
2020-02-25frontend: qt: bootmanager: Vulkan: Restore support for VK backend.bunnei
2020-02-25frontend: qt: bootmanager: OpenGL: Implement separate presentation thread.bunnei
2020-01-29yuzu: Implement Vulkan frontendReinUsesLisp
Adds a Qt and SDL2 frontend for Vulkan. It also finishes the missing bits on Vulkan initialization.
2019-06-03yuzu/bootmanager: Treat the resolution factor as a u32Lioncash
Treating it as a u16 can result in a sign-conversion warning when performing arithmetic with it, as u16 promotes to an int when aritmetic is performed on it, not unsigned int. This also makes the interface more uniform, as the layout interface now operates on u32 across the board.
2019-06-03yuzu/bootmanager: Default EmuThread's destructor in the cpp fileLioncash
This class contains non-trivial members, so we should default the destructor's definition within the cpp file.
2019-06-03yuzu/bootmanager: unsigned -> u32Lioncash
Same thing (for platforms we support), less reading.
2019-06-03yuzu/bootmanager: Remove pointer downcast in GRenderWindow's constructorLioncash
We can just pass a pointer to GMainWindow directly and make it a requirement of the interface. This makes the interface a little safer, since this would technically otherwise allow any random QWidget to be the parent of a render window, downcasting it to GMainWindow (which is undefined behavior).
2019-05-26emu_window: Pass OnMinimalClientAreaChangeRequest argument by copyReinUsesLisp
There's no performance improvement in passing an unsigned pair by reference.
2019-04-16yuzu/bootmanager: Remove unnecessary includesLioncash
This include isn't used anymore so it can be removed.
2019-04-13Merge pull request #2017 from jroweboy/glwidgetbunnei
Frontend: Migrate to QOpenGLWindow and support shared contexts
2019-04-01general: Use deducation guides for std::lock_guard and std::unique_lockLioncash
Since C++17, the introduction of deduction guides for locking facilities means that we no longer need to hardcode the mutex type into the locks themselves, making it easier to switch mutex types, should it ever be necessary in the future.
2019-03-25bootmanager: Bypass input focus issuesReinUsesLisp
2019-03-25bootmanager: Delete container to avoid crash on game restartingReinUsesLisp
While we are at it, remove nullptr checks for deletion, since the C++ standard defines that delete does it by its own
2019-02-06gl_shader_cache: Link loading screen with disk shader cache loadReinUsesLisp
2019-01-21QT Frontend: Migrate to QOpenGLWindowJames Rowe