Commit graph

2322 commits

Author SHA1 Message Date
Scott Mansell
9125ab8304 BitField: Clean .natvis up slightly by using CDATA. 2015-10-30 14:04:40 +13:00
Scott Mansell
bfac1c73f0 Bitfield: Add .natvis for easier debugging in Visual Studio 2015-10-30 12:30:22 +13:00
Lioncash
e76b1f2d56 Merge pull request #3170 from spxtr/pipes
Implemented GC Controller inputs via named pipes.
2015-10-28 16:39:57 -04:00
spxtr
d9d6cf8eda GC controller input using named pipes
Currently only works on unix, but can be extended to other systems. Can
also be extended to do wiimotes.

Searches the Pipes folder for readable named pipes and creates a dolphin
input device out of them. Send controller inputs to the game by writing
to the file. Commands are described in Pipes.h.
2015-10-24 20:20:03 -07:00
Lioncash
2630752ffe Arm64Emitter: Get rid of a pointer cast 2015-10-22 15:32:11 -04:00
Lioncash
018c85c248 Arm64Emitter: Mark trivial functions as constexpr 2015-10-22 15:22:38 -04:00
Lioncash
10c1fd7f38 MathUtil: Make Rectangle constructors and equality operator constexpr 2015-10-20 20:30:36 -04:00
Lioncash
09641ec313 MathUtil: Default initialize Rectangle class data members
Puts Rectangles into a valid state upon creation
2015-10-20 20:30:16 -04:00
Scott Mansell
1ba600b688 Merge pull request #3145 from catzilla4/master
FreeBSD Compilation fix
2015-10-19 17:29:34 +13:00
shuffle2
34d46d6910 Merge pull request #3178 from shuffle2/ucrt-fread-workaround
patch win7 ucrtbase, and note versions
2015-10-17 05:02:18 -07:00
shuffle2
0acac35d77 patch win7 ucrtbase, and note versions 2015-10-17 04:24:20 -07:00
flacs
e289cb87e5 Merge pull request #3161 from shuffle2/ucrt-fread-workaround
exchange XSaveWorkaround for ucrtFreadWorkaround
2015-10-17 05:41:40 +02:00
Shawn Hoffman
ca31c62c01 exchange XSaveWorkaround (which was fixed in VS2015) for ucrtFreadWorkaround (which was broken in VS2015). 2015-10-16 20:26:34 -07:00
flacs
d85344bd58 Merge pull request #3155 from degasus/videosw
VideoSW: Split up OGL window handling
2015-10-17 04:56:44 +02:00
flacs
05e339a605 Merge pull request #3139 from JosJuice/fix-wii-root
Mark which Wii root to use in the NAND path code
2015-10-16 16:49:34 +02:00
comex
c22d1d68ab Mark which Wii root to use in the NAND path code.
It's used by both the GUI to do things like install WADs and check up on
the system menu, in which case the global root should be used, and by
/dev/es, in which case the local one should.  The latter isn't
*terribly* useful today, since no contents will ever be installed in
temporary roots (although it's still relevant for data directories), but
converting the whole thing makes sense because then it will Just Work
once the entire NAND is synced.

Because it would have been a bit of work to split it up (but I can if
desired), this commit also contains some basic cleanup of
NANDContentLoader:

(1) The useless interface class INANDContentLoader is removed and the
    methods are changed to just return CNANDContentLoader (the only
    implementation);
(2) CNANDContentManager is changed to use unique_ptr and cleaned up a
    bit.
2015-10-16 09:10:39 +02:00
degasus
b69bff0690 VideoSW: Use OpenGL Core context 2015-10-14 00:13:54 +02:00
Tillmann Karras
ae999cb43c Wiimote: simplify DoState() parameters 2015-10-11 23:37:34 +02:00
flacs
a7b6ae8f2c Merge pull request #3160 from Tilka/style
Misc. style fixes
2015-10-11 15:36:06 +02:00
Admiral H. Curtiss
16272f4975 SaveState/DolphinWX: Display time and date of savestate when a slot is selected, or Empty if no savestate exists in the slot. 2015-10-10 22:14:22 +02:00
Tillmann Karras
0f1b287402 Misc. style fixes 2015-10-10 17:44:42 +02:00
Tillmann Karras
19a490a82d Linux: detect perf and default map dir to /tmp
This obviously only works when Dolphin is run by perf rather than being
started separately.
2015-10-10 16:42:53 +02:00
catzilla4
867a1beb9f Added some headers to allow Dolphin to compile in my environment. 2015-10-06 19:09:57 -05:00
Christian Widmer
1fc1f00162 Include cstring in Hash.cpp to fix building without PCH 2015-10-06 14:59:56 +02:00
shuffle2
0fdaacc7e0 Merge pull request #2738 from lioncash/bitfield
Common: Fix BitField mask generation.
2015-10-03 18:21:24 -07:00
shuffle2
b926061f64 Merge pull request #3095 from void-ghost/savestate_race_condition_fix
SaveState: Fix for race condition in SaveAs(...)
2015-10-03 18:08:33 -07:00
shuffle2
a6f04b0e15 Merge pull request #3091 from Tilka/mbedtls
Update mbed TLS (PolarSSL)
2015-10-03 18:00:58 -07:00
Lioncash
5464e698fc Merge pull request #3102 from rohit-n/build-pch
Fix building with PCH disabled.
2015-10-03 13:30:51 -04:00
Scott Mansell
f84577b90b LogManager: Move android logcat code into the proper place. 2015-10-04 02:18:06 +13:00
Scott Mansell
5f8a67250f Bitset: Make bool() operator explicit. 2015-10-04 01:37:32 +13:00
Scott Mansell
18142eddb4 LogManager: Remove unused define. 2015-10-04 00:38:47 +13:00
Scott Mansell
6153424b8c LogManager: replace set of LogListener pointers with bitset.
Mostly so we can iterate over which LogListeners are enabled without
having to aquire a lock.
2015-10-04 00:38:34 +13:00
Scott Mansell
83fa504cd9 Bitset: Make cast overrides const 2015-10-04 00:36:58 +13:00
Scott Mansell
58d893e56f Merge pull request #3075 from waddlesplash/no-regexp
FileSearch: Don't use RegExes, just do string comparisons.
2015-10-02 04:00:23 +13:00
Lioncash
c6678687b0 ChunkFile: Provide additional helpers for C-style arrays
Gets rid of magic numbers in cases where the array size is known at compile time.
This is also useful for future entries that are stack allocated arrays as these
functions prevent incorrect sizes being provided.
2015-09-30 19:45:46 -04:00
Tillmann Karras
2f6f30a939 Fix -Wuninitialized warnings 2015-09-29 04:27:27 +02:00
Rohit Nirmal
3b75f45cf6 Fix building with PCH disabled. 2015-09-28 11:51:08 -05:00
ghost
cd19d5392e SaveState: Fix for race condition ("wait" didn't actually waited for file to flush/close).
g_compressAndDumpStateSyncEvent was Set() before destruction of file object (i.e. before flushing changes and closing file).

Also, adds Common::ScopeGuard wrapper for RAII.
2015-09-27 21:40:32 +03:00
waddlesplash
5643fe5d1f FileSearch: Don't use RegExs, just do string comparisons.
Nothing used the RegEx feature of FileSearch, and GCC < 4.9
doesn't support C++11 RegEx properly, so get rid of it.
2015-09-27 13:25:51 -04:00
Lioncash
cc036ca86c Common: Remove other Common prefixed headers from Common.h 2015-09-26 18:51:58 -04:00
Lioncash
19ac565e0d Common: Move asserts to their own header 2015-09-26 18:51:27 -04:00
Lioncash
867df74b52 Common: Remove strdup define
It's not used anywhere.
2015-09-26 18:50:42 -04:00
Lioncash
1d42db2439 Common: Move NonCopyable to its own header 2015-09-26 18:50:35 -04:00
Lioncash
bb927ad738 Atomic_GCC: Throw out old code 2015-09-26 15:59:36 -04:00
Lioncash
d67ea484f7 Common: Get rid of compiler semantic asserts
They were never used.
2015-09-26 15:57:13 -04:00
Tillmann Karras
ac5f56df7e mbedTLS: adapt Dolphin's Visual Studio files 2015-09-25 03:46:41 +02:00
Lioncash
7890b38c15 x64Emitter: Remove unimplemented function prototype in OpArg 2015-09-22 19:54:46 -04:00
Lioncash
6e5f60bab7 x64Emitter: Make single argument constructor explicit 2015-09-22 19:51:14 -04:00
Scott Mansell
c9836ff592 EGL: Don't depend on VideoCommon or Core 2015-09-22 00:36:48 +12:00
Scott Mansell
72249b8085 GLX: Don't depend on Core or VideoCommon 2015-09-22 00:36:47 +12:00
Scott Mansell
01ed925fec AGL: Don't depend on VideoCommon 2015-09-22 00:36:46 +12:00
Scott Mansell
93f6563789 WGL: Don't depend on Core/VideoCommon 2015-09-22 00:36:45 +12:00
Scott Mansell
95f3c956a8 Move GL interface code out of the OpenGL video backend. 2015-09-22 00:36:45 +12:00
CastellaFactory
1f83a3d146 [Netplay:Traversal] Add "Force Netplay Listen Port" feature that was in old netplay branch 2015-09-20 20:15:13 +09:00
Lioncash
cfa43f64bf x64Emitter: Remove pointer cast
No more ubsan asserts in the JIT and x64 emitter code paths when running starfield.
2015-09-17 09:35:13 -04:00
Tillmann Karras
b8f3519e49 Fix -Wunused-private-field warning 2015-09-16 23:31:53 +02:00
Lioncash
2c5c99ec71 Common: Get rid of a few pointer casts 2015-09-15 12:28:59 -04:00
Lioncash
56560403bd BreakPoints: Remove unimplemented function declarations 2015-09-14 11:50:34 -04:00
Ryan Houdek
f121d7a8cd Merge pull request #3026 from lioncash/constexpr
MathUtil: Make Clamp and IsPow2 constexpr functions.
2015-09-12 02:28:38 -04:00
Lioncash
3f4852a03d MathUtil: Convert IsPow2 into a constexpr function 2015-09-12 01:26:05 -04:00
Lioncash
b9e360df7b MathUtil: Convert Clamp into a constexpr function 2015-09-12 01:18:28 -04:00
Tillmann Karras
63c9fdd074 VertexLoaderX64: fix 2GB warnings
Unlike the CPU JIT, the vertex loader JIT already emits
position-independent code, so all we need to do is disable the warning.
2015-09-12 01:24:47 +02:00
flacs
c5685ba53a Merge pull request #2972 from lioncash/align
General: Replace GC_ALIGN macros with alignas
2015-09-11 17:00:13 +00:00
Lioncash
19459e827f Partially revert "General: Toss out PRI macro usage" 2015-09-11 09:49:00 -04:00
Scott Mansell
ef4974b6a2 Remove unused log type. 2015-09-10 18:39:32 +12:00
Scott Mansell
0ed1e977cc Rearrange the logtypes into something closer to alphabetical order.
Also fix up a few of the long names.
2015-09-10 18:39:08 +12:00
Scott Mansell
de9310fe70 Split OpenGL errors into a separate logtype from Video errors.
Allows them to be enabled/disabled separately.
2015-09-10 18:38:45 +12:00
flacs
0c381d6547 Merge pull request #2975 from lioncash/emit
x64Emitter: Simplify/compress some conditionals
2015-09-08 18:44:54 +00:00
Markus Wick
81c07d4919 Merge pull request #2990 from lioncash/noncopy
Common: Alter semantics of the NonCopyable mixin
2015-09-08 11:08:58 +02:00
Ryan Houdek
2ad26ab3e9 [AArch64] Fix Test&Branch to relative location instructions.
Wasn't masking by the size of the offset encoding so negative values were killing the instruction
Missed commiting this in my integer gatherpipe PR.
Fixes crashing on AArch64.
2015-09-07 13:38:58 -05:00
Lioncash
53465e329a Common: Alter semantics of the NonCopyable mixin
Uses delete to make the unimplemented functions detectable at compile time
and not link time if they are used.

The move constructor and assignment operator are removed as moves are not
copies, but transfers of ownership, which isn't suited for this class.
2015-09-06 13:45:08 -04:00
Lioncash
f194ee6223 x64Emitter: Simplify/compress some conditionals 2015-09-06 13:28:36 -04:00
Lioncash
8ce04f9a65 General: Replace GC_ALIGN macros with alignas
Standard supported alignment -> out with compiler-specific.
2015-09-06 12:53:51 -04:00
Scott Mansell
be4caa3dc0 Merge pull request #2961 from lioncash/printf
General: Toss out PRI macro usage
2015-09-06 21:02:22 +12:00
Scott Mansell
d52d8bf935 Merge pull request #2982 from lioncash/unique
Common: Remove StdMakeUnique.h
2015-09-06 21:01:48 +12:00
Lioncash
4fc71e9708 Common: Remove StdMakeUnique.h 2015-09-06 04:09:53 -04:00
Scott Mansell
a26cac87fc Merge pull request #2959 from rohit-n/build-pch
Fix building with PCH disabled.
2015-09-06 19:59:49 +12:00
Lioncash
633be0387d General: Remove unimplemented function prototypes 2015-09-05 22:01:07 -04:00
Lioncash
8fdb013d54 General: Toss out PRI macro usage
Now that VS supports more printf specifiers, these aren't necessary
2015-09-05 16:02:35 -04:00
Rohit Nirmal
8aed7589ae Fix building with PCH disabled. 2015-09-04 10:34:45 -05:00
Lioncash
0d0dd075ef CommonFuncs: Remove define for snprintf
VS 2015 implements snprintf
2015-09-04 03:13:02 -04:00
Lioncash
a11ae2cf30 CommonFuncs: Remove SLEEP macro
There's already a function in Thread for this.
2015-09-04 02:43:38 -04:00
shuffle2
272302be82 Merge pull request #2950 from lioncash/bf
BitField: Enable ifdef'd out code for Windows
2015-09-03 22:56:55 -07:00
Lioncash
3f1b488a12 CommonFuncs: Replace ArraySize define with constexpr equivalent 2015-09-03 23:47:14 -04:00
Lioncash
102a2a975d BitField: Enable ifdef'd out code for Windows 2015-09-03 22:06:15 -04:00
Shawn Hoffman
66a3951c3b [windows] Add workaround(HACK) for vs2015 implementating a conformant std::is_trivially_copyable...
see https://github.com/dolphin-emu/dolphin/pull/2218
2015-09-03 04:39:06 -07:00
Shawn Hoffman
bea18eedc4 [windows] remove various workarounds which were required for vs2013 2015-09-03 04:39:05 -07:00
Shawn Hoffman
30702c17b6 [windows] When making scmrev.h, also look for msysgit explicitly. VS2015 packages it. 2015-09-03 04:39:04 -07:00
Shawn Hoffman
aa7208e270 [windows] Update projects to vs2015. 2015-09-03 04:23:01 -07:00
Ryan Houdek
d495ad5104 [AArch64] Make TST reg, reg emitter alias 2015-08-31 14:03:32 -05:00
Ryan Houdek
d003934b8a Merge pull request #2929 from Sonicadvance1/aarch64_optimize_gpr_flush
Aarch64 optimize gpr flush
2015-08-31 10:55:45 -05:00
Ryan Houdek
f2c17436ab [AArch64] Fix issue in emitter.
Loadstore pairs support only signed offsets, not unsigned.
2015-08-30 23:05:59 -05:00
Ryan Houdek
b907576510 [AArch64] Support profiling by cycle counters if they are available to EL0 2015-08-30 10:25:16 -05:00
Lioncash
310bb46967 Hash: Narrow define scope 2015-08-29 02:57:35 -04:00
Markus Wick
54f882704a Merge pull request #2914 from JosJuice/fix-volumedirectory
Fix VolumeDirectory
2015-08-26 22:12:23 +02:00
JosJuice
d276d1abbb Fix VolumeDirectory
Fixes the regression from a225426 and clarifies a related comment.
2015-08-26 19:21:09 +02:00
Tillmann Karras
ee4a12ffe2 Jit64: some byte-swapping changes 2015-08-26 05:41:18 +02:00
flacs
6015e2d812 Merge pull request #2900 from aroulin/x64emitter-rcp
x64Emitter: add RCPPS and RCPSS SSE instructions
2015-08-26 05:05:53 +02:00
Ryan Houdek
4fa23abbe1 [AArch64] Implement MOVI and ORR(imm) in the NEON emitter. 2015-08-23 15:34:53 -05:00
aroulin
0a0e012fab x64Emitter: add RCPPS and RCPSS SSE instructions 2015-08-23 16:59:27 +02:00
Ryan Houdek
cc3fb7e7b4 Merge pull request #2883 from degasus/master
Profiler: Sort output by total time
2015-08-22 17:52:54 -05:00
Lioncash
a69755d9ee x64Emitter: Remove pointer casts from Write{8,16,32,64} functions
This also silences quite a few ubsan asserts from firing when the emitter is being used.
2015-08-21 18:09:48 -04:00
Lioncash
caec42135d MathUtil: Remove IsNAN and IsINF
These aren't necessary, since the stdlib provides equivalents.
2015-08-21 15:05:43 -04:00
Lioncash
a59f00a5e4 x64Emitter: Remove unused code 2015-08-20 23:05:20 -04:00
Lioncash
b903921b14 x64Emitter: Make WriteModRM and WriteSIB private
These shouldn't be public.
2015-08-20 19:29:40 -04:00
degasus
17932935d9 Profiler: Sort output by total time 2015-08-20 11:50:43 +02:00
Lioncash
822cf2bcbf IniFile: Mark getter functions as const 2015-08-19 22:27:18 -04:00
flacs
b0c9d73465 Merge pull request #2842 from Tilka/bmi2_flags
x64Emitter: don't check flags for most BMI2 ops
2015-08-19 21:38:09 +02:00
degasus
9bfff0d461 JitArm64: Fix jit clearing
We have to reset m_lastCacheFlushEnd on clearing.
2015-08-15 11:41:01 +02:00
Tillmann Karras
022286fb90 x64Emitter: don't check flags for most BMI2 ops
With the exception of BZHI, BMI2 instructions don't affect flags, so
don't check if they're locked.
2015-08-14 23:39:17 +02:00
Tillmann Karras
5e9fe4cd13 x64Emitter: check for immediates in BMI ops 2015-08-14 21:25:41 +02:00
degasus
878f919f63 JitArm64: Fastmem: fixup map & lookup 2015-08-14 11:24:03 -05:00
Ryan Houdek
d5c99a5b48 Add support for a CodeBlock holding a child.
This is required to make sure two code spaces are relatively close to one another.
In this case I need the AArch64 JIT codespace and its farcode space to be within 128MB of one another for branches.
2015-08-12 12:57:06 -05:00
Lioncash
144ea9f4aa Arm64Emitter: Fix encoding of '2-reg misc' variant of FCMEQ 2015-08-10 19:48:36 -04:00
Ryan Houdek
922d476dab [AArch64] Fix FCMGE instruction encoding.
Fixes a crash when ps_sel is used (PSO 1&2 intro movies).
2015-08-09 14:54:55 -05:00
Tillmann Karras
439fb26b9b x64Emitter: add MOVSLDUP/MOVSHDUP 2015-08-06 10:39:43 +02:00
flacs
0aad44c980 Merge pull request #2753 from Tilka/fix_warnings
Fix some warnings
2015-08-04 18:54:31 +02:00
Tillmann Karras
5a05187b3b Fix some warnings
reorder, sign-compare, pessimizing-move
2015-08-04 10:58:24 +02:00
Lioncash
3a450f72f8 CPUDetect: Remove a memset call on the this pointer 2015-07-28 23:44:18 -04:00
skidau
ad68de59bc Merge pull request #2665 from AdmiralCurtiss/relative-memory-card-paths
GameCube Config: Store paths relatively when selected file is within Dolphin's directory. (Windows)
2015-07-20 14:09:36 +10:00
degasus
6f38d1baa1 CodeBlock: Add a shared IsAlmostFull function
This function shall keep care about the low watermark of code space.
If we ran out of space, the JITs shall clear their block cache.
2015-07-15 08:53:05 +02:00
degasus
b8dd68beef JitArm64: Far Code Cache 2015-07-12 09:41:32 +02:00
Yuri Kunde Schlesner
5c264281eb Common: Remove redundant masking in BitField
For the signed case, the shifts already remove the rest of the value, so ANDing by the mask is redundant.
2015-07-11 22:30:01 -04:00
Yuri Kunde Schlesner
c334a6ca65 Common: Fix mask generation in BitField 2015-07-11 22:28:09 -04:00
Admiral H. Curtiss
e9b3f1154d IniFile: Use a formatting for floats that makes them survive round-trips to a decimal string and back in all cases.
See https://randomascii.wordpress.com/2012/03/08/float-precisionfrom-zero-to-100-digits-2/
2015-07-11 21:12:06 +02:00
Admiral H. Curtiss
a48f2add68 StringUtil: Always use the default C locale for StringFromFormat() instead of a system-specific one. 2015-07-11 16:30:32 +02:00
Rohit Nirmal
c38ae5236e Fix building with PCH disabled. 2015-07-08 13:52:43 -05:00
Jeffrey Pfau
c9a25f9484 Common: CallLambdaTrampoline can return a value
As it is currently written, CallLambdaTrampoline does not return a
value. However, some of the functions that are being wrapped may
return a value that the JIT is expected to understand. A compiler
*cough cough clang* may opt to alter %rax after the wrapped lambda
returns, e.g. popping a previous value, which can clobber the
return value. If we actually have a return value, then the compiler
must not clobber it.
2015-07-04 00:57:41 -07:00
Lioncash
d09d59007a Arm64Emitter: Add a missing const specifier for an array table 2015-07-02 11:09:44 -04:00
Ryan Houdek
b174f99b17 Merge pull request #2662 from Tilka/interpreter
Interpreter: turn SNaNs into QNaNs
2015-07-01 01:09:43 -05:00
Ryan Houdek
afc3d30f5c [AArch64] Implement BFI & UBFIZ in the emitter.
Also fixes a bug in the UBFX instruction emitter. Naughty Naughty PPSSPP, not testing emitter functions you add.
2015-06-29 19:00:22 -05:00
Lioncash
daa205990f Use emplace() instead of insert() where applicable for maps. 2015-06-28 19:52:40 -04:00
Admiral H. Curtiss
df70f50fdf GetExeDirectory() shouldn't return paths with /../ in the middle. 2015-06-26 23:51:40 +02:00
Tillmann Karras
b78310bbe5 Interpreter: simplify fres 2015-06-26 09:29:18 +02:00
Jules Blok
da7ec75350 Merge pull request #2643 from comex/fix-do-file-search
Fix DoFileSearch returning the passed-in directories themselves.
2015-06-25 15:20:16 +02:00
Tillmann Karras
a725c06425 Logging: trigger _assert_() in release builds 2015-06-24 15:16:55 +02:00
Tillmann Karras
5b23182793 Common: drop GEKKO define
Afaict, it was used to build parts of Dolphin with DSPSpy, but that's
been broken forever, so lets clean up a little bit.
2015-06-24 12:13:41 +02:00
Tillmann Karras
de3c01dc2a x64FPURoundMode: fix comments 2015-06-23 02:17:36 +02:00
comex
acd6cb79a4 Fix DoFileSearch returning the passed-in directories themselves.
Fixes https://code.google.com/p/dolphin-emu/issues/detail?id=8697&can=3
2015-06-21 16:07:56 -04:00
Lioncash
fa7d93690e Hash: Remove the HashFNV prototype
It has no function definition.
2015-06-20 21:23:25 -04:00
Ryan Houdek
87b45de634 Merge pull request #2606 from Sonicadvance1/aarch64_optimize_psq_st
[AArch64] Optimize paired quantized stores.
2015-06-14 19:03:50 -05:00
Matthew Parlane
6d9711c02c Merge pull request #2599 from Sonicadvance1/aarch64_clean_cpudetect
[AArch64] Clean up our CPUDetect.
2015-06-14 15:19:03 +10:00
Jeffrey Pfau
b6d1512587 Common: Use more portable invocation of shm_open 2015-06-13 21:52:47 -07:00
Jeffrey Pfau
7085fcc8d6 Fix FreeBSD build 2015-06-13 21:52:47 -07:00
Ryan Houdek
5dc148159f [AArch64] Implement {U, S}QXTN{,2}
Also split out XTN to XTN and XTN2.
2015-06-13 23:16:17 -05:00
Matthew Parlane
f32cede086 Revert "x64: build a Position-Independent Executable (PIE)" 2015-06-14 16:06:26 +12:00
Lioncash
74b359e390 Arm64Emitter: Remove unused variable from EncodeLoadStoreRegisterOffset 2015-06-13 14:27:15 -04:00
Ryan Houdek
0af5bdcf1d [AArch64] Clean up our CPUDetect.
Drops ARMv7 feature detection.
2015-06-13 08:04:23 -05:00
Ryan Houdek
3d2b116323 [AArch64] Implement a couple instructions in the emitter.
Implements LD2R.
Implements LD1R/LD2R with post-indexing support.
Implements vector min/max instructions.
2015-06-09 18:10:56 -05:00
Tony Wasserka
6833c203a6 Make make_scmrev.h.js recognize "stable" as a stable branch. 2015-06-09 20:03:25 +02:00
Jules Blok
d5788f75a3 Merge pull request #2533 from degasus/syncgpu
Fifo: Rewrite SyncGPU
2015-06-09 09:43:26 +02:00
Fog
519d2549dd Fix File Extension Search Being Case Sensitive 2015-06-08 21:39:00 -04:00
Ryan Houdek
ffe085f5ea [AArch64] Implement CRC32 texture hashing.
In a particular hashing heavy scene in Crazy Taxi the Murmur3 hash used 3.11% CPU time.
The new CRC32 hash in the same scene used 1.86%
This was tested on a Nvidia SHIELD Android TV with Cortex-A57s.

This will be a bit slower on the Nexus 9, the Denver CPU core is a bit slower with CRC32 texture hashing than Murmur3 texture hashing.
2015-06-08 19:16:50 -05:00
degasus
d31bed8b79 Fifo: Rewrite SyncGpu
The new implementation has 3 options:
 SyncGpuMaxDistance
 SyncGpuMinDistance
 SyncGpuOverclock

The MaxDistance controlls how many CPU cycles the CPU is allowed to be in front
of the GPU. Too low values will slow down extremly, too high values are as
unsynchronized and half of the games will crash.
The -MinDistance (negative) set how many cycles the GPU is allowed to be in
front of the CPU. As we are used to emulate an infinitiv fast GPU, this may be
set to any high (negative) number.

The last parameter is to hack a faster (>1.0) or slower(<1.0) GPU. As we don't
emulate GPU timing very well (eg skip the timings of the pixel stage completely),
an overclock factor of ~0.5 is often much more accurate than 1.0
2015-06-08 23:16:24 +02:00
Ryan Houdek
3a3b782f3c [AArch64] Detect AES/SHA1/SHA2/CRC32 in CPUDetect. 2015-06-08 01:20:24 -05:00
Ryan Houdek
59e2225f7d Remove ARMv7 support. 2015-06-07 22:44:13 -05:00
Ryan Houdek
e8ae0f8c3c Merge pull request #2562 from Sonicadvance1/aarch64_optimize_gatherpipe
[AArch64] Optimize gatherpipe stores
2015-06-07 23:23:11 -04:00
Ryan Houdek
8c2e5e2860 Merge pull request #2555 from Sonicadvance1/aarch64_rebase_ppsspp_emitter
[AArch64] Upstream PPSSPP's emitter changes.
2015-06-07 23:23:04 -04:00
Ryan Houdek
c79dd40e72 Merge pull request #2529 from JosJuice/ini-skip-bom
Skip reading UTF-8 BOM at the beginning of INI files
2015-06-07 23:13:53 -04:00
Matthew Parlane
9e1aab663f Revert "SDL: handle SDL_QUIT event" 2015-06-08 13:43:39 +12:00
Ryan Houdek
8ae12d8005 [AArch64] Add ASIMD LDR/STR with register offset 2015-06-07 19:53:05 -05:00
Ryan Houdek
05b72c5d31 [AArch64] Upstream PPSSPP's emitter changes.
Requires a minor change to in the JIT to make sure everything still works.
2015-06-07 19:50:21 -05:00
Ryan Houdek
588de63f9c Merge pull request #2141 from Tilka/position_cache
zfreeze: cache vertex positions
2015-06-07 16:44:40 -04:00
flacs
cab9f7b4da Merge pull request #2548 from endrift/jit-nulls
Common: Add null checks when adding and removing breakpoints
2015-06-07 12:44:41 +02:00
Tillmann Karras
5ddd2cef6c zfreeze: cache vertex positions
Suggested by degasus.
2015-06-07 12:13:00 +02:00
Jeffrey Pfau
1214161ad9 Common: Add null checks when adding and removing breakpoints 2015-06-07 03:03:35 -07:00
flacs
d3e47dfcf5 Merge pull request #2496 from Tilka/fma4
Jit64: add FMA4 support to fmaddXX
2015-06-06 17:31:55 +02:00
flacs
726fc58b49 Merge pull request #2531 from lioncash/vs
Common: Fix a typo in the VS project file.
2015-06-06 07:18:22 +02:00
Lioncash
3239a204db Common: Fix typos in BlockingLoop.h 2015-06-05 23:37:37 -04:00
Tillmann Karras
9ec5a4544f SDL: handle SDL_QUIT event
Using SDL_INIT_JOYSTICK implies SDL_INIT_EVENTS which installs a signal
handler for SIGINT and SIGTERM. There will be a way to prevent this in
2.0.4 but for now we'll need to handle SDL_QUIT.
2015-06-05 19:34:06 +02:00
Lioncash
da9a858dcb Common: Fix a typo in the VS project file 2015-06-05 13:27:14 -04:00
JosJuice
990d61b786 Skip reading UTF-8 BOM at the beginning of INI files 2015-06-05 18:32:58 +02:00
Lioncash
fe77505d4d Jit: Make IsInCodeSpace() const 2015-06-04 20:52:53 -04:00
Lioncash
4f276ede0f Arm64Emitter: Make GetReg() const 2015-06-04 20:43:22 -04:00
Tillmann Karras
d4538c762f MemoryUtil: get executable pages near static data
and clean up a bit.
2015-06-03 21:44:31 +02:00
Tillmann Karras
a0597f0d62 Jit64: turn 32 bit addresses into offsets 2015-06-03 21:44:31 +02:00
comex
0c5aa54606 Merge pull request #2470 from degasus/syncgpu
Common: Blocking Loop (extracted from Fifo.cpp)
2015-06-02 20:19:00 -04:00
comex
35ca27f1cd Fix bug where Gecko codes would be "enabled by default"
Actually caused by IniFiles::GetLines leaving the output vector in its
old state if the section wasn't found, and Gecko::LoadCodes not checking
the return value.  Fix by moving lines->clear() up.
2015-06-02 19:04:04 -04:00
comex
a3b3f0522b Merge pull request #1556 from comex/project-moration
Rudimentary version of Wii IPC determinism.  Ported from my old udpnet branch.
2015-06-02 18:38:19 -04:00
Tillmann Karras
8db6588bb9 XEmitter: add FMA4 instructions 2015-06-02 19:19:52 +02:00
flacs
d36df5b1b4 Merge pull request #2468 from JosJuice/honor-logging-startup
Honor logging settings at startup
2015-06-01 23:56:15 +02:00
Ryan Houdek
210d7c4d54 Merge pull request #2486 from Tilka/x86_32
Jit64: drop more x86_32 left-overs
2015-05-31 13:06:19 -04:00
Tillmann Karras
eb057d49a0 x64Emitter: drop duplicate enum & unused wrappers
Keep the more explicit version of the two SSECompare enums.

And the unused CMP* wrappers wouldn't exactly make the code more
readable anyway.
2015-05-31 08:32:31 +02:00
Tillmann Karras
a6004f8274 Jit64: drop more x86_32 left-overs 2015-05-31 05:28:40 +02:00
degasus
bfa61105d5 Common: Update BlockingLoop to only use one atomic.
This merges two atomic<bool> into one atomic<int>.
We did move the bit from one bool to another, now we can use operator--.
2015-05-30 12:58:09 +02:00
degasus
02a3a063c3 Fifo: Extract syncing loop
It's now a new helper function within common.
2015-05-30 12:58:09 +02:00
Lioncash
e3a6191f02 x64Emitter: Pass some OpArg parameters by const reference
Considering OpArg is a struct, passing by value creates unnecessary copies.
2015-05-29 01:13:29 -04:00
Lioncash
810a04db58 x64Emitter: Remove 'Gen::' namespace prefix from some parameters
The emitter is already within the Gen namespace, so this isn't necessary.
2015-05-29 01:05:09 -04:00
Lioncash
84ed196c14 x64Emitter: Adjust position of reference and pointer indicators
Matches the coding style.
2015-05-29 01:04:45 -04:00
comex
45b07cbdcd Fix determinism issues with Wiimote netplay.
- Change the Wiimote emulation SYSCONF R/W to use the temporary NAND if in use.
- Fix up SysConf API so this actually works.

Kind of a hack.  Like I said, this can be cleaned up when configuration
is synced...
2015-05-28 19:19:00 -04:00
comex
dc91e8b607 Add a mode to use a dummy Wii NAND.
Eventually, netplay will be able to use the host's NAND, but this could
still be useful in some cases; for TAS it definitely makes sense to have
a way to avoid using any preexisting NAND.

In terms of implementation: remove D_WIIUSER_IDX, which was just WIIROOT
+ "/", as well as some other indices which are pointless to have as
separate variables rather than just using the actual path (fixed, since
they're actual Wii NAND paths) at the call site.  Then split off
D_SESSION_WIIROOT_IDX, which can point to the dummy NAND directory, from
D_WIIROOT_IDX, which always points to the "real" one the user
configured.
2015-05-28 19:14:42 -04:00
comex
a0a80c9a9c Fix CopyDir to not require source and dest paths to end with "/". 2015-05-28 19:14:42 -04:00
comex
a225426510 Rewrite FileSearch and improve ScanDirectoryTree.
- FileSearch is now just one function, and it converts the original glob
  into a regex on all platforms rather than relying on native Windows
  pattern matching on there and a complete hack elsewhere.  It now
  supports recursion out of the box rather than manually expanding
  into a full list of directories in multiple call sites.

  - This adds a GCC >= 4.9 dependency due to older versions having
  outright broken <regex>.  MSVC is fine with it.

- ScanDirectoryTree returns the parent entry rather than filling parts
  of it in via reference.  The count is now stored in the entry like it
  was for subdirectories.

- .glsl file search is now done with DoFileSearch.

- IOCTLV_READ_DIR now uses ScanDirectoryTree directly and sorts the
  results after replacements for better determinism.
2015-05-28 19:14:42 -04:00
JosJuice
6fb8ce58d6 Honor logging settings at startup
https://code.google.com/p/dolphin-emu/issues/detail?id=7959
2015-05-28 09:28:23 +02:00
Matthew Parlane
3135b4f3e4 Merge pull request #2461 from lioncash/barrier
Thread: Remove unused Barrier class
2015-05-27 13:21:14 +10:00
Lioncash
23c11b3f27 Thread: Remove unused Barrier class 2015-05-26 19:25:59 -04:00
degasus
ebad10f2a1 Common: Fix IsTriviallyCopyable macro for GCC 5
Based on quarthex's patch in PR #2440
2015-05-26 19:50:14 +02:00
Markus Wick
a6412fb41e Merge pull request #2162 from degasus/prefetch_tex
CustomTexture: prefetch all available textures
2015-05-26 13:30:26 +02:00
Markus Wick
5d3a248811 Merge pull request #2455 from lioncash/fifo
FifoQueue: Use atomics instead of volatile members
2015-05-26 12:26:36 +02:00
Lioncash
de5038849e FifoQueue: Use atomics instead of volatile members 2015-05-26 05:34:47 -04:00