Commit Graph

1854 Commits

Author SHA1 Message Date
Ryan Houdek 7376956c92 Merge pull request #1912 from Sonicadvance1/Android_remove_workaround
[Android] Remove posix_memalign workaround.
2015-01-19 15:36:17 -06:00
Ryan Houdek dc95ea2ce6 Minor fix with psq_st{u,}x disassembly. 2015-01-19 10:12:23 -06:00
Lioncash ed58b1fd5b Merge pull request #1913 from Sonicadvance1/fix_paired_store_disassembly
Fixes disassembly of paired store instructions.
2015-01-18 23:27:34 -05:00
Ryan Houdek 596d3fd5f2 Fixes disassembly of paired store instructions.
Someone thought it would be a good idea to have the location as the first argument on the instruction.
Changed it to how it is supposed to be disassembled.
2015-01-18 16:37:43 -06:00
Ryan Houdek 08e50ec6dd [Android] Remove posix_memalign workaround.
Google fixed the issue of posix_memalign not being available. It now works fine in r10d of the NDK.
2015-01-18 16:34:42 -06:00
Tillmann Karras e80b657cf4 Move MOVBE wrappers directly into XEmitter class 2015-01-18 13:29:34 +01:00
Tillmann Karras eb13aa43fe XEmitter: overload MOVBE() 2015-01-18 12:59:33 +01:00
Tillmann Karras 52b1a54597 MemoryUtil: mention Valgrind in mmap error message 2015-01-12 02:22:05 +01:00
Tillmann Karras f98359ef5c MemoryUtil: add comment for Valgrind
Valgrind doesn't support the mmap() flag MAP_32BIT. Adding a simple
CMake option would force a recompile, so just add this comment.
2015-01-12 02:22:05 +01:00
Ryan Houdek ca3b3adb50 Merge pull request #1849 from Sonicadvance1/AArch64_Emitter_Improvements
[AArch64] Emitter Improvements and additions.
2015-01-11 07:08:02 -06:00
Fiora 5b825e9091 StringUtils: use C locale instead of .1252
Fixes regression on Linux.
2015-01-11 00:15:57 -08:00
Pierre Bourdon 394257f33b Merge pull request #1798 from FioraAeterna/overclock
Support overclocking and underclocking the Gamecube CPU
2015-01-11 06:12:27 +01:00
Fiora 8237004448 JIT: optimize for the common case of unquantized psq_l/st
Optimistically assume used GQRs are 0 in blocks that only use one GQR, and
bail at the start of the block and recompile if that assumption fails.

