Commit Graph

242 Commits

Author SHA1 Message Date
wwylele 69b544d73a debugger/shader: fix inverted uniform flow control 2017-07-20 22:47:53 +03:00
Yuri Kunde Schlesner 5a6d4a2f19 Session: Remove/add some forward declarations 2017-06-08 00:33:57 -07:00
Yuri Kunde Schlesner f68fd997cd Service: Remove unnecessary includes from service.h
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
2017-06-06 02:57:23 -07:00
Yuri Kunde Schlesner 6f662625d3 Kernel: Move WaitObject to a separate file
Now that HandleTable doesn't directly depend on WaitObject anymore, this
can be separated from the main kernel.h header.
2017-05-29 16:16:46 -07:00
Yuri Kunde Schlesner fc0204b2c0 citra-qt: Remove callstack widget
Appears to be currently broken, and given the complexity of doing this
for ARM code without debugging information, should probably be left to
an external tool or library. Use the GDB stub instead.

Closes #586
2017-05-07 15:32:47 -07:00
Yuri Kunde Schlesner 1465b0b919 citra-qt: Remove disassembler widget
It has performance problems, a very misleading UI, and is broken in
general. It has essentially been superceded by the GDB stub, but if we
wanted a built-in disassembler in the future it'd essentially need to be
rewritten from scratch anyway.

Closes #427, #1480
2017-05-07 15:29:36 -07:00
Yuri Kunde Schlesner e7c2eba35d Remove built-in (non-Microprofile) profiler 2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner e00a6d67f5 Qt: Re-organize setup of debugging widgets 2017-02-18 02:16:24 -08:00
Yuri Kunde Schlesner ddf23d4a2e VideoCore: Split regs.h inclusions 2017-02-09 00:04:24 -08:00
Yuri Kunde Schlesner 1b3b6d9d9a Pica/Regs: Use binary search to look up reg names
This gets rid of the static unordered_map. Also changes the return type
const char*, avoiding unnecessary allocations (the result was only used
by calling .c_str() on it.)
2017-02-09 00:04:24 -08:00
Yuri Kunde Schlesner a0b1957425 VideoCore: Move Regs to its own file 2017-02-04 13:59:12 -08:00
Yuri Kunde Schlesner 6f9218c8ec VideoCore: Split framebuffer regs from Regs struct 2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner 1242f42a09 VideoCore: Split texturing regs from Regs struct 2017-02-04 13:59:09 -08:00
Yuri Kunde Schlesner d3928b7f9a VideoCore: Split rasterizer regs from Regs struct 2017-02-04 13:08:47 -08:00
Yuri Kunde Schlesner cb89a67a80 Merge pull request #2476 from yuriks/shader-refactor3
Oh No! More shader changes!
2017-02-04 13:02:48 -08:00
Yuri Kunde Schlesner 114222b11e Pica/Texture: Simplify/cleanup texture tile addressing 2017-02-04 12:33:25 -08:00
Yuri Kunde Schlesner d1270b647c VideoCore: Move LookupTexture out of debug_utils.h 2017-02-04 12:31:40 -08:00
Yuri Kunde Schlesner 067b9b54bd VideoCore: Consistently use shader configuration to load attributes 2017-01-29 21:31:37 -08:00
Yuri Kunde Schlesner a4a4b6408c VideoCore: Rename some types to more accurate names 2017-01-29 21:31:36 -08:00
Yuri Kunde Schlesner ab0b74b0f3 VideoCore/Shader: Move entry_point to SetupBatch 2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner 1994f1a6f2 VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetup 2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner 46fc50931f VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngine 2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner 2c14dbdb64 Debugger: Always use interpreter for shader debugging 2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner 73e7bc2592 VideoCore/Shader: Split shader uniform state and shader engine
Currently there's only a single dummy implementation, which will be
split in a following commit.
2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner 03d2b6aa89 VideoCore/Shader: Use only entry_point as ShaderSetup param
This removes all implicit dependency of ShaderState on global PICA
state.
2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner d6533112fe VideoCore/Shader: Use self instead of g_state.vs in ShaderSetup 2017-01-25 18:53:23 -08:00
Kloen e0e1b347a4 citra-qt: Removed unused and unimplemented ramview files. 2017-01-22 18:42:15 +01:00
Sebastian Valle 35aea29a77 Merge pull request #2393 from Subv/synch
Kernel: Mutex priority inheritance and synchronization improvements.
2017-01-05 12:55:01 -05:00
Subv bcad1d6f12 Kernel: Use different thread statuses when a thread calls WaitSynchronization1 and WaitSynchronizationN with wait_all = true.
This commit removes the overly general THREADSTATUS_WAIT_SYNCH and replaces it with two more granular statuses:

THREADSTATUS_WAIT_SYNCH_ANY when a thread waits on objects via WaitSynchronization1 or WaitSynchronizationN with wait_all = false.

THREADSTATUS_WAIT_SYNCH_ALL when a thread waits on objects via WaitSynchronizationN with wait_all = true.
2017-01-04 15:58:50 -05:00
Jonathan Hao 1df720ed08 Fix some warnings (#2399) 2017-01-04 13:48:29 -03:00
bunnei 37e91013ec Merge pull request #2343 from bunnei/core-cleanup
Core: Top-level consolidate & misc cleanup
2016-12-22 11:47:44 -05:00
bunnei 8cfd0762fd core: Replace "AppCore" nomenclature with just "CPU". 2016-12-22 00:27:46 -05:00
bunnei 796a0ae11b Merge pull request #2361 from lioncash/disasm
disassembler: Remove mutable specifier from breakpoints member variable
2016-12-22 00:15:06 -05:00
bunnei d504f6cf08 core: Consolidate core and system state, remove system module & cleanups. 2016-12-21 23:29:13 -05:00
Lioncash 0ecbd152b1 citra-qt: Move graphics debugging code into its own folder
Keeps all graphics debugging stuff from cluttering up the root debugger
folder
2016-12-21 17:19:21 -05:00
Lioncash 20112a1c26 disassembler: Remove mutable specifier from breakpoints member variable
Breakpoints has been const correct with regards to what the
DisassmblerModel needs for quite a while now.
2016-12-21 14:12:41 -05:00
bunnei 034651fa7f 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 c99b5e3122 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 00decc1180 Fixed the codestyle to match our clang-format rules. 2016-12-14 12:35:01 -05:00
Lioncash b24112862e citra-qt: Make constructors explicit where applicable 2016-12-11 14:18:06 +00:00
Lioncash 94f0a00f0e citra-qt: Add missing #pragma once directives 2016-12-11 12:12:03 +00:00
Lioncash e221b00122 graphics_cmdlists: Get rid of variable shadowing 2016-12-11 04:33:24 -05:00
Lioncash a1f25eb04a graphics_cmdlists: Get rid of an unused variable 2016-12-10 20:01:27 -05:00
Lioncash 520b6a7ae4 graphics_cmdlists: Make LoadTexture and TextureInfoWidget src arguments const 2016-12-10 20:01:22 -05:00
Lioncash 95adb797c5 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 b0ebdfae34 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 d4815e828d 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 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
Subv 4c4f50dfaf Fixed the rebase mistakes. 2016-11-30 23:28:31 -05:00