Commit Graph

8718 Commits

Author SHA1 Message Date
degasus 38c3812a60 RegCache: merge fpr+gpr BindToRegister 2014-06-02 18:12:53 +02:00
degasus 9e9b71fa87 RegCache: merge fpr+gpr StoreFromRegister 2014-06-02 18:12:53 +02:00
degasus fd9bfddde7 RegCache64: devirtualize RegCache::Start 2014-06-02 18:12:53 +02:00
degasus 8693e0abaa RegCache64: Use std::array 2014-06-02 18:11:26 +02:00
degasus 6089812482 RegCache64: move x?locks into register structs 2014-06-02 13:02:52 +02:00
degasus c800918fd8 RegCache64: remove unused functions 2014-06-02 09:53:44 +02:00
Henrik Rydgård edf9af0047 Merge pull request #449 from Sonicadvance1/remove-ppcstate-mojs
Remove unused mojs array from ppcState.
2014-06-02 09:42:53 +02:00
Tillmann Karras 2cf27e4de8 Jit64: revert fmrx revert
The AVX revert was not supposed to touch fmrx.

Partially reverts 2fad2a3e88.
2014-06-02 08:53:02 +02:00
Ryan Houdek e0a60a40a5 Remove unused mojs array from ppcState.
This was some unused array just sitting in our global ppcState struct.
I've got no idea what its use was /supposed/ to be used for if ever implemented.
2014-06-02 01:39:07 -05:00
Lioncash 776e36b10a Fix a typo in a BP register name (BPMEM_TX_SETLUT_4 -> BPMEM_TX_SETTLUT_4).
Also fixed the alignment of the register values.
2014-06-02 02:26:30 -04:00
degasus 4545fa589d Jit64: remove unused FlushMode enum 2014-06-02 08:24:25 +02:00
Lioncash 12db989098 Add missing registers in GetBPRegInfo 2014-06-02 02:19:53 -04:00
Ryan Houdek 5d3382fb56 Fix a crash in ARM's CPUDetect on a malformed /proc/cpuinfo.
If a CPU string was incapable of being found we would return a null pointer, which would crash with strncpy.
Also if we couldn't get a CPU implementer we would call free() to a null pointer.
In addition, detect 64bit ARM running.
2014-06-01 23:55:38 -05:00
Ryan Houdek 87e671404a Make MemoryUtil.cpp use the correct x86_64 define.
MemoryUtil.cpp was incorrectly using the old __x86_64__ define when it should be using _M_X86_64.
It was also using _ARCH_64 when it shouldn't have which was causing an errant PanicAlert to come up in my development.
2014-06-01 23:45:44 -05:00
magumagu 0aecd9504e Video backends: remove dead code. 2014-06-01 01:56:09 -07:00
magumagu 87a804fdfc Revert "DSound: use DSound notifications to produce sound."
This reverts commit 4990b8910b.

