d852c4ecc7
Merge pull request #1002 from bunnei/shader-jit
...
Vertex Shader JIT for X86-64
2015-08-15 18:26:12 -04:00
db97090cad
Shader: Use a POD struct for registers.
2015-08-15 18:03:27 -04:00
b39c053785
Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.
2015-08-15 18:03:27 -04:00
0ee00861f6
Common: Cleanup CPU capability detection code.
2015-08-15 18:03:26 -04:00
a1942238f5
Common: Move cpu_detect to x64 directory.
2015-08-15 18:03:26 -04:00
bd7e691f78
x64: Refactor to remove fake interfaces and general cleanups.
2015-08-15 18:03:25 -04:00
cfb354f11f
JIT: Support negative address offsets.
2015-08-15 18:01:22 -04:00
094ae6fadb
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
d67e2f78b7
Common: Added MurmurHash3 hash function for general-purpose use.
2015-08-15 17:33:46 -04:00
ddbeebb887
Common: Ported over boilerplate x86 JIT code from Dolphin/PPSSPP.
2015-08-15 17:33:45 -04:00
4d51792285
Common: Ported over Dolphin's code for x86 CPU capability detection.
2015-08-15 17:33:44 -04:00
3f69c2039d
Shader: Define a common interface for running vertex shader programs.
2015-08-15 17:33:44 -04:00
18527b9e21
Shader: Move shader code to its own subdirectory, "shader".
2015-08-15 17:33:42 -04:00
642b9b5030
GPU: Refactor "VertexShader" namespace to "Shader".
...
- Also renames "vertex_shader.*" to "shader_interpreter.*"
2015-08-15 17:33:41 -04:00
c0a87bc89f
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
cd8be1846b
Give CIA file type a name
...
Make `GetFileTypeString` return ‘CIA’ for CIA (CTR Importable
Archive) files.
2015-08-15 15:45:27 -04:00
7cd5a653ff
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
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
6ba619f225
Merge pull request #1030 from archshift/force-inline
...
Stop defining GCC always_inline attributes as __forceinline
2015-08-12 00:17:05 -04:00
d1ae413ffd
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
35f3360663
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
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
93f607f549
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
df25b047f8
Merge pull request #1028 from aroulin/arm-disas-media-instr
...
arm_disasm: ARMv6 media instructions
2015-08-11 13:28:23 -04:00
66eabd326f
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
38c87733d9
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
4a1db13072
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
0be8e1bfb6
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
e4ff244288
arm_disasm: ARMv6 saturation media instructions
...
SSAT, SSAT16, USAT, USAT16
2015-08-09 01:31:10 +02:00
47657a1817
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
f48a89af8b
Merge pull request #1026 from lioncash/disasm
...
arm_disasm: Remove unnecessary code
2015-08-07 07:29:27 -04:00
132961b14f
registers: Support viewing VFP registers
2015-08-07 02:11:07 -04:00
3b457a5876
arm_interface: Implement interface for retrieving VFP registers
2015-08-06 21:24:25 -04:00
5855cf087d
registers: Fix a typo with CPSR's name
2015-08-06 21:11:25 -04:00
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
4821652241
Merge pull request #1022 from aroulin/disas-missing-v6k-instructions
...
Disassembler: ARMv6K instructions
2015-08-06 18:09:52 -04:00
3425cfe54a
Disassembler: ARMv6K REX instructions
2015-08-06 15:50:54 +02:00
5d81a2fd48
Disassembler: ARMv6K hint instructions
2015-08-06 15:25:08 +02:00
254582aa35
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
ff68db61bc
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
b6c241d667
Merge pull request #1018 from bbarenblat/master
...
Handle invalid `Log::Level::Count`
2015-08-05 11:59:06 -04:00
bd6131bdc0
Merge pull request #1015 from yuriks/vertex-caching
...
Videocore: Implement simple vertex caching
2015-08-04 22:45:47 -04:00
a96502edd3
Videocore: Implement simple vertex caching
...
This gives a ~2/3 reduction in the amount of vertices that need to be
processed through the vertex loaders and the vertex shader, yielding a
good speedup.
2015-08-04 23:41:47 -03:00
4d086a4db4
Merge pull request #1019 from yuriks/msvc2015-workaround
...
Common: Work around bug in MSVC2015 standard library
2015-08-03 23:23:26 -04:00
0298b7bedd
Use UNREACHABLE macro for impossible cases in previous commit
...
Use the UNREACHABLE macro instead of `ASSERT(false, ...);`.
2015-08-02 18:30:24 -04:00
48393d452c
Common: Work around bug in MSVC2015 standard library
...
The char16_t/char32_t implementations aren't present in the library and
cause linker errors. This is a known issue that wasn't fixed in VS2015
RTM.
2015-08-02 19:03:55 -03:00
9ff23da255
Handle invalid Log::Level::Count
...
Add a case of `Log::Level::Count` to all switch statements that
dispatch on `Log::Level`. The case simply asserts `false` and notes
the invalid log level.
2015-08-02 12:55:31 -04:00
1af1c5c37b
Merge pull request #999 from LittleWhite-tb/qt-save-location
...
Save the path leading where the last file have been loaded
2015-07-31 16:00:09 -07:00
cb405ad1b4
Save the path leading where the last file have been loaded
...
I use two variables to save the path for the ROMs and the symbols.
Use of QSettings to avoid new member variable to the class.
Global settings of QSettings is done in main.
2015-07-31 17:51:01 +02:00
ce65925bc3
Merge pull request #1008 from lioncash/pc
...
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-30 10:44:50 -04:00