Commit Graph

194 Commits

Author SHA1 Message Date
Subv 44c59feca6 Threading: Added some utility functions and const correctness. 2016-12-04 09:58:36 -05:00
Subv 5bc10a74f6 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
Ricardo de Almeida Gonzaga 07fdcf150d Fix typos 2016-10-20 12:26:59 -02:00
wwylele 8b25c12ce8 implement wait tree widget 2016-09-22 13:52:52 +08:00
Yuri Kunde Schlesner fa5d9d8266 Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot 1138ec0d49 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 1e4a5da9f4 Manually tweak source formatting and then re-run clang-format 2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot 628ed4376a Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
Yuri Kunde Schlesner 6a35762dec Qt: Fix MicroProfile dpi scaling 2016-06-18 23:37:09 -07:00
bunnei 51ce700c23 Merge pull request #1765 from JayFoxRox/debug-surface-viewer
Debugger: Pica surface viewer
2016-06-07 18:26:24 -04:00
MerryMage cbb1b25fe0 Debugger/Callstack: Replace Memory::GetPointer with Memory::IsValidVirtualAddress 2016-05-21 11:12:38 -05:00
bunnei d83ae8ff62 Merge pull request #1785 from MerryMage/mp-dpi
Microprofile: DPI-aware drawing
2016-05-18 18:03:59 -04:00
MerryMage 49dea00b11 Microprofile: DPI-aware drawing 2016-05-12 21:49:02 +01:00
Jannik Vogel 101eb11369 Move default_attributes into Pica state 2016-05-12 19:05:41 +02:00
Jannik Vogel acfb5257dd Turn ShaderSetup into struct 2016-05-11 23:48:24 +02:00
Alexander Laties 17e9bc5392 fixup simple type conversions where possible 2016-05-07 11:41:55 -04:00
Jannik Vogel 3261520e19 citra_qt: Replace 'Pica Framebuffer Debugger' with 'Pica Surface Viewer' 2016-05-07 11:30:47 +02:00
Jannik Vogel db061e0568 Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation 2016-05-04 10:21:51 +02:00
Emmanuel Gil Peyrot c39a267974 VideoCore: Run include-what-you-use and fix most includes. 2016-04-30 17:02:41 +01:00
Yuri Kunde Schlesner 2396b01d5d 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 eaf9abfe8e 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
Yuri Kunde Schlesner 5dd7b48297 Shader Debugger: Remove useless signal 2015-09-07 16:46:30 -03:00
Yuri Kunde Schlesner 43ba2134d4 Shader Debugger: Fix only first vertex attribute being loaded 2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner c1bdf33021 Shader Debugger: Fix freeze when double-clicking shader disassembly 2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner 8d415842f3 Shader Debugger: Improve space efficiency of the layout 2015-09-07 16:46:28 -03:00
Yuri Kunde Schlesner db791bc10e Shader Disassembly: Fix printing of jump offsets 2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner 968518e740 Shader Disassembly: Fix disassembly of IFU/CALLU instructions 2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner 21c8b3c305 Shader Disassembly: Implement support for MAD/MADI 2015-09-07 16:46:26 -03:00
Yuri Kunde Schlesner 5752fbdaa3 Shader Disassembly: Introduce variables to hold common subexpressions 2015-09-07 16:46:25 -03:00
Yuri Kunde Schlesner 3e2dc6f659 Shader Debugger: Initialize input_vertex to prevent crashes
If the first type of breakpoint to be hit wasn't "Vertex Loaded", the
input_vertex would contain garbage, which would be passed to the shader
interpreter and ocasionally cause crashes.
2015-09-07 16:46:25 -03:00
Yuri Kunde Schlesner 8b76af8d0e Shader Disassembly: Cleanup code and improve output alignment 2015-09-07 16:46:23 -03:00
Kloen 0f0ef03bf6 citra-qt: Use monospace font on Disassembler and ARM Registers 2015-09-07 21:02:45 +02:00
Yuri Kunde Schlesner 424b0fa646 Integrate the MicroProfile profiling library
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00