Commit Graph

51 Commits

Author SHA1 Message Date
bunnei
d7529c668a core: Add several missing docstrings. 2018-05-10 19:34:54 -04:00
bunnei
187b2684c5 core: Run all CPU cores separately, even in single-thread mode. 2018-05-10 19:34:53 -04:00
bunnei
9ae80d3328 threading: Reschedule only on cores that are necessary. 2018-05-10 19:34:52 -04:00
bunnei
3e4416179e core: Add a configuration setting for use_multi_core. 2018-05-10 19:34:47 -04:00
bunnei
703e1b7fb4 core: Support session close with multicore. 2018-05-10 19:34:47 -04:00
bunnei
c5e0d82b9c core: Implement multicore support. 2018-05-10 19:34:46 -04:00
bunnei
17e8c38264 core: Create a thread for each CPU core, keep in lock-step with a barrier. 2018-05-10 19:34:46 -04:00
bunnei
56f512f16a core: Move common CPU core things to its own class. 2018-05-10 19:34:46 -04:00
Lioncash
c826af8077 core: Relocate g_service_manager to the System class
Converts the service manager from a global into an instance-based
variable.
2018-04-20 19:44:32 -04:00
N00byKing
71b31d407f core, main.h: Abort on 32Bit ROMs (#309)
* core, main.h: Abort on 32Bit ROMs

* main.cpp: Fix Grammar
2018-04-06 11:06:32 -04:00
Subv
20cb2e8be6 GPU: Make the debug_context variable a member of the frontend instead of a global. 2018-03-24 23:35:06 -05:00
bunnei
34bec922b1 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)
2018-03-18 22:35:47 -04:00
bunnei
b95c68cc67 core: Move process creation out of global state. 2018-03-14 18:42:19 -04:00
N00byKing
ab327540e1 Implements citra-emu/citra#3184 2018-02-25 11:44:21 +01:00
bunnei
1f3b456e6c kernel: Use Scheduler class for threading. 2018-02-18 15:17:16 -05:00
bunnei
dd516a88f6 core: Use shared_ptr for cpu_core. 2018-02-18 14:52:09 -05:00
Subv
cc33504d0f 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.
2018-02-11 23:44:12 -05:00
N00byKing
9e5b3cfd47 Correct Spelling 2018-01-23 14:20:18 +01:00
bunnei
001e5166e2 core: Increase tight_loop 100x for speed. 2018-01-04 16:52:16 -05:00
bunnei
4e67d530ae core: Expose AppLoader as a public interface. 2017-08-03 20:10:37 -04:00
TheKoopaKingdom
28de301d16 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.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom
266c619427 Created a whitelist of system archives to prevent false positives creating dialogs. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom
3cffc964dc Optimized messages that were repetitive and added ability for core errors to specify more details optionally. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom
de80586020 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.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
86033c8177 Added system for handling core errors in citra-qt. 2017-06-02 18:27:56 -04:00
bunnei
184c66a1ee core: Keep track of telemetry for the current emulation session. 2017-05-24 19:16:22 -04:00
Yuri Kunde Schlesner
4a2918436e 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.
2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner
fac1bfea42 Core: Make PerfStats internally locked
More ergonomic to use and will be required for upcoming changes.
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
7572bf7839 Add performance statistics to status bar 2017-02-26 17:22:03 -08:00
Kloen
95d3181860 core: inline CPU, 132 warnings fixed on GCC 2017-01-30 00:12:07 +01:00
bunnei
0805a50670 ThreadContext: Move from "core" to "arm_interface". 2016-12-22 00:27:49 -05:00
bunnei
8070c3ea85 core: Replace "AppCore" nomenclature with just "CPU". 2016-12-22 00:27:46 -05:00
bunnei
ee017bc1d7 Address clang-format issues. 2016-12-21 23:48:14 -05:00
bunnei
c5f21efe18 core: Remove HLE module, consolidate code & various cleanups. 2016-12-21 23:48:13 -05:00
bunnei
d4f9119dba core: Consolidate core and system state, remove system module & cleanups. 2016-12-21 23:29:13 -05:00
Emmanuel Gil Peyrot
7e8d205414 Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
LittleWhite
59fe02348a Improve error report from Init() functions
Add error popup when citra initialization failed
2016-03-08 22:05:25 +01:00
Lioncash
a64af28cf2 core: Use unique_ptr for holding the interpreter instances 2015-12-29 18:03:08 -05:00
Subv
a84d5aa51e 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.
2015-11-29 13:06:45 -05:00
Lioncash
8b2b620a5e dyncom: Remove more unused/unnecessary code
Gets rid of a sizeable amount of stuff in armdefs.
2015-04-20 16:30:34 -04:00
Lioncash
3f00dd9117 arm: Clean up ARMul_State
Remove unnecessary/unused struct variables.
2015-01-31 21:55:34 -05:00
Lioncash
f44781fd7b arm: Adios armemu 2015-01-31 20:43:03 -05:00
Yuri Kunde Schlesner
7b3452c730 Move ThreadContext to core/core.h and deal with the fallout 2015-01-09 03:51:55 -02:00
bunnei
853b46c681 Core: Change default CPU to dyncom. 2015-01-02 22:33:53 -05:00
purpasmart96
ebfd831ccb License change 2014-12-20 21:20:24 -08:00
bunnei
ce1125d490 Core: Changed RunLoop iterations to 1000 (slightly better performance). 2014-11-11 19:54:09 -05:00
archshift
0783498f57 Use configuration files to enable or disable the new dyncom interpreter. 2014-10-27 18:35:21 -07:00
bunnei
b5e6524594 ARM: Reorganized file structure to move shared SkyEye code to a more common area.
Removed s_ prefix
2014-10-25 14:11:39 -04:00
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.
2014-08-30 23:23:38 -04:00
bunnei
de0a034a84 fixed project includes to use new directory structure 2014-04-08 20:15:08 -04:00