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
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
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
aroulin
1af26ea3d8
arm_disasm: ARMv6 mul/div and abs media instructions
...
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
2015-08-11 12:48:28 +02:00
aroulin
0e37ee5692
arm_disasm: ARMv6 parallel add/sub media instructions
...
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
2015-08-11 12:48:23 +02:00
aroulin
e752fd5728
arm_disasm: ARMv6 reversal media instructions
...
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
2015-08-09 13:52:51 +02:00
aroulin
86d63d8fd8
arm_disasm: ARMv6 saturation media instructions
...
SSAT, SSAT16, USAT, USAT16
2015-08-09 01:31:10 +02:00
aroulin
aecd0de63e
arm_disasm: ARMv6 packing and sign-extend media instructions
...
PKH, SEL
SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH
UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
2015-08-09 01:31:03 +02:00
Lioncash
b104d30596
Merge pull request #1026 from lioncash/disasm
...
arm_disasm: Remove unnecessary code
2015-08-07 07:29:27 -04:00
Lioncash
9f1b35f27f
registers: Support viewing VFP registers
2015-08-07 02:11:07 -04:00
Lioncash
daabb4fab3
arm_interface: Implement interface for retrieving VFP registers
2015-08-06 21:24:25 -04:00
Lioncash
32461be3ab
registers: Fix a typo with CPSR's name
2015-08-06 21:11:25 -04:00
Lioncash
59d5358068
arm_disasm: Remove unnecessary code
...
This part of disassembly only determines the opcode, there's no need for offset calculation here.
2015-08-06 19:55:41 -04:00
Lioncash
98a881c175
Merge pull request #1022 from aroulin/disas-missing-v6k-instructions
...
Disassembler: ARMv6K instructions
2015-08-06 18:09:52 -04:00
aroulin
4721ff6747
Disassembler: ARMv6K REX instructions
2015-08-06 15:50:54 +02:00
aroulin
0d4ad676e9
Disassembler: ARMv6K hint instructions
2015-08-06 15:25:08 +02:00
Yuri Kunde Schlesner
fe3a7af354
OpenGL: Fix state tracking in situations with reused object handles
...
If an OpenGL object is created, bound to a binding using the state
tracker, and then destroyed, a newly created object can be assigned the
same numeric handle by OpenGL. However, even though it is a new object,
and thus needs to be bound to the binding again, the state tracker
compared the current and previous handles and concluded that no change
needed to be made, leading to failure to bind objects in certain cases.
This manifested as broken text in VVVVVV, which this commit fixes along
with similar texturing problems in other games.
2015-08-06 00:59:37 -03:00
Yuri Kunde Schlesner
60df1c9b2b
OpenGL: Remove redundant texture.enable_2d field from OpenGLState
...
All uses of this field where it's false can just set the texture id to 0
instead.
2015-08-05 22:55:22 -03:00
bunnei
983c93be94
Merge pull request #1018 from bbarenblat/master
...
Handle invalid `Log::Level::Count`
2015-08-05 11:59:06 -04:00
bunnei
bd6131bdc0
Merge pull request #1015 from yuriks/vertex-caching
...
Videocore: Implement simple vertex caching
2015-08-04 22:45:47 -04:00