The commit is causing substantial performance issues for the DSound
backend which I somehow didn't catch during testing.
2014-05-31 13:35:46 -07:00
shuffle2 d0201335c6 Merge pull request #300 from Sonicadvance1/Fix-AndroidInput
[Android] Fixes a bunch of input bugs.
2014-05-30 15:32:08 -07:00
Lioncash 7babc635cb Compress a for loop in NetPlayServer.
Also gets rid of a redundant return from a void function.
2014-05-29 22:14:50 -04:00
Lioncash 49b0eef393 Remove the min/max functions in CommonFuncs.
The algorithm header has the same functions.
2014-05-29 21:44:41 -04:00
Lioncash a3ae20fc15 Remove the use of a delete[] in NetPlayServer.
We just use a vector instead of a raw pointer.
2014-05-29 20:39:09 -04:00
Pierre Bourdon 3097345929 Merge pull request #411 from lioncash/fifo-cleanup
Make GetBPRegInfo just take two strings as parameters
2014-05-30 01:51:11 +02:00
Lioncash c96407bd2a Make GetBPRegInfo just take two strings as parameters
Gets rid of the size parameters.
2014-05-29 19:44:14 -04:00
shuffle2 7c09f07f36 Merge pull request #399 from magumagu/bsemu-bat
BS2 emulation: set up a reasonable BAT during startup.
2014-05-29 15:36:28 -07:00
shuffle2 e9975cdd63 Merge pull request #419 from magumagu/jit-load-store-cleanup
Jit load store cleanup
2014-05-29 15:25:00 -07:00
shuffle2 fd6fd8fcf1 Merge pull request #433 from lioncash/ini
Get rid of the temporary buffer in IniFile's Load function.
2014-05-29 14:53:16 -07:00
shuffle2 3b23f4bbd6 Merge pull request #420 from magumagu/backpatch-s8
JIT: make backpatch handle sign-extend from 8 bits correctly.
2014-05-29 14:09:59 -07:00
shuffle2 329fcad04f Merge pull request #421 from CarlKenner/MissingSpace
Fix error message when D3D11 HResults fail.
2014-05-29 14:06:18 -07:00
shuffle2 d18bc31e74 Merge pull request #429 from RachelBryk/netplay-pid
Make sure netplay player IDs are actually unique.
2014-05-29 14:02:24 -07:00
shuffle2 fee69236d5 Merge pull request #403 from RachelBryk/netplay-player-selection
When updating netplay player list, reselect by string instead of index.
2014-05-29 13:52:44 -07:00
Lioncash eca70d1562 Get rid of the temporary buffer in IniFile's Load function.
std::getline is the string-based equivalent.
2014-05-28 20:26:15 -04:00
Rachel Bryk 80ab567a5b When reading an ini file, if there is an error, check if it is simply because the eof was reached. 2014-05-28 14:06:18 -04:00
Pierre Bourdon 10efd5b8c0 Merge pull request #430 from shuffle2/xsave-workaround-fix
msvc C initializers return int...fix EnableXSaveWorkaround when rax doesn't implicitly equal zero.
2014-05-28 12:25:25 +02:00
Pierre Bourdon 2a14c55279 Merge pull request #409 from lioncash/lolmemset
Explicitly center the X and Y joystick values.
2014-05-28 12:19:48 +02:00
Rachel Bryk 8c70ee7194 Make sure netplay player IDs are actually unique.
Fixes issue 7329.
2014-05-28 06:04:08 -04:00
Pierre Bourdon 0602dacfde Merge pull request #423 from lioncash/dsp-clarification
Clarify what FindBrackets does in the DSP assembler
2014-05-28 12:01:05 +02:00
Pierre Bourdon 3c722b6be7 Merge pull request #417 from magumagu/jit-unused-flags
Jit: Remove unused members from JitState.
2014-05-28 12:00:46 +02:00
Pierre Bourdon 5abd518eb9 Merge pull request #427 from magumagu/interpreter-hle
Interpreter: correctly support HLE functions.
2014-05-28 11:59:02 +02:00
Pierre Bourdon 21cf8fe32e Merge pull request #393 from RachelBryk/netplay-chat-limit
Limit netplay chat messages to 2000 characters.
2014-05-28 11:57:49 +02:00
Pierre Bourdon ce139622f6 Merge pull request #392 from RachelBryk/error-check-ini-file
Check for errors when reading lines from ini files.
2014-05-28 11:57:00 +02:00
Shawn Hoffman 47a2eb47a0 msvc C initializers return int...fix EnableXSaveWorkaround when rax doesn't implicitly equal zero. 2014-05-28 00:16:33 -07:00
Shawn Hoffman 58bcc3d12a Redo commit 932945d480
This time, make sure the object for disabling XSave support in msvcr can't be dropped by the linker.
2014-05-27 13:41:19 -07:00
Rachel Bryk b1029223c6 When updating netplay player list, reselect by string instead of index.
Fixes issue 7284.
2014-05-27 10:43:41 -04:00
lioncash 4cb111e5db Clarify what FindBrackets does in the DSP assembler 2014-05-26 17:04:58 -04:00
Pierre Bourdon f5e1dee230 Merge pull request #413 from delroth/flags-opt
PowerPC: Get rid of the 'cr' field which was obsoleted by the new 'cr_fast'
2014-05-26 22:37:01 +02:00
shuffle2 4758b362c3 Merge pull request #415 from magumagu/memory-cleanup
Memory code cleanup
2014-05-26 13:35:54 -07:00
CarlKenner 361d53fdc7 Fix error message when D3D11 HResults fail.
Prevents showing the wrong function name by putting a space between the function name and "Failed".
Also fixes the capitalization.
2014-05-27 00:45:26 +09:30
magumagu 2599cd545e JIT: make backpatch handle sign-extend from 8 bits correctly.
I don't think this is actually possible to trigger at the moment... but
it matches the implementation of SafeLoadToReg.
2014-05-26 01:45:07 -07:00
magumagu e5ebf22161 JIT: unify two branches in SafeLoadToReg.
Should behave the same as it did before.
2014-05-25 21:14:06 -07:00
magumagu 68a327c246 JIT: Simplify redundant if statements for memcheck. 2014-05-25 21:13:39 -07:00
magumagu e239e82ea3 Jit: Remove unused members from JitState. 2014-05-25 18:19:47 -07:00
Lioncash 1583ce9363 Use strings instead of arbitrary buffers for video statistics 2014-05-25 21:11:29 -04:00
magumagu ec9dd80b7f Memmap: get rid of unused junk.
This should make it a bit more clear what interfaces we're actually
exposing for memory access at the moment.
2014-05-25 18:07:09 -07:00
magumagu 44f481ec13 PPCCache: Get rid of FAST_ICACHE define.
There's no reason to keep around the ifdefs.
2014-05-25 18:06:52 -07:00
magumagu 98dd99a696 Interpreter: correctly support HLE functions.
m_EndBlock is always false at the beginning of SingleStepInner in the
normal interpreter loop.
2014-05-25 15:39:46 -07:00
Pierre Bourdon 3a76c0c8f5 PowerPC: Get rid of the 'cr' field which was obsoleted by the new 'cr_fast' 2014-05-25 22:59:51 +02:00
Pierre Bourdon 010ca048df Merge pull request #408 from lioncash/bool
Use a bool instead of an int to represent the initialized state in IOWin.cpp
2014-05-25 02:25:56 +02:00
Lioncash 9e7c5c0e58 Explicitly center the X and Y joystick values.
More self-explanatory at a glance than a memset.
2014-05-24 20:10:41 -04:00
Lioncash 728078bc09 Use a bool instead of an int to represent the initialized state in IOWin.cpp 2014-05-24 19:43:11 -04:00
Lioncash dd35a968f8 Fix a struct overflow case in WII_IPC_HLE_Device_hid.cpp
WiiHIDDeviceDescriptor is 20 bytes in size (2 of which are padding bytes)
libusb_device_descriptor on the other hand is 18 bytes (does not have the
2 padding bytes).

