Commit Graph

229 Commits

Author SHA1 Message Date
Yuri Kunde Schlesner
000e78144c VideoCore: Split rasterizer regs from Regs struct 2017-02-04 13:08:47 -08:00
Yuri Kunde Schlesner
97e06b0a0d Merge pull request #2476 from yuriks/shader-refactor3
Oh No! More shader changes!
2017-02-04 13:02:48 -08:00
Yuri Kunde Schlesner
09a750e866 Pica/Texture: Simplify/cleanup texture tile addressing 2017-02-04 12:33:25 -08:00
Yuri Kunde Schlesner
a1c9ac7845 VideoCore: Move LookupTexture out of debug_utils.h 2017-02-04 12:31:40 -08:00
Yuri Kunde Schlesner
335df895b9 VideoCore: Consistently use shader configuration to load attributes 2017-01-29 21:31:37 -08:00
Yuri Kunde Schlesner
ab6954e942 VideoCore: Rename some types to more accurate names 2017-01-29 21:31:36 -08:00
Yuri Kunde Schlesner
0e9081b973 VideoCore/Shader: Move entry_point to SetupBatch 2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner
0f64274145 VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetup 2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner
ade7ed7c5f VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngine 2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner
a9b7752b9d Debugger: Always use interpreter for shader debugging 2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner
dd4a1672a7 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
1e1f939817 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
e3caf669b0 VideoCore/Shader: Use self instead of g_state.vs in ShaderSetup 2017-01-25 18:53:23 -08:00
Kloen
380c165339 citra-qt: Removed unused and unimplemented ramview files. 2017-01-22 18:42:15 +01:00
Sebastian Valle
f20d872643 Merge pull request #2393 from Subv/synch
Kernel: Mutex priority inheritance and synchronization improvements.
2017-01-05 12:55:01 -05:00
Subv
cef5f45de2 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
c18cb1b192 Fix some warnings (#2399) 2017-01-04 13:48:29 -03:00
bunnei
aa47af7fb6 Merge pull request #2343 from bunnei/core-cleanup
Core: Top-level consolidate & misc cleanup
2016-12-22 11:47:44 -05:00
bunnei
e26fbfd1d7 core: Replace "AppCore" nomenclature with just "CPU". 2016-12-22 00:27:46 -05:00
bunnei
7623957f80 Merge pull request #2361 from lioncash/disasm
disassembler: Remove mutable specifier from breakpoints member variable
2016-12-22 00:15:06 -05:00
bunnei
232ef55c1a core: Consolidate core and system state, remove system module & cleanups. 2016-12-21 23:29:13 -05:00
Lioncash
8309d0dade 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
f2c307557a 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
cda7210fad 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
905fc92ce1 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
5b1edc6ae7 Fixed the codestyle to match our clang-format rules. 2016-12-14 12:35:01 -05:00
Lioncash
d0e4d1182b citra-qt: Make constructors explicit where applicable 2016-12-11 14:18:06 +00:00
Lioncash
327b23e4ce citra-qt: Add missing #pragma once directives 2016-12-11 12:12:03 +00:00
Lioncash
4e7092881f graphics_cmdlists: Get rid of variable shadowing 2016-12-11 04:33:24 -05:00
Lioncash
1e5644935d graphics_cmdlists: Get rid of an unused variable 2016-12-10 20:01:27 -05:00
Lioncash
f1ee7e4e0e graphics_cmdlists: Make LoadTexture and TextureInfoWidget src arguments const 2016-12-10 20:01:22 -05:00
Lioncash
dcb8113347 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
963aedd8cc 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
17b29d8865 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
bdad00c73f Threading: Added some utility functions and const correctness. 2016-12-04 09:58:36 -05:00
Subv
8634b8cb83 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
2eceee3a4c Fixed the rebase mistakes. 2016-11-30 23:28:31 -05:00
Ricardo de Almeida Gonzaga
13d46f6820 Fix typos 2016-10-20 12:26:59 -02:00
wwylele
f69a543110 implement wait tree widget 2016-09-22 13:52:52 +08:00
Yuri Kunde Schlesner
84fbbe2629 Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot
ebdae19fd2 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
396a8d91a4 Manually tweak source formatting and then re-run clang-format 2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot
dc8479928c Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
Yuri Kunde Schlesner
c52754e79a Qt: Fix MicroProfile dpi scaling 2016-06-18 23:37:09 -07:00
bunnei
98b1436b8b Merge pull request #1765 from JayFoxRox/debug-surface-viewer
Debugger: Pica surface viewer
2016-06-07 18:26:24 -04:00
MerryMage
b3b3dd7591 Debugger/Callstack: Replace Memory::GetPointer with Memory::IsValidVirtualAddress 2016-05-21 11:12:38 -05:00
bunnei
d895bc1543 Merge pull request #1785 from MerryMage/mp-dpi
Microprofile: DPI-aware drawing
2016-05-18 18:03:59 -04:00
MerryMage
9b4187974b Microprofile: DPI-aware drawing 2016-05-12 21:49:02 +01:00
Jannik Vogel
6c6d99ca51 Move default_attributes into Pica state 2016-05-12 19:05:41 +02:00
Jannik Vogel
ae7a82fa1c Turn ShaderSetup into struct 2016-05-11 23:48:24 +02:00