Commit Graph

159 Commits (d14e74132ceaa8b5efef8a7d543cb50429cb4fb3)

Author SHA1 Message Date
bunnei 00ba704a7f
Merge pull request #892 from lioncash/global
video_core: Make global EmuWindow instance part of the base renderer …
7 years ago
Lioncash bf45092c61 kernel: Move object class to its own source files
General moving to keep kernel object types separate from the direct
kernel code. Also essentially a preliminary cleanup before eliminating
global kernel state in the kernel code.
7 years ago
Lioncash 0f2ac928f2 video_core: Make global EmuWindow instance part of the base renderer class
Makes the global a member of the RendererBase class. We also change this
to be a reference. Passing any form of null pointer to these functions
is incorrect entirely, especially given the code itself assumes that the
pointer would always be in a valid state.

This also makes it easier to follow the lifecycle of instances being
used, as we explicitly interact the renderer with the rasterizer, rather
than it just operating on a global pointer.
7 years ago
Zach Hilman 187d8e215f Use more descriptive error codes and messages 7 years ago
bunnei eaf66b4c9f audio_core: Move to audout_u impl.
- This is necessary so streams are created on the same thread.
7 years ago
bunnei 2a742229ee core: Add AudioCore to global state. 7 years ago
MerryMage 0b1c2e5505 Implement exclusive monitor 7 years ago
Lioncash 10d2ab8098 core: Make System's default constructor private
This makes it a compilation error to construct additional instances of
the System class directly, preventing accidental wasteful constructions
over and over.
7 years ago
bunnei 811dae12f9 core: Add several missing docstrings. 7 years ago
bunnei edc52250b8 core: Run all CPU cores separately, even in single-thread mode. 7 years ago
bunnei 8aa5d25f82 threading: Reschedule only on cores that are necessary. 7 years ago
bunnei 9bf2a428f9 core: Add a configuration setting for use_multi_core. 7 years ago
bunnei cba69fdcd4 core: Support session close with multicore. 7 years ago
bunnei a434fdcb10 core: Implement multicore support. 7 years ago
bunnei 9776ff9179 core: Create a thread for each CPU core, keep in lock-step with a barrier. 7 years ago
bunnei 5590245930 core: Move common CPU core things to its own class. 7 years ago
Lioncash 659a612368 core: Relocate g_service_manager to the System class
Converts the service manager from a global into an instance-based
variable.
7 years ago
N00byKing 358050cfc6 core, main.h: Abort on 32Bit ROMs (#309)
* core, main.h: Abort on 32Bit ROMs

* main.cpp: Fix Grammar
7 years ago
Subv 0ce52b1da2 GPU: Make the debug_context variable a member of the frontend instead of a global. 7 years ago
bunnei 23a0d2d7b7
Merge pull request #193 from N00byKing/3184_2_robotic_boogaloo
Implement Pull #3184 from citra: core/arm: Improve timing accuracy before service calls in JIT (Rebased)
7 years ago
bunnei 7d6653268f core: Move process creation out of global state. 7 years ago
N00byKing bc88cae0c7 Implements citra-emu/citra#3184 7 years ago
bunnei ac81c02ed9 kernel: Use Scheduler class for threading. 8 years ago
bunnei 2d4a6883bc core: Use shared_ptr for cpu_core. 8 years ago
Subv 6cddf9d88e Make a GPU class in VideoCore to contain the GPU state.
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
8 years ago
N00byKing afa1ed6ad9
Correct Spelling 8 years ago
bunnei 24f10a20e7 core: Increase tight_loop 100x for speed. 8 years ago
bunnei 9b8e5bea66 core: Expose AppLoader as a public interface. 8 years ago
TheKoopaKingdom f008b22e3b Addressed Bunnei's review comments, and made some other tweaks:
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System.
 - Fixed design flaw where the message bar status could be set despite the game being stopped.
8 years ago
TheKoopaKingdom a8aef599e0 Created a whitelist of system archives to prevent false positives creating dialogs. 8 years ago
TheKoopaKingdom 0409bdfea5 Optimized messages that were repetitive and added ability for core errors to specify more details optionally. 8 years ago
TheKoopaKingdom 37bec598ea Made some changes from review comments:
- Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review).
- Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore.
- Made dialog messages more clear.
- Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic.
- Cleaned up some other stuff.
8 years ago
TheKoopaKingdom 1ecb322daa Added system for handling core errors in citra-qt. 8 years ago
bunnei f3e14cae1e core: Keep track of telemetry for the current emulation session. 8 years ago
Yuri Kunde Schlesner fb1979d7e2 Core: Re-write frame limiter
Now based on std::chrono, and also works in terms of emulated time
instead of frames, so we can in the future frame-limit even when the
display is disabled, etc.

The frame limiter can also be enabled along with v-sync now, which
should be useful for those with displays running at more than 60 Hz.
8 years ago
Yuri Kunde Schlesner b285c2a4ed Core: Make PerfStats internally locked
More ergonomic to use and will be required for upcoming changes.
8 years ago
Yuri Kunde Schlesner c75ae6c585 Add performance statistics to status bar 8 years ago
Kloen b3a0b1489b core: inline CPU, 132 warnings fixed on GCC 9 years ago
bunnei 8b1e269e58 ThreadContext: Move from "core" to "arm_interface". 9 years ago
bunnei e26fbfd1d7 core: Replace "AppCore" nomenclature with just "CPU". 9 years ago
bunnei 5ac5cbeab7 Address clang-format issues. 9 years ago
bunnei 4fc8b8229e core: Remove HLE module, consolidate code & various cleanups. 9 years ago
bunnei 232ef55c1a core: Consolidate core and system state, remove system module & cleanups. 9 years ago
Emmanuel Gil Peyrot dc8479928c Sources: Run clang-format on everything. 9 years ago
LittleWhite 4be68dddfb Improve error report from Init() functions
Add error popup when citra initialization failed
9 years ago
Lioncash cee8df6ff0 core: Use unique_ptr for holding the interpreter instances 10 years ago
Subv 1d02eb0587 Core/ARM11: Correct the size of the VFP register array in the ThreadContext structure.
The VFP registers are 64 bits each, and there are 32 of them.
10 years ago
Lioncash 8b2b620a5e dyncom: Remove more unused/unnecessary code
Gets rid of a sizeable amount of stuff in armdefs.
10 years ago
Lioncash 3f00dd9117 arm: Clean up ARMul_State
Remove unnecessary/unused struct variables.
11 years ago
Lioncash f44781fd7b arm: Adios armemu 11 years ago
Yuri Kunde Schlesner 7b3452c730 Move ThreadContext to core/core.h and deal with the fallout 11 years ago
bunnei 853b46c681 Core: Change default CPU to dyncom. 11 years ago
purpasmart96 ebfd831ccb License change 11 years ago
bunnei ce1125d490 Core: Changed RunLoop iterations to 1000 (slightly better performance). 11 years ago
archshift 0783498f57 Use configuration files to enable or disable the new dyncom interpreter. 11 years ago
bunnei b5e6524594 ARM: Reorganized file structure to move shared SkyEye code to a more common area.
Removed s_ prefix
11 years ago
bunnei eb36d3fc90 Core: Refactor core to use only one function for execution.
Core: Cleaned up comment to be more readable.

Citra: Changed loop to be more readable.
11 years ago
bunnei de0a034a84 fixed project includes to use new directory structure 11 years ago
bunnei 63e46abdb8 got rid of 'src' folders in each sub-project 11 years ago