Yuri Kunde Schlesner
9017093f58
VideoCore: Split texturing regs from Regs struct
2017-02-04 13:59:09 -08:00
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
Alexander Laties
0a31e373f1
fixup simple type conversions where possible
2016-05-07 11:41:55 -04:00
Jannik Vogel
7d7849d71a
citra_qt: Replace 'Pica Framebuffer Debugger' with 'Pica Surface Viewer'
2016-05-07 11:30:47 +02:00
Jannik Vogel
7a77b8356c
Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation
2016-05-04 10:21:51 +02:00
Emmanuel Gil Peyrot
691a42fe98
VideoCore: Run include-what-you-use and fix most includes.
2016-04-30 17:02:41 +01:00
Yuri Kunde Schlesner
e3a8292495
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
90501f20e6
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
01a1555b5d
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
2850a22359
debugger: Warn if we reach an unreachable format
2016-04-23 11:54:02 +08:00
Jannik Vogel
9aad2f29bb
PICA: Fix MAD/MADI encoding
2016-03-15 20:01:25 +01:00
Jannik Vogel
557b732b43
Fix attribute mapping in vs debugger
2016-03-09 13:15:37 +01:00
Dwayne Slater
6b775034dd
Add immediate mode vertex submission
2016-03-02 22:16:38 -05:00
Lioncash
cee8df6ff0
core: Use unique_ptr for holding the interpreter instances
2015-12-29 18:03:08 -05:00
Rohit Nirmal
32391cffdd
Silence -Wsign-compare warnings.
2015-10-06 22:16:15 -05:00
Yuri Kunde Schlesner
1ed7f3e028
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
07bfe0abbb
general: Replace 0 literals with nullptr where applicable
2015-09-11 23:11:01 -04:00
Yuri Kunde Schlesner
5bca1e6adf
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
5bf8eed96c
Merge pull request #1149 from lioncash/override
...
graphics_breakpoints_p: Add missing override specifier
2015-09-11 18:24:24 -03:00
Lioncash
ec93d6e19a
graphics_breakpoints_p: Add missing override specifier
2015-09-11 16:32:02 -04:00
Lioncash
60b3fc01a2
General: Replace NULL and '0' usages with nullptr where applicable
2015-09-11 14:59:49 -04:00
Lioncash
abe5bb4019
citra_qt: Reorganize headers
2015-09-11 00:57:24 -04:00
bunnei
0f2005c370
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
2011f9a042
Shader Debugger: Allow editing of input vertex data
2015-09-07 16:46:31 -03:00
Yuri Kunde Schlesner
2bdf9ede91
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
2c98275b51
Shader Debugger: Remove useless signal
2015-09-07 16:46:30 -03:00
Yuri Kunde Schlesner
f77dfb3966
Shader Debugger: Fix only first vertex attribute being loaded
2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner
c1beb2ce20
Shader Debugger: Fix freeze when double-clicking shader disassembly
2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner
2d195ba64e
Shader Debugger: Improve space efficiency of the layout
2015-09-07 16:46:28 -03:00
Yuri Kunde Schlesner
8540e02176
Shader Disassembly: Fix printing of jump offsets
2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner
3194f40e96
Shader Disassembly: Fix disassembly of IFU/CALLU instructions
2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner
bc3f57efd0
Shader Disassembly: Implement support for MAD/MADI
2015-09-07 16:46:26 -03:00
Yuri Kunde Schlesner
86d5461bcd
Shader Disassembly: Introduce variables to hold common subexpressions
2015-09-07 16:46:25 -03:00
Yuri Kunde Schlesner
ecbad494d9
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
9431ee330a
Shader Disassembly: Cleanup code and improve output alignment
2015-09-07 16:46:23 -03:00
Kloen
a962c30df1
citra-qt: Use monospace font on Disassembler and ARM Registers
2015-09-07 21:02:45 +02:00
Yuri Kunde Schlesner
0fcabd2b11
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
Yuri Kunde Schlesner
c7745408f7
citra-qt: Add helper function to get a monospace QFont
2015-08-24 22:16:28 -03:00
bunnei
1f18c9f8dd
Merge pull request #1034 from yuriks/rg8-textures
...
videocore: Added RG8 texture support
2015-08-16 22:17:12 -04:00
Tony Wasserka
f5144e6c10
Merge pull request #997 from Lectem/cmdlist_full_debug
...
citra-qt: Improve pica command list widget (add mask, fix some issues)
2015-08-16 13:34:45 +02:00
Tony Wasserka
32592364b8
citra-qt/VertexShader: Minor UI improvements.
...
Renamed "Iteration index" to the (hopefully) more intuitive "Cycle Index".
Added flexible space at the bottom of the widget.
2015-08-16 14:12:12 +02:00
Tony Wasserka
493c432d1e
citra-qt: Fix comment style.
2015-08-16 14:12:11 +02:00
Tony Wasserka
33ba604fd9
Introduce a shader tracer to allow inspection of input/output values for each processed instruction.
2015-08-16 14:12:11 +02:00
Tony Wasserka
2e3601f415
Pica/DebugUtils: Include uniform information into shader dumps.
2015-08-16 13:22:01 +02:00
Tony Wasserka
4cb302c8ae
citra-qt: Improve shader debugger.
...
Now supports dumping the current shader and recognizes a larger number of output semantics.
2015-08-16 13:22:00 +02:00
Tony Wasserka
6a5d560c4f
citra-qt: Print the correct swizzle mask for SRC2 in the shader disassembler.
2015-08-16 13:19:40 +02:00
Yuri Kunde Schlesner
7d0c17d2ae
citra-qt: Give RG8 format a proper name in the texture viewer
2015-08-16 02:36:33 -03:00
bunnei
18527b9e21
Shader: Move shader code to its own subdirectory, "shader".
2015-08-15 17:33:42 -04:00
bunnei
642b9b5030
GPU: Refactor "VertexShader" namespace to "Shader".
...
- Also renames "vertex_shader.*" to "shader_interpreter.*"
2015-08-15 17:33:41 -04:00
bunnei
cebf245504
Merge pull request #1027 from lioncash/debugger
...
debugger: Add the ability to view VFP register contents
2015-08-13 18:13:25 -04:00
Emmanuel Gil Peyrot
5115d0177e
ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.
2015-08-11 22:38:44 +01:00