Ziek
4cdc307b87
Moved Traversal Client code over from old netplay
...
Moved over gui code for copying host code
added gui to netplay diag setup to switch between direct and traversal connection
2015-02-25 18:28:25 -08:00
Lioncash
7408de7e79
Merge pull request #2058 from Stevoisiak/Codemaid-Cleanup-Take2
...
Basic Formatting/Whitespace Cleanup
2015-02-25 18:07:56 -05:00
magumagu
b1fbf205ec
Merge pull request #2122 from Tilka/intrinsics
...
Intrinsics: drop custom _mm_shuffle_epi8()
2015-02-25 10:48:34 -08:00
Stevoisiak
93b16a4a2d
Formatting/Whitespace Cleanup
...
Various fixes to formatting and whitespace
2015-02-25 10:48:21 -05:00
Markus Wick
d6ccbb1f9c
Merge pull request #2004 from randomstuff/stringutil-c-locale
...
Use the C locale for non-Windows CharArrayFromFormatV() and StringFromFormat()
2015-02-25 13:17:04 +01:00
Ryan Houdek
ca6e154f0b
Fix a bug on user path re-assignment.
...
The Load directory wasn't being properly reassigned when the user path changed, which causes a bunch of issues with things loading from the wrong
place when using the -U option in Dolphin.
2015-02-25 05:45:25 -06:00
Ryan Houdek
db06f058e4
Move user directory detection location to UICommon.
...
The UI should decide on where it wants the user directory, not our core system.
This is in anticipation of some upcoming work on Android which will need proper user directory setting.
2015-02-25 03:31:59 -06:00
Tillmann Karras
dd818a3831
Intrinsics: drop custom _mm_shuffle_epi8()
...
We don't actually use it, because of reasons.
2015-02-24 19:37:16 +01:00
Tillmann Karras
7056f6308a
Fix a -Wunused-result warning
2015-02-24 10:29:59 +01:00
Tillmann Karras
daf4aa0947
Common: move _M_SSE macro to Intrinsics.h
2015-02-24 01:06:25 +01:00
Tillmann Karras
9aa463c590
Common: move _mm_shuffle_epi8 to Intrinsics.h
2015-02-24 01:06:24 +01:00
Tillmann Karras
f298f00e1b
Clean up the intrinsics #ifdef mess
2015-02-24 01:02:36 +01:00
Tillmann Karras
56795efd42
Common: add single header for all intrinsics
2015-02-24 01:01:10 +01:00
Tillmann Karras
387777ed72
Fix VTune static library dependencies
...
Since libcommon.a is also the last library to be linked, this has the
totally hacky but useful side-effect that it doesn't require people to
modify CMake files for temporarily adding VTune code to other Dolphin
libraries.
2015-02-22 20:49:30 +01:00
Fiora
c54a8c54fb
Merge pull request #1994 from Tilka/vtune
...
JitRegister: fix VTune integration
2015-02-22 07:58:12 -08:00
Markus Wick
86226cb2b9
Merge pull request #1979 from Mullin/head
...
Use clock_gettime instead of gettimeofday, it's more efficiency on low power system
2015-02-18 21:54:16 +01:00
Mullin
797fc14414
Use clock_gettime instead of gettimeofday, it's more effiency on low power system
...
Add def for mac(They don't support clock_gettime)
Fix my mistake
Fix my mistake 2
2015-02-18 21:44:58 +01:00
mimimi085181
f6c9b8243e
GetCRC32: Fix the hash for the last byte(s)
...
This fixes issue 8227
https://code.google.com/p/dolphin-emu/issues/detail?id=8227
2015-02-18 14:26:28 +01:00
Ryan Houdek
120df4c688
[AArch64] Implement loadstore unscaled.
2015-02-16 22:00:43 -06:00
Ryan Houdek
814aaaf538
[AArch64] Implement a couple of emitter instructions.
...
These will be used with the vertex loader JIT recompiler.
2015-02-13 12:16:06 -06:00
Ryan Houdek
0252bbb33f
[AArch64] Fix non-PCH build.
2015-02-13 12:16:05 -06:00
Ryan Houdek
8074d06270
[ARM] Fix poison memory functions.
...
We were poisoning 4x more data and overrunning our buffers. We don't want to do this.
2015-02-13 12:16:05 -06:00
Ryan Houdek
20dae1f210
[AArch64] Fix a bunch of emitter asserts.
...
Since I've added the msg handler. I found all these asserts that were backwards. So they were asserting on the correct arguments.
2015-02-13 12:16:05 -06:00
Tillmann Karras
0ec48e0ec9
JitRegister: fix VTune integration
2015-02-12 02:14:49 +01:00
magumagu
ac54c6a4e2
Make address translation respect the CPU translation mode.
...
The PowerPC CPU has bits in MSR (DR and IR) which control whether
addresses are translated. We should respect these instead of mixing
physical addresses and translated addresses into the same address space.
This is mostly mass-renaming calls to memory accesses APIs from places
which expect address translation to use a different version from those
which do not expect address translation.
This does very little on its own, but it's the first step to a correct BAT
implementation.
2015-02-11 13:56:22 -08:00
Gabriel Corona
266d50c811
Use the C locale for non-Windows CharArrayFromFormatV() and StringFromFormat()
...
The Windows implementations of CharArrayFromFormatV() and
StringFromFormat() use the "C"/".1252" locale instead of the user
locale (using _vsnprintf_l). On non-Windows, the user locale was used.
This leads to bugs on non-Windows: the Overclock parameter was
serialised with the user locale ("0,279322" in some locale) and was
interpreted back as "0" (because the C locale is used for parsing the
string).
Make non-Windows CharArrayFromFormatV() and StringFromFormat()
consistent with their Windows counterpart.
The locale code is not enables for Android:: uselocale is only
available since API 21 and API 21 only supports C and C.UTF-8.
2015-02-04 17:49:22 +01:00
Lioncash
e07679114b
Use emplace_* functions where in-place construction is preferable
2015-02-04 11:39:08 -05:00
Ryan Houdek
a277172b49
Merge pull request #1980 from Sonicadvance1/AArch64_more_optimizations
...
[AArch64] Minor optimizations
2015-01-30 08:33:19 -06:00
Ryan Houdek
1c388b6c37
Fix clang on x86_64.
...
If we are compiling in the CRC32 hash, clang has an issue with casting a s32 to a u64.
Change our lens argument to a unsigned integer to fix the issue.
2015-01-29 01:55:20 -06:00
Ryan Houdek
8c53b88cc3
[AArch64] Implement a way to call lambdas in the emitter
2015-01-29 01:50:11 -06:00
Gabriel Corona
a4adfe194a
JitRegister: overload Register with a [start,end) variant
2015-01-28 09:50:19 +01:00
Gabriel Corona
a957f93532
Use printf-like format in JitRegister::Register
...
The API is cleaner (no more magic default parameter) and more
extensible like this.
2015-01-28 09:47:08 +01:00
Markus Wick
53a9df10f9
Merge pull request #1817 from Armada651/custom-anaglyph
...
PostProcessing: Add support for user-supplied anaglyph shaders.
2015-01-26 11:08:29 +01:00
Ryan Houdek
c340a324bc
Merge pull request #1947 from Sonicadvance1/AArch64_tu_tl_merge
...
[AArch64] Implement TU/TL merging.
2015-01-25 23:07:32 -06:00
Ryan Houdek
f24c466e7e
[AArch64] Fix AArch64 instruction encoding.
2015-01-25 17:26:18 -06:00
Jules Blok
262c3b19ec
PostProcessing: Add support for user-supplied anaglyph shaders.
...
There are lots of different anaglyph glasses out there and there may be even more creative uses for stereoscopic post-processing shaders.
2015-01-25 22:07:03 +01:00
skidau
0aef1d27aa
Merge pull request #1933 from magumagu/intellisense-error-fix
...
Fix Intellisense error spam on Visual Studio.
2015-01-25 15:44:30 +11:00
magumagu
3aa3002010
Fix Intellisense error spam on Visual Studio.
...
Intellisense doesn't like defines in PCH files, and it doesn't like the deleted
constructor for BitField. (I think it's being overly strict about the
"must have no non-default constructors" rule for classes in unions.)
2015-01-23 19:15:25 -08:00
Scott Mansell
75815b9b0d
Added a comment to document an issue with the codegen.
2015-01-24 16:08:26 +13:00
Ryan Houdek
6470227a39
[AArch64] Minor fix in the UMULH/SMULH.
...
These two instructions ignore the register encoded in to RA.
2015-01-22 18:08:49 -06:00
degasus
a353ead3cb
CustomTexture: Use always safe texture hash
2015-01-21 21:22:55 +01:00
Ryan Houdek
80e6367e46
Merge pull request #1869 from Stevoisiak/GeneralConsistency
...
Minor consistency changes
2015-01-21 13:46:53 -06:00
Ryan Houdek
217c2c9d6a
[AArch64] Add some more scalar VFP ops to the emitter.
2015-01-20 16:34:32 -06:00
Ryan Houdek
cb967a6ff2
Merge pull request #1911 from Sonicadvance1/AArch64_paired_loadstores
...
[AArch64] Implements paired loadstores
2015-01-20 16:33:08 -06:00
Rohit Nirmal
e35766cbcd
Fix building with PCH disabled.
2015-01-20 17:01:37 +00:00
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
Ryan Houdek
8d5947efac
[AArch64] Emitter improvements.
...
Adds a bunch of new instructions to the emitter.
2015-01-18 16:25:40 -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
Stevoisiak
cb86db7b68
Minor consistency changes
...
Mostly small changes, like capitalization and spelling
2015-01-12 15:18:18 -05: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
Ryan Houdek
c27ee21dd9
[AArch64] Workaround builtin byteswap bug.
...
The builtin byteswap routines cause critical failure on AArch64 when built with the Android toolchain.
I didn't experience this issue when building for Linux using a local qemu chroot.
Seems to be only an issue with the Android toolchain when building AArch64.
Use our generic version instead.
2014-11-30 01:23:03 -06:00
Fiora
72c96c20d3
JIT: more optimizing of float ops based on known input characteristics
...
If the inputs are both float singles, and the top half is known to be identical
to the bottom half, we can use packed arithmetic instead of scalar to skip
the movddup.
This is slower on a few rather old CPUs, plus the Atom+Silvermont, so detect
Atom and disable it in that case.
Also avoid PPC_FP on stores if we know that the output came from a float op.
2014-11-29 11:33:11 -08:00
Ryan Houdek
ce059769f6
Merge pull request #1439 from Armada651/ogl-stereo-3d
...
OGL: Stereoscopic 3D Support
2014-11-28 11:45:38 -06:00