2030 Commits

Author SHA1 Message Date
bfdbace69b Merge pull request #3025 from Tilka/fixfix
VertexLoaderX64: fix 2GB warnings
2015-09-23 21:09:02 +02:00
cc8380ee65 Merge pull request #2914 from JosJuice/fix-volumedirectory
Fix VolumeDirectory
2015-09-01 22:19:14 +02:00
a6437f629c Common: Use more portable invocation of shm_open 2015-07-11 23:09:11 -07:00
2eb553fdb7 Fix FreeBSD build 2015-07-11 23:09:11 -07:00
0b0f70aad4 Revert "Merge pull request #2358 from Tilka/pie"
This reverts commit 0f7f8f8774, reversing
changes made to 9f15054358.
2015-07-06 09:05:25 +12:00
bd196e8c71 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-05 00:32:26 +12:00
384a1b4e3b Fix DoFileSearch returning the passed-in directories themselves.
Fixes https://code.google.com/p/dolphin-emu/issues/detail?id=8697&can=3
2015-06-25 15:17:52 +02:00
6833c203a6 Make make_scmrev.h.js recognize "stable" as a stable branch. 2015-06-09 20:03:25 +02:00
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
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
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
3a3b782f3c [AArch64] Detect AES/SHA1/SHA2/CRC32 in CPUDetect. 2015-06-08 01:20:24 -05:00
59e2225f7d Remove ARMv7 support. 2015-06-07 22:44:13 -05:00
e8ae0f8c3c Merge pull request #2562 from Sonicadvance1/aarch64_optimize_gatherpipe
[AArch64] Optimize gatherpipe stores
2015-06-07 23:23:11 -04:00
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
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
9e1aab663f Revert "SDL: handle SDL_QUIT event" 2015-06-08 13:43:39 +12:00
8ae12d8005 [AArch64] Add ASIMD LDR/STR with register offset 2015-06-07 19:53:05 -05:00
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
588de63f9c Merge pull request #2141 from Tilka/position_cache
zfreeze: cache vertex positions
2015-06-07 16:44:40 -04:00
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
5ddd2cef6c zfreeze: cache vertex positions
Suggested by degasus.
2015-06-07 12:13:00 +02:00
1214161ad9 Common: Add null checks when adding and removing breakpoints 2015-06-07 03:03:35 -07:00
d3e47dfcf5 Merge pull request #2496 from Tilka/fma4
Jit64: add FMA4 support to fmaddXX
2015-06-06 17:31:55 +02:00
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
3239a204db Common: Fix typos in BlockingLoop.h 2015-06-05 23:37:37 -04:00
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
da9a858dcb Common: Fix a typo in the VS project file 2015-06-05 13:27:14 -04:00
990d61b786 Skip reading UTF-8 BOM at the beginning of INI files 2015-06-05 18:32:58 +02:00
fe77505d4d Jit: Make IsInCodeSpace() const 2015-06-04 20:52:53 -04:00
4f276ede0f Arm64Emitter: Make GetReg() const 2015-06-04 20:43:22 -04:00
d4538c762f MemoryUtil: get executable pages near static data
and clean up a bit.
2015-06-03 21:44:31 +02:00
a0597f0d62 Jit64: turn 32 bit addresses into offsets 2015-06-03 21:44:31 +02:00
0c5aa54606 Merge pull request #2470 from degasus/syncgpu
Common: Blocking Loop (extracted from Fifo.cpp)
2015-06-02 20:19:00 -04:00
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
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
8db6588bb9 XEmitter: add FMA4 instructions 2015-06-02 19:19:52 +02:00
d36df5b1b4 Merge pull request #2468 from JosJuice/honor-logging-startup
Honor logging settings at startup
2015-06-01 23:56:15 +02:00
210d7c4d54 Merge pull request #2486 from Tilka/x86_32
Jit64: drop more x86_32 left-overs
2015-05-31 13:06:19 -04:00
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
a6004f8274 Jit64: drop more x86_32 left-overs 2015-05-31 05:28:40 +02:00
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
02a3a063c3 Fifo: Extract syncing loop
It's now a new helper function within common.
2015-05-30 12:58:09 +02:00
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
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
84ed196c14 x64Emitter: Adjust position of reference and pointer indicators
Matches the coding style.
2015-05-29 01:04:45 -04:00
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
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
a0a80c9a9c Fix CopyDir to not require source and dest paths to end with "/". 2015-05-28 19:14:42 -04:00