Commit Graph

8757 Commits

Author SHA1 Message Date
Ryan Houdek
b4ec70f0ac Add conditional register cache flushing to JIT64's twx instruction. 2014-06-10 02:46:10 -05:00
Ryan Houdek
06e8c7d7c9 Add conditional register cache flushing to JIT64's bcx instruction. 2014-06-10 02:45:04 -05:00
Ryan Houdek
b99edd6202 Add conditional register cache flushing to JIT64's bcctrx conditional route. 2014-06-10 02:44:16 -05:00
Ryan Houdek
5e1a465d50 Change register cache to using an enum to determine flush mode.
This is easier to identify what the flush is doing rather than a "true" as argument.
2014-06-10 02:42:00 -05:00
Ryan Houdek
2989ccff79 Support conditional register cache flushing on ARMv7.
Similar to PR #451, but for ARM as well.
2014-06-09 06:08:13 -05:00
Rachel Bryk
c38e8e25dd Remove unused video config variable. 2014-06-09 00:02:38 -04:00
Ryan Houdek
4cfeeee5e9 Merge pull request #472 from Sonicadvance1/ARM-is-not-generic
Make it so ARMv7 isn't a generic target.
2014-06-08 09:30:57 -05:00
Tony Wasserka
489534bc7c Merge pull request #248 from RachelBryk/dsp-rom-hash
Add DSP rom hashes to movie header.
2014-06-08 11:27:55 +02:00
Paul Olszewski
5d793881b0 Fix the capitalization of "GameCube" throughout the project. 2014-06-08 11:24:49 +09:00
Ryan Houdek
6e1d312091 Make it so ARMv7 isn't a generic target.
Rearranges a bit of code so that ARM isn't a generic build anymore. Because it obviously isn't
2014-06-07 20:26:31 -05:00
Pierre Bourdon
b79482af44 Merge pull request #459 from lioncash/prototype-typo
Fix a typo in a function prototype in PowerPCDisasm.h
2014-06-08 03:17:06 +02:00
Ryan Houdek
103d9008d6 Merge pull request #391 from RachelBryk/netplay-flash-on-join
Flash netplay window when someone joins if the window doesn't have focus...
2014-06-07 06:33:54 -05:00
Ryan Houdek
b778b43992 Merge pull request #404 from magumagu/jitcache-cleanup
JitCache cleanup
2014-06-07 01:49:07 -05:00
Ryan Houdek
7d12a31cc2 Merge pull request #395 from RachelBryk/race
Fix a couple race conditions.
2014-06-07 01:10:51 -05:00
Ryan Houdek
b591184e4b Merge pull request #437 from lioncash/netplay
Minor netplay server cleanup
2014-06-07 01:08:52 -05:00
Ryan Houdek
d2e4c2fc50 Fix OpenGL ES version detection.
Mesa report GLES version as "3.0" not "3.00"
Spec mandates X.Y versioning scheme, doesn't say how long the decimal place must be.
2014-06-06 21:21:35 -05:00
Ryan Houdek
b6db0d0ab8 Merge pull request #457 from Tilka/jcc
x64Emitter: J_CC: use 32 bit offset automatically
2014-06-06 20:53:50 -05:00
Ryan Houdek
c118632cde Merge pull request #450 from Tilka/fmrx
Jit64: revert fmrx revert
2014-06-06 20:53:21 -05:00
Rachel Bryk
525965a873 Remove unused EXI update functions. 2014-06-06 20:30:36 -04:00
Ryan Houdek
db08f7bf4a Merge pull request #371 from quarnster/patch-1
PPCAnalyst now detects internal branches better
2014-06-06 02:45:24 -05:00
Pierre Bourdon
7ffea5ddc9 Merge pull request #464 from lioncash/log-str
Use std::string in LogContainer's constructor.
2014-06-06 00:59:22 +02:00
Pierre Bourdon
834bc85e1f Merge pull request #458 from Tilka/warnings
Fix some warnings
2014-06-06 00:58:37 +02:00
Lioncash
3843848ed4 Use std::string in LogContainer's constructor.
This allows for removal of the strcpy calls, also it's technically way more safe, though I doubt we'll ever have a log name larger than 128 characters or a short description larger than 32 characters.

Also moved these assignments into the constructor's initializer list.
2014-06-05 18:50:14 -04:00
Pierre Bourdon
b780ef950c Merge pull request #435 from YourGamesBeOver/master
Options for selecting which columns are visible in the game list.
2014-06-06 00:46:26 +02:00
yourgamesbeover
91840cb4c7 added option for selecting which column are displayed in the game list, added optional game id column, and added config entry to disable making compressed games blue 2014-06-05 15:34:20 -04:00
degasus
9566dcf0da OGL: speed up the EFB cache
gcc doesn't optimize this loops with -O2, so using memset now.
A flag to skip the clear funktion was added as the cache is already cleared most of the time.
2014-06-05 14:53:09 +02:00
degasus
d9eafd94a2 OGL-StreamBuffer: replace size_t with u32
Yes, this matters.
We align our buffer all the the time which needs a division. u64 divisions are just so slow.
2014-06-05 13:33:50 +02:00
degasus
606e46ba8d OGL-StreamBuffer: move alignment to caller
Only the caller know if alignment is needed at all, so it can be skipped now.
2014-06-05 13:32:13 +02:00
degasus
02a4e3d70f OGL-StreamBuffer: make the SLOT calculation much easier
The size of the buffer is now power of 2, so we can use a shift instead of a division.
This was at about 2% of the global CPU usage.
2014-06-05 13:32:13 +02:00
degasus
d81d2e8915 OGL-StreamBuffer: allocate fences in StreamBuffer directly 2014-06-05 13:32:13 +02:00
Tony Wasserka
e2cfb7f0fa Merge pull request #448 from lioncash/fifo-cleanup
Expand GetBPRegInfo to include the rest of the BP registers.
2014-06-05 13:21:05 +02:00
degasus
0688cfdaef OGL-StreamBuffer: don't use coherent mapping
Coherent mapping seems to be much slower on fermi gpus.
2014-06-05 12:18:44 +02:00
lioncash
efdcfe404f Fix a typo in a function prototype in PowerPCDisasm.h
Should be GetGPRName not GetGRPName.

Removed an unnecessary extern declaration of GetGRPName in RegisterWindow.cpp.

Also added GetFPRName to the PowerPCDisasm header for consistency.
2014-06-04 12:12:28 -04:00
Tillmann Karras
0eb341e542 Fix some warnings.
The 'offset' variable needs to stay because the disabled code below uses it.
2014-06-04 01:04:52 +02:00
Tillmann Karras
f8280401f6 x64Emitter: J_CC: use 32 bit offset automatically 2014-06-03 23:08:58 +02:00
Ryan Houdek
3a06907653 Merge pull request #455 from lioncash/arm-cpudetect-fix
Stringify ArmCPUDetect.cpp.
2014-06-02 20:10:39 -05:00
Lioncash
7d7b3d6156 Stringify ArmCPUDetect.cpp. 2014-06-02 21:08:26 -04:00
degasus
541bfd071e Jit64: Don't flush the regcache on bcx 2014-06-02 18:12:54 +02:00
degasus
0cd9eea99e RegCache: make state clear optional on flushes 2014-06-02 18:12:53 +02:00
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