So we were pulling 20 bytes out of an 18 byte struct, which isn't really
correct.
2014-05-24 18:36:28 -04:00
magumagu 282e9bd292 JitCache: use a custom bit-set class.
Unfortunately, this appears to be necessary for the sake of performance;
the standard library equivalents don't work well enough on Visual Studio
2013. vector<bool>::insert() is way too slow in debug
builds to be usable, and std::bitset generates inefficient code in release
builds.
2014-05-24 14:17:53 -07:00
magumagu 6bb08de8a0 JIT: get rid of useless code in JitCache.cpp. 2014-05-24 11:04:24 -07:00
magumagu 336b55bbc4 BS2 emulation: set up a reasonable BAT during startup.
It doesn't really matter much at the moment given our current terrible MMU
emulation, but it will start mattering once our MMU emulation gets more
accurate.
2014-05-24 03:46:12 -07:00
magumagu 440246a190 Interpreter: use numeric_limits instead of FLT_MAX.
Minor cleanup, and fixes compilation on some systems.
2014-05-24 10:58:15 +02:00
Tony Wasserka cffa848b99 Merge pull request #390 from magumagu/fp-reciprocal
Add accurate implementations of frsqrte and fres
2014-05-24 10:45:01 +02:00
shuffle2 ca3002977b Merge pull request #256 from magumagu/dsound-notify
DSound: use DSound notifications to produce sound.
2014-05-23 17:02:55 -07:00
magumagu 6955fef161 Interpreter: Code style fixes. 2014-05-23 15:06:09 -07:00
magumagu d0ed3b8192 Jit: Use infinity and NaN from numeric_limits.
MSVC's implementation of INFINITY is unusable.
2014-05-23 14:59:03 -07:00
magumagu a9a2d3d98d New frsqrte implementation; verified accurate.
This is similar to the old implementation, but it uses smaller tables, and
handles more edge cases correctly.  (hwtest coming soon.)
2014-05-23 14:59:02 -07:00
magumagu 129e76e60d Interpreter: refactor the rsqrte code, and use it for ps_rsqrte. 2014-05-23 14:59:00 -07:00
magumagu 567724b2f8 Jit: get rid of incorrect implementations of fres and frsqrte.
The existing implementations produce answers which aren't consistent with
the hardware, and games care about correct floating point math.

These can be reimplemented at some point in the future, if someone cares
enough, but the general case is probably too much code to inline.

