Commit Graph

206 Commits

Author SHA1 Message Date
bunnei 1e01fd893e Merge pull request #2260 from Subv/scheduling
Threading: Reworked the way our scheduler works.
2016-12-16 00:41:22 -05:00
Yuri Kunde Schlesner dce4b9e969 Merge pull request #2249 from Subv/sessions_v3
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-12-14 20:35:33 -08:00
Subv c6a9bce77a Fixed the codestyle to match our clang-format rules. 2016-12-14 12:35:01 -05:00
Lioncash 369eb70f44 citra-qt: Make constructors explicit where applicable 2016-12-11 14:18:06 +00:00
Lioncash ce0952c398 citra-qt: Add missing #pragma once directives 2016-12-11 12:12:03 +00:00
Lioncash 0fb1c33791 graphics_cmdlists: Get rid of variable shadowing 2016-12-11 04:33:24 -05:00
Lioncash a10a2c1cd7 graphics_cmdlists: Get rid of an unused variable 2016-12-10 20:01:27 -05:00
Lioncash bbb05cc10c graphics_cmdlists: Make LoadTexture and TextureInfoWidget src arguments const 2016-12-10 20:01:22 -05:00
Lioncash 1cf466abca graphics_cmdlists: Make LoadImage internally linked
Puts the TextureInfoWidget definition in the anonymous namespace as well,
as it's only used in the translation unit as well.
2016-12-10 20:00:40 -05:00
Lioncash b01bc59735 Add all services to the Service namespace
Previously there was a split where some of the services were in the
Service namespace and others were not.
2016-12-11 00:07:27 +00:00
Subv 93c592f312 WaitSynch: Removed unused variables and reduced SharedPtr copies.
Define a variable with the value of the sync timeout error code.

Use a boost::flat_map instead of an unordered_map to hold the equivalence of objects and wait indices in a WaitSynchN call.
2016-12-09 12:23:09 -05:00
Subv 7e5b90a04b Threading: Added some utility functions and const correctness. 2016-12-04 09:58:36 -05:00
Subv e3486361fd Threading: Reworked the way our scheduler works.
Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then.

The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback.

This new implementation is based off reverse-engineering of the real kernel.

