Commit graph

3224 commits

Author SHA1 Message Date
Tony Wasserka
1c1a9ab09b 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
9a1820ea61 Pica/DebugUtils: Include uniform information into shader dumps. 2015-08-16 13:22:01 +02:00
Tony Wasserka
41dda548cd 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
c677d18727 citra-qt: Print the correct swizzle mask for SRC2 in the shader disassembler. 2015-08-16 13:19:40 +02:00
Yuri Kunde Schlesner
63a0b6de7b Merge pull request #1033 from bbarenblat/master
Handle `FileType::CIA` in `switch` statements
2015-08-15 22:40:29 -07:00
Yuri Kunde Schlesner
b0b3c7304b citra-qt: Give RG8 format a proper name in the texture viewer 2015-08-16 02:36:33 -03:00
Patrick Martin
78b1877f9e videocore: Added RG8 texture support 2015-08-16 02:21:50 -03:00
Yuri Kunde Schlesner
209113743f GPU: Implement TextureCopy-mode display transfers
Fixes glitchy garbage in Fire Emblem 3D scenes.
2015-08-16 01:52:51 -03:00
bunnei
2465e43a42 Merge pull request #1017 from LittleWhite-tb/qt-recent-files
citra-qt: save path for recent files loaded
2015-08-16 00:22:10 -04:00
bunnei
e3de8e63c3 Merge pull request #1032 from lioncash/swap
vfp: use std::swap where applicable
2015-08-16 00:20:35 -04:00
Yuri Kunde Schlesner
984bea6698 Kernel: Remove unused legacy heap MapBlock_* functions 2015-08-16 01:03:49 -03:00
Yuri Kunde Schlesner
bad440fdc9 APT: Adjust shared font hack so it works with the new linear heap code 2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner
00e9d19f28 Kernel: Implement svcGetProcessInfo in a basic way
This also adds some basic memory usage accounting. These two types are
used by Super Smash Bros. during startup.
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner
e34643a3e4 Kernel: Add more infrastructure to support different memory layouts
This adds some structures necessary to support multiple memory regions
in the future. It also adds support for different system memory types
and the new linear heap mapping at 0x30000000.
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner
cbc7419408 HLE: Remove empty ConfigMem and SharedPage Shutdown functions 2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner
6bb23baf0a Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h} 2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
168d376c67 Memory: Move address type conversion routines to memory.cpp/h
These helpers aren't really part of the kernel, and mem_map.cpp/h is
going to be moved there next.
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
521cb56792 Process: Store kernel compatibility version during loading 2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
8850ade24d Kernel: Properly implement ControlMemory FREE and COMMIT 2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
fbcf0558f3 Memory: Move PAGE_MASK and PAGE_BITS to memory.h 2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner
ce332ef416 VMManager: Introduce names for used ResultCodes 2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner
f287e6dff4 VMManager: Make LogLayout log level configurable as a parameter 2015-08-16 01:03:43 -03:00
Yuri Kunde Schlesner
c31e812624 VMManager: Change block offsets to size_t 2015-08-16 01:03:43 -03:00
Lioncash
d7335fa5f0 vfp: use std::swap where applicable 2015-08-15 19:08:51 -04:00
Yuri Kunde Schlesner
86f72f80e1 Merge pull request #1031 from bbarenblat/master
Handle invalid `Log::Class`
2015-08-15 15:34:12 -07:00
bunnei
b40b02991a Merge pull request #1002 from bunnei/shader-jit
Vertex Shader JIT for X86-64
2015-08-15 18:26:12 -04:00
bunnei
5c7e9ffce7 Shader: Use a POD struct for registers. 2015-08-15 18:03:27 -04:00
bunnei
4ffc095fa3 Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64. 2015-08-15 18:03:27 -04:00
bunnei
e019e69016 Common: Cleanup CPU capability detection code. 2015-08-15 18:03:26 -04:00
bunnei
15e9a59ad0 Common: Move cpu_detect to x64 directory. 2015-08-15 18:03:26 -04:00
bunnei
f9e3228caa x64: Refactor to remove fake interfaces and general cleanups. 2015-08-15 18:03:25 -04:00
bunnei
fe33a705de JIT: Support negative address offsets. 2015-08-15 18:01:22 -04:00
bunnei
c03924e60e Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
2015-08-15 18:01:07 -04:00
bunnei
be08c22685 Common: Added MurmurHash3 hash function for general-purpose use. 2015-08-15 17:33:46 -04:00
bunnei
3d35d53b8d Common: Ported over boilerplate x86 JIT code from Dolphin/PPSSPP. 2015-08-15 17:33:45 -04:00
bunnei
432d1c5263 Common: Ported over Dolphin's code for x86 CPU capability detection. 2015-08-15 17:33:44 -04:00
bunnei
5794310781 Shader: Define a common interface for running vertex shader programs. 2015-08-15 17:33:44 -04:00
bunnei
2d100ebae3 Shader: Move shader code to its own subdirectory, "shader". 2015-08-15 17:33:42 -04:00
bunnei
f622a78544 GPU: Refactor "VertexShader" namespace to "Shader".
- Also renames "vertex_shader.*" to "shader_interpreter.*"
2015-08-15 17:33:41 -04:00
Benjamin Barenblat
ef432342ce Properly indicate that CIA support is not implemented yet
Make `Loader::LoadFile` return an `ErrorNotImplemented` if you call
it on a CIA file.
2015-08-15 16:05:38 -04:00
Benjamin Barenblat
b57680c39f Give CIA file type a name
Make `GetFileTypeString` return ‘CIA’ for CIA (CTR Importable
Archive) files.
2015-08-15 15:45:27 -04:00
Benjamin Barenblat
c96107a440 Handle invalid Log::Class
Add a case of `Log::Class::Count` to the switch statement that
dispatches on `Log::Class`.  The case simply calls the `UNREACHABLE`
macro.
2015-08-15 15:39:45 -04:00
bunnei
4b7664fe12 Merge pull request #1027 from lioncash/debugger
debugger: Add the ability to view VFP register contents
2015-08-13 18:13:25 -04:00
bunnei
d27435106c Merge pull request #1030 from archshift/force-inline
Stop defining GCC always_inline attributes as __forceinline
2015-08-12 00:17:05 -04:00
archshift
58e2d19f08 Stop defining GCC always_inline attributes as __forceinline
__forceinline is a MSVC extension, which may confuse some people working on the codebase.
Furthermore, the C++ standard dictates that all names which contain adjacent underscores are reserved.
2015-08-11 19:45:15 -07:00
bunnei
452edce407 Merge pull request #893 from linkmauve/remove-uint._t-int._t
Replace standard uint*_t and int*_t with CommonTypes’ u* and s* types
2015-08-11 17:55:24 -04:00
Emmanuel Gil Peyrot
fe83e1f777 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
bunnei
0387001b57 Merge pull request #1023 from yuriks/gl-state-bugs
OpenGL: Fix state tracking in situations with reused object handles
2015-08-11 17:19:45 -04:00
bunnei
16d240c1fc Merge pull request #1028 from aroulin/arm-disas-media-instr
arm_disasm: ARMv6 media instructions
2015-08-11 13:28:23 -04:00
LittleWhite
35a2f138b8 Add menu and logic to save and load recently loaded files.
This menu is only for ROM and will not save symbols recently loaded.
When the menu is empty, the menu is disabled (greyed out)
2015-08-11 18:45:44 +02:00