(I'm leaving the ARM implementations in place by request, even though they
suffer the same issues.)
2014-05-23 14:57:34 -07:00
Yuriy O'Donnell ac75766c25 removed trailing whitespace 2014-05-23 21:14:48 +02:00
Yuriy O'Donnell d08abfc14e JIT: JitBaseBlockCache::InvalidateICache no longer memsets iCache memory to INVALID_BYTE.
This is redundant, since we reset the valid_block bits any way.
However, this was a source of a significant performance issues in some games.
In particular, Metal Gear Solid: Twin Snakes.
2014-05-23 20:40:45 +02:00
Yuriy O'Donnell de1e2127dc JIT: JitBaseBlockCache::valid_block is now std::vector<bool>
This was previously a std::bitset, which resulted in generation of suboptimal code by VS2013 compiler.
See https://gist.github.com/kayru/753db9607d680e26194b
2014-05-23 20:32:25 +02:00
Rachel Bryk e6684d17c1 Fix a couple race conditions.
Checks if another game is already starting to boot before starting to boot a new one, and only change video backend, and dual core if a game is actually not running.
2014-05-23 10:22:00 -04:00
Rachel Bryk 61d3360033 Limit netplay chat messages to 2000 characters.
There's not really a good reason to be sending messages longer than that, and very long messages can hang dolphin for quite a long time.
2014-05-23 08:11:49 -04:00
Rachel Bryk cd299f0703 Flash netplay window when someone joins if the window doesn't have focus. 2014-05-23 07:30:08 -04:00
Rachel Bryk 0782d106db Check for errors when reading lines from ini files.
Fixes issue 7283.
2014-05-23 03:17:19 -04:00
magumagu 2f8a147eda Interpreter: make fres match hardware.
New table-based implementation written based on actual hardware behavior.
(hwtest coming soon).
2014-05-22 19:48:48 -07:00
magumagu ad4ad7c1ed Use accurate frsqrte in Interpreter.
The implementation of frsqrte exposed by this change isn't completely
correct; that will be fixed in a later commit.
2014-05-22 19:46:27 -07:00
shuffle2 b58753bd69 Merge pull request #370 from Sonicadvance1/remove_specialized_memcmp
Removes ZeroFrog's "optimized" memcpy and memcmp functions.
2014-05-22 13:02:11 -07:00
shuffle2 fc41a53b46 Merge pull request #309 from magumagu/jit-unify-asm
JIT: unify JitAsm for JIT64 and JIT64IL.
2014-05-21 23:10:08 -07:00
shuffle2 c308657779 Merge pull request #376 from lioncash/wx
Wx cleanup
2014-05-21 21:54:00 -07:00
shuffle2 c4e60d5353 Merge pull request #356 from Sonicadvance1/Fix-MMUAnalyst
Fixes games that use the MMU to page in code(Rogue Leader).
2014-05-21 20:59:25 -07:00
shuffle2 6544d53c16 Merge pull request #361 from LPFaint99/wiisave
Export wii saves to the "User" directory
2014-05-21 20:17:18 -07:00
shuffle2 9ce269c7dc Merge pull request #382 from magumagu/faster-fast-disc-speed
DVDInterface: make fast disc speed faster.
2014-05-21 20:12:38 -07:00
shuffle2 4fb10a11b9 Merge pull request #379 from jordan-woyak/gamelist-size-fix
Fix game list size display.
2014-05-21 19:52:10 -07:00
shuffle2 dd413269e3 Merge pull request #343 from jordan-woyak/disable-sdl-windows
Disable SDL input on Windows.
2014-05-21 19:47:44 -07:00
Jasper St. Pierre 9d161b4170 BPStructs: Consistently put the two shared copy args first
And rename them so they make a bit more sense.
2014-05-20 11:28:15 -04:00
Jasper St. Pierre 1ae8edc1d0 BPStructs: Remove another function wrapper 2014-05-20 11:28:15 -04:00
Jasper St. Pierre b1d3c5937a BPStructs: Move LoadBPReg here 2014-05-20 11:28:14 -04:00
Jasper St. Pierre 763ad77a1c BPStructs: Flatten out BPWritten 2014-05-20 11:28:14 -04:00
Jasper St. Pierre 07ab77d31c BPStructs: Reindent BPWritten 2014-05-20 11:28:08 -04:00
Jasper St. Pierre c33a1b4b28 BPStructs: Document BPMEM_BP_MASK better 2014-05-20 11:26:31 -04:00
Jasper St. Pierre 2f122ea63c BPMemory: Fix "DISPLAYCOPYFILER" typo 2014-05-20 11:15:10 -04:00
Jasper St. Pierre 4e8e51b278 BPStructs: Remove calls to SetInterlacedMode when reloading state
SetInterlacedMode is a dummy no-op that does nothing.
2014-05-20 11:15:10 -04:00
Jasper St. Pierre 833b7ee584 BPFunctions: Remove the rest of GetConfig 2014-05-20 11:15:09 -04:00
Jasper St. Pierre 08611c3f36 PixelShaderManager: Fizzle out fog changes when disabled here
This lets us remove a use of GetConfig.
2014-05-20 11:15:09 -04:00
Jasper St. Pierre fe645b888b BPFunctions: Remove use of a dumb method
GetPointer serves no purpose.
2014-05-20 11:15:08 -04:00
Jasper St. Pierre 56228cea5d BPFunctions: Remove an unused method 2014-05-20 11:15:08 -04:00
Jasper St. Pierre 4f4e3fad85 BPMemory: Clean up and rename some variables and comments
This is about the register number, not the opcode.
2014-05-20 11:15:08 -04:00