See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling.
2016-12-03 22:38:14 -05:00
Subv 694df935a6 Fixed the rebase mistakes. 2016-11-30 23:28:31 -05:00
Ricardo de Almeida Gonzaga 5331d83994 Fix typos 2016-10-20 12:26:59 -02:00
wwylele 7a4bb69d51 implement wait tree widget 2016-09-22 13:52:52 +08:00
Yuri Kunde Schlesner 45751915a0 Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot e4393f7ff2 Remove empty newlines in #include blocks.
This makes clang-format useful on those.

Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Yuri Kunde Schlesner 0e23caf9fd Manually tweak source formatting and then re-run clang-format 2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot 7e8d205414 Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
Yuri Kunde Schlesner 1ca36642be Qt: Fix MicroProfile dpi scaling 2016-06-18 23:37:09 -07:00
bunnei 154c4c44b8 Merge pull request #1765 from JayFoxRox/debug-surface-viewer
Debugger: Pica surface viewer
2016-06-07 18:26:24 -04:00
MerryMage a84cf66293 Debugger/Callstack: Replace Memory::GetPointer with Memory::IsValidVirtualAddress 2016-05-21 11:12:38 -05:00
bunnei 129827e1fc Merge pull request #1785 from MerryMage/mp-dpi
Microprofile: DPI-aware drawing
2016-05-18 18:03:59 -04:00
MerryMage c968b5d014 Microprofile: DPI-aware drawing 2016-05-12 21:49:02 +01:00
Jannik Vogel 6db8a8fb39 Move default_attributes into Pica state 2016-05-12 19:05:41 +02:00
Jannik Vogel 631bae020f Turn ShaderSetup into struct 2016-05-11 23:48:24 +02:00
Alexander Laties 68edf2783a fixup simple type conversions where possible 2016-05-07 11:41:55 -04:00
Jannik Vogel 83db10cd55 citra_qt: Replace 'Pica Framebuffer Debugger' with 'Pica Surface Viewer' 2016-05-07 11:30:47 +02:00
Jannik Vogel fe94aadb3a Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation 2016-05-04 10:21:51 +02:00
Emmanuel Gil Peyrot d6164b8022 VideoCore: Run include-what-you-use and fix most includes. 2016-04-30 17:02:41 +01:00
Yuri Kunde Schlesner 8cbdb6e6c4 Common: Remove section measurement from profiler (#1731)
This has been entirely superseded by MicroProfile. The rest of the code
can go when a simpler frametime/FPS meter is added to the GUI.
2016-04-29 00:07:10 -07:00
Henrik Rydgård 4a6d5e9c61 Make Citra build with MICROPROFILE_ENABLED set to 0 (#1709)
* Make Citra build with MICROPROFILE_ENABLED set to 0

* Buildfix with microprofile kept on

* moc did not like a dialog to conditionally exist.

* Cleanup

* Fix end of line
2016-04-28 20:17:31 -04:00
Henrik Rydgard 76a55f83c7 Replace std::map with std::array for graphics event breakpoints, and allow the compiler to inline. Saves 1%+ in vertex heavy situations. 2016-04-24 14:19:49 +02:00
Sam Spilsbury 3cae13c76b debugger: Warn if we reach an unreachable format 2016-04-23 11:54:02 +08:00
Jannik Vogel 9e29ed3f66 PICA: Fix MAD/MADI encoding 2016-03-15 20:01:25 +01:00
Jannik Vogel 49010f5379 Fix attribute mapping in vs debugger 2016-03-09 13:15:37 +01:00
Dwayne Slater 141fe87a0f Add immediate mode vertex submission 2016-03-02 22:16:38 -05:00
Lioncash a64af28cf2 core: Use unique_ptr for holding the interpreter instances 2015-12-29 18:03:08 -05:00
Rohit Nirmal c157d4ddd6 Silence -Wsign-compare warnings. 2015-10-06 22:16:15 -05:00
Yuri Kunde Schlesner 222d77c31a GSP: Implement command 0x05, used for flushing caches
May fix additional texture caching issues. (Though mostly in homebrew, I
haven't seen any commercial software use this to flush anything but
command lists.)
2015-09-14 16:19:05 -03:00
Lioncash 1ab765ff61 general: Replace 0 literals with nullptr where applicable 2015-09-11 23:11:01 -04:00
Yuri Kunde Schlesner 79e63380bd Merge pull request #1147 from lioncash/nullptr
General: Replace NULL and '0' usages with nullptr where applicable
2015-09-11 18:56:41 -03:00
Yuri Kunde Schlesner a60cb41964 Merge pull request #1149 from lioncash/override
graphics_breakpoints_p: Add missing override specifier
2015-09-11 18:24:24 -03:00
Lioncash c9aecc0404 graphics_breakpoints_p: Add missing override specifier 2015-09-11 16:32:02 -04:00
Lioncash 5c77b656b8 General: Replace NULL and '0' usages with nullptr where applicable 2015-09-11 14:59:49 -04:00
Lioncash 0638df7136 citra_qt: Reorganize headers 2015-09-11 00:57:24 -04:00
bunnei f0b46ec853 Merge pull request #1118 from Kloen/monospace-font
citra-qt: Use monospace font on Disassembler and ARM Registers
2015-09-07 17:52:07 -04:00
Yuri Kunde Schlesner 65b26655ac Shader Debugger: Allow editing of input vertex data 2015-09-07 16:46:31 -03:00
Yuri Kunde Schlesner 1b79a72723 Shader Debugger: Highlight current instruction instead of focusing
This avoid some annoying focus stealing in some situations, and looks
nicer in general.
2015-09-07 16:46:31 -03:00