aboutsummaryrefslogtreecommitdiff
path: root/src/core/core.cpp
AgeCommit message (Collapse)Author
2023-02-13general: rename CurrentProcess to ApplicationProcessLiam
2022-12-17EmuThread: refactorLiam
2022-12-06general: improve handling of system startup failureLiam
2022-11-26core: Use atomic instead of a lock to protect is_paused.bunnei
- This allows us to call IsPaused() elsewhere if we are holding the suspend lock.
2022-10-30kernel: reinitialize after dram layout changeLiam
2022-10-23core: barrier service thread shutdownLiam
2022-10-18core: Initialize: Add missing braces.bunnei
2022-10-18core: core_timing: Re-initialize if single/multicore state changes.bunnei
2022-10-18core: Partially persist emulation state across game boots.bunnei
2022-10-06NVDRV: Further refactors and eliminate old code.Fernando Sahmkow
2022-10-06NVDRV: Refactor Host1xFernando Sahmkow
2022-10-06VideoCore: Refactor syncing.Fernando Sahmkow
2022-09-13Remove pause callbacks from coretimingKelebek1
2022-08-27yuzu: Display current game version in multiplayer roomFearlessTobi
Makes it easier for users to recognize connection errors caused by different game versions.
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda
[REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-07-25network: Move global state into a seperate classFearlessTobi
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2022-07-25core: Fix -Wunused-variableFearlessTobi
2022-07-25yuzu: Add ui files for multiplayer roomsFearlessTobi
2022-07-22Project AndioKelebek1
2022-06-14kernel: implement KProcess suspensionLiam
2022-06-10core/debugger: fix a number of shutdown deadlocksLiam
2022-06-01core/debugger: Implement new GDB stub debuggerLiam
2022-04-24Remove unused PrepareReschedule functionMerry
2022-03-19core: Reduce unused includesameerj
2022-03-07core: Don't shutdown a null GPUlat9nq
When CreateGPU fails, yuzu would try and shutdown the GPU instance regardless of whether any instance was actually created. Check for nullptr before calling its methods to prevent a crash.
2022-02-21core: hle: kernel: KProcess: Pass in KResourceLimit on process creation.bunnei
- This allows us to have a resource limit per process, rather than use the global system resource limit.
2022-01-03gpu: Add shut down method to synchronize threads before destructionameerj
2021-12-06core: hle: kernel: Reflect non-emulated threads as core 3.bunnei
2021-11-24core: Register HIDgerman77
2021-11-04Merge pull request #7279 from Morph1984/system-get-program-idMorph
general: Get the current process program id directly from the system
2021-11-04core: Reorder perf_stats destruction order on Shutdownameerj
Avoids the gpu_core using perf_stats after it's been freed.
2021-11-04general: Get the current process program id directly from the systemMorph
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-11-04general: Rename GetTitleID to GetProgramIDMorph
2021-11-03core: Remove unused includesameerj
2021-10-27Revert PR7009Feng Chen
2021-10-17settings: Remove std::chrono usageameerj
Alleviates the dependency on chrono for all files that include settings.h
2021-10-16NvHost/Core: Address Feedback.Fernando Sahmkow
2021-10-16Suspend temporallyFernandoS27
2021-10-15core: Move ResultStatus outside of SystemMorph
Allows it to be a forward declaration in other header files.
2021-10-15core: Remove static system instanceMorph
2021-10-01core: Add Exit and ExitCallbackMorph
This allows ISelfController::Exit to stop the currently running application. This is typically used by homebrew to exit back to the homebrew menu after calling consoleExit with libnx.
2021-09-23video_core: Fix jthread related hangs when stopping emulationameerj
jthread on some compilers is more picky when it comes to the order in which objects are destroyed.
2021-09-15gpu: Use std::jthread for async gpu threadameerj
2021-09-13core: Destroy main_process during shutdownameerj
The main_process was never being cleaned up, causing a noticeable memory leak after subsequent launches. This change cleans up the memory during Core Shutdown, mitigating the leak.
2021-08-25Revert "kernel: Various improvements to scheduler"bunnei
2021-08-24logging: Fix log filter during initializationameerj
The log filter was being ignored on initialization due to the logging instance being initialized before the config instance, so the log filter was set to its default value. This fixes that oversight, along with using descriptive exceptions instead of abort() calls.
2021-08-22Merge pull request #6869 from yzct12345/shiny-logs-in-the-fireplacebunnei
logging: Simplify and make thread-safe
2021-08-13logging: Simplify and make thread-safeyzct12345
This simplifies the logging system. This also fixes some lost messages on startup. The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation. With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
2021-08-07core: hle: kernel: Reflect non-emulated threads as core 3.bunnei
2021-07-23general: Rename "Frame Limit" references to "Speed Limit"ameerj
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate. This allows us to differentiate it from the fps unlocker setting.