Many games use almost entirely unquantized stores (e.g. Rebel Strike, Sonic
Colors), so this will likely be a big performance improvement across the board
for games with heavy use of paired singles.
2015-01-10 14:14:43 -08:00
Fiora c2c950108d Support overclocking and underclocking the Gamecube CPU
Won't work with all games, but provides a nice way to spend extra CPU to make
a variable framerate game faster (e.g. Spyro or The Last Story), or to make
a game use less CPU at the cost of a lower framerate (e.g. Rogue Leader).
2015-01-10 10:46:38 -08:00
Ryan Houdek c511ee763a [AArch64] Add the float emitter. 2015-01-08 19:55:31 -06:00
Ryan Houdek 6bc274a968 Merge pull request #1844 from Tilka/sse_mov
x64Emitter: fix MOVLPD/MOVHPD
2015-01-08 19:04:14 -06:00
Markus Wick f0f8384639 Merge pull request #1785 from degasus/custom_texture
VideoCommon: Custom texture handling
2015-01-08 13:29:45 +01:00
Ryan Houdek 5a0133c478 [AArch64] Add a few more VFP register helpers.
Renames Is128Bit to IsQuad to line up more with the other helpers.
2015-01-07 13:05:55 -06:00
Ryan Houdek 2b4f1aed40 [AArch64] Minor shifted register adjustment.
If we have a shift amount that is the full length of the source register then we have an invalid instruction.
This can happen when dealing with a couple of PowerPC instructions.
This same adjustment is already in the ARMv7 emitter.
2015-01-07 13:03:51 -06:00
Ryan Houdek 0a23ca9461 [AArch64] Add MUL/MNEG instruction aliases to the emitter. 2015-01-07 13:03:01 -06:00
Ryan Houdek d2eaba5cb7 [AArch64] Minor MOVI2R improvement.
Use the ZR for both input arguments in the case the immediate is the maximum immediate value.
This allows it to be aliased to MVN when disassembling.
2015-01-07 13:00:39 -06:00
Ryan Houdek 8dba84dd7c [AArch64] Fix 8 & 16 bit loadstore indexes.
I wasn't bit shifting correctly for 8 and 16bit loadstores.
2015-01-07 12:58:37 -06:00
Ryan Houdek f4f59ea71e [AArch64] Fix ADDS/SUBS emitter functions.
These weren't emitting the flag bit. So they were regular ADD and SUB emitters.
2015-01-07 12:56:45 -06:00
Tillmann Karras 1efa9b8b72 x64Emitter: add MOVLPS/MOVHPS 2015-01-07 11:23:52 +01:00
Tillmann Karras 3daa6ab259 x64Emitter: fix MOVLPD/MOVHPD
These instructions were using the wrong prefix which turned
MOVLPD(reg, mem) into MOVDDUP(reg, mem) and made the rest of them
invalid.
2015-01-07 11:23:52 +01:00
Dolphin Bot 89b7f1057f Merge pull request #1804 from FioraAeterna/fastermmu2_master
MMU: various improvements, bugfixes, optimizations
2015-01-07 00:49:58 +01:00
Markus Wick d8d4c94e07 Merge pull request #1819 from Tilka/cmake
CMake: simplify some expressions
2015-01-06 09:27:59 +01:00
Fiora 53b44ccb3a x64ABI: enhance MOVTwo to take an offset
This lets us merge displacements into MOVTwo in trampolines.
2015-01-05 10:45:58 -08:00
Fiora 8a6ea918b6 GekkoDisassembler: fix display of CRs in branch operations 2015-01-03 19:53:55 -08:00
Tillmann Karras 6bcdb10eee CMake: simplify some expressions 2015-01-03 13:17:57 +01:00
Ryan Houdek 479d1e56c3 Merge pull request #1783 from degasus/disablelogs
OGL: disable driver warnings fetch
2015-01-01 14:12:02 -06:00
degasus c6dd5044d6 VideoCommon: make hash independet from hires textures 2014-12-29 10:24:27 +01:00
Markus Wick c5a0b6bf50 Merge pull request #1432 from randomstuff/linux-perf
Add Linux perf JIT support (/tmp/perf-$pid.map)
2014-12-28 23:12:52 +01:00
degasus 1ed41672f5 OGL: disable driver warnings fetch
This did give a decent slowdown on some drivers.
2014-12-28 22:31:24 +01:00
Ryan Houdek 47b67fe527 Merge pull request #1744 from Buddybenj/google-code
Update Outdated Google Code References
2014-12-21 20:55:56 -06:00
Benjamin Przybocki fba3c48ec4 Update Outdated Google Code References 2014-12-20 21:17:51 -06:00
Ryan Houdek d3c2e8fb0a [AArch64] Improvements to the AArch64 emitter.
Fixes issues with negative offsets in loadstore instructions.
Adds ADRP/ADR instructions.
Optimizes MOVI2R function to take advantage of ADRP on pointers, can change a 3 instruction operation down to one.
Adds GPR push/pop operations for ABI related things.
2014-12-20 19:35:52 -06:00
Pierre Bourdon dad7911214 Merge pull request #1486 from rohit-n/goto
Remove some gotos.
2014-12-20 16:47:55 +01:00
Rachel Bryk 6a2973ac1d Fix hires texture path. 2014-12-11 19:24:16 -05:00
Tillmann Karras 6e928d08a0 Jit64: clean up casts in memory operands 2014-12-07 20:23:27 +01:00
Ryan Houdek 4e98078daf Merge pull request #1658 from lioncash/locale
Common: Remove locale based functions from CommonFuncs.
2014-12-07 01:12:00 -06:00
Tillmann Karras 986d19b9d5 x64Emitter: fix bitwise AVX opcodes
The reason this didn't break is that bitwise instructions like VPAND,
VANDPS, and VANDPD do the exact same thing. The only difference is the
data type they are intended for.
2014-12-06 22:28:03 +01:00
Lioncash 9bcadc8029 Common: Remove locale based functions from CommonFuncs.
Since %f isn't used anymore in the shader generators, these can go.
2014-12-05 20:55:29 -05:00
Rohit Nirmal e7ddaf86f5 Fix building with PCH disabled. 2014-12-03 22:01:12 -06:00
skidau 7bc78827ed Merge pull request #1574 from degasus/profiler
Common: Add a built-in profiler
2014-12-04 13:22:31 +11:00
Ryan Houdek 2c39d4044d [AArch64] Add loadstore paired emitter instructions. 2014-12-02 21:08:34 -06:00
degasus 94d9d138d9 Common: Add a built-in profiler 2014-12-03 00:50:41 +01:00
Rohit Nirmal a53c5217bb Common: Remove goto in MemArena. 2014-12-01 11:47:37 -06:00
Rohit Nirmal e3abad234c Common: Remove gotos in FileUtil, and replace FILE*s with IOFile/ifstreams. 2014-12-01 11:47:36 -06:00
Ryan Houdek 414e36d8c9 Merge pull request #1258 from FioraAeterna/avoidfmulround
JIT: optimize single-precision ops based on knowledge of their inputs
2014-11-30 15:47:34 -06:00