Commit Graph

17417 Commits

Author SHA1 Message Date
Lioncash
0b8372e566 Jit_Util: Make some OpArg parameters const references 2015-05-29 01:13:45 -04: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
Lioncash
68d6f07b5c Merge pull request #2476 from lioncash/string
Pass strings by const reference where possible
2015-05-28 21:26:06 -04:00
Lioncash
ac26f8e79f Pass strings by const reference where possible 2015-05-28 20:54:55 -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
0d257b9e88 Don't randomly generate a serial number in deterministic mode. 2015-05-28 19:14:43 -04:00
comex
138d72313e Add a quick check to ScheduleEvent_Threadsafe to ensure it doesn't happen in deterministic mode. 2015-05-28 19:14:43 -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
f6c6822f71 The old g_want_determinism check in WiiSockMan missed a few cases. Move to net.cpp.
Specifically, things like GETHOSTBYNAME, GETHOSTID, etc. could be done
without creating a socket, which is what the old check blocked.  Now we
check at the ioctl and ioctlv handlers.  Might be possible to get a bit
more realistic behavior in future by filtering individual ioctls, but it
probably doesn't matter.
2015-05-28 19:14:42 -04:00
comex
3173d4dcbf Disable /dev/usb/hid too. 2015-05-28 19:14:42 -04:00
comex
aae104ccb4 Disable some stuff in IPC_HLE when determinism is required.
This includes net, which is nonsensical to "sync" in netplay/replays
(could have the host do the Wii networking in future though...), and USB
keyboard, which just needs some love to do the same.
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
degasus
9a96e3c416 AudioCommon: Remove lock on Pause state
We had to lock audiocommon with the old asynchron HLE audio emulation,
now our Mixer is just a plain FIFO which may underrun.
Of course, this will stutter, but underruning the audio backend is likely worse.
2015-05-28 19:58:18 +02:00
flacs
6ff3fcee59 Merge pull request #2469 from Tilka/ogl
OGL: use GL_TEXTURE* constants
2015-05-28 10:17:57 +02: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
Fog
c767813c0c Fix adding additional Disc 2 to certain multi-disc games 2015-05-27 11:08:57 -04:00
Tillmann Karras
285ac34bf3 OGL: use GL_TEXTURE* constants 2015-05-27 15:05:49 +02:00
Lioncash
a26cf63783 Merge pull request #2466 from JosJuice/fix-gamelist-encoding
Fix game list name encoding error caused by 4.0-6419 (d7900b4)
2015-05-27 06:31:31 -04:00
JosJuice
f1580a4c91 Fix game list name encoding error caused by 4.0-6419 (d7900b4)
The UTF-8 std::strings were being interpreted as the default encoding.
2015-05-27 12:28:23 +02:00
Markus Wick
255a8dfdd2 Merge pull request #2465 from lioncash/commandproc
CommandProcessor: Replace volatile usages with atomics
2015-05-27 11:07:36 +02:00
Lioncash
1ba3b4e7ac CommandProcessor: Replace volatile usages with atomics
Also remove said variables from being globals.
2015-05-27 03:53:29 -04:00
Markus Wick
3318120632 Merge pull request #2422 from lioncash/core
DSPCore: Make the mailbox registers atomic.
2015-05-27 09:14:41 +02:00
Markus Wick
1c2d4e5d42 Merge pull request #2464 from lioncash/pixelengine
PixelEngine: Replace volatile usages with atomics
2015-05-27 08:43:35 +02:00
Lioncash
ec03196267 PixelEngine: Replace volatile usages with atomics
Also removes two unused volatile variables.
2015-05-27 02:39:55 -04:00
Markus Wick
a6b327751a Merge pull request #2463 from lioncash/fifo
Fifo: Replace usages of volatile with atomics
2015-05-27 08:03:39 +02:00
Lioncash
5db7d4d1d5 DSPCore: Make the mailbox registers atomic. 2015-05-27 00:58:52 -04:00
Lioncash
4cb55cc427 Fifo: Replace usages of volatile with atomics 2015-05-27 00:42:56 -04:00
Matthew Parlane
787b861121 Merge pull request #2462 from rohit-n/build-pch
Fix building with PCH disabled.
2015-05-27 14:30:22 +10:00
Rohit Nirmal
c59bfd2b7f Fix building with PCH disabled. 2015-05-26 22:44:51 -05: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
Markus Wick
85e706b4ec Merge pull request #2459 from degasus/master
Common: Fix IsTriviallyCopyable macro for GCC 5
2015-05-26 20:13:14 +02:00
Fiora
49ecb01c7e Merge pull request #2458 from Tilka/ps_sum
Jit64: fix ps_sum
2015-05-26 10:58:27 -07: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
Tillmann Karras
6ea49da5b9 Jit64: fix ps_sum
It's /always/ the register cache.
2015-05-26 19:00:42 +02:00
skidau
8944e07f84 Merge pull request #2457 from degasus/master
DolphinWX: Drop dead hotkey button.
2015-05-26 23:53:46 +10:00
degasus
b64301d65c DolphinWX: Drop dead hotkey button. 2015-05-26 15:50:15 +02:00
Jules Blok
0b61a0dfc5 Merge pull request #2448 from Armada651/depth-inversion
D3D: Depth range inversion.
2015-05-26 15:39:50 +02:00
Markus Wick
d7900b4423 Merge pull request #2006 from RisingFog/disc2
Append Disc 2 to Titles for Multi-Disc Games
2015-05-26 15:39:42 +02:00
Jules Blok
ca7801da44 D3D: Invert initial depth buffer clear. 2015-05-26 15:31:36 +02:00
galop1n
2975e53091 D3D: Depth range inversion.
Credits go to Galop1n for designing this technique and to BhaaLseN for cleaning up the commit.
2015-05-26 15:31:31 +02:00
Markus Wick
308b72d376 Merge pull request #2426 from Linktothepast/master
Gameini updates
2015-05-26 13:50:39 +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
Ryan Houdek
b038b61a29 [ARMv7] Extend the life of the JIT Recompiler.
Until loadstores are fully investigated, let's artificially extend the life of it by disabling all of them.
These instructions break in a very terrible way and eventually all loadstores end up attempting to access memory region (u32)-1.
Disable until someone has enough time to investigate further.
2015-05-25 23:36:28 -05:00
Ryan Houdek
a4a8162fb5 Merge pull request #2188 from JosJuice/dol-cleanup
DOL loader cleanup with std::vector and safety checks
2015-05-25 23:51:40 -04:00