Commit Graph

14531 Commits

Author SHA1 Message Date
6bea53ab11 Clean-up the leftover dspARAMAddresses code that was no longer needed. 2014-09-28 15:38:35 +10:00
baeca3e03b Merge pull request #1170 from lioncash/bounds
SI: Fix bounds check in GetDeviceType
2014-09-28 14:57:38 +10:00
275226c2b6 Merge pull request #1147 from RachelBryk/unicode-tex
Allow custom textures to load from unicode paths.
2014-09-28 14:54:56 +10:00
afccf2276d Merge pull request #1012 from skidau/aram-dma-exceptions
Compile the ARAM DMA exception checks into the JIT block
2014-09-28 14:48:38 +10:00
5b21818c81 Merge pull request #1173 from FioraAeterna/removeprintf
Interpreter: remove debug printf in psq_l
2014-09-27 23:46:31 -04:00
3878187721 Interpreter: remove debug printf in psq_l 2014-09-27 20:44:45 -07:00
7184019090 Increased the savestate internal version.
Added a small note for instant dma.
2014-09-28 11:51:14 +10:00
8b578c7ba3 DSPJitRegCache: Merge two loops in popRegs. 2014-09-27 18:33:48 -04:00
1c42fd9928 SI: Fix bounds check in GetDeviceType 2014-09-27 16:44:21 -04:00
a8d8c9230b CoreParameter: Kill off an snprintf usage 2014-09-27 14:45:03 -04:00
2f4d3961b3 CoreParameter: Use unique_ptr in place of raw pointers 2014-09-27 14:42:59 -04:00
86b6dfe4b3 Added a instant ARAM DMA mode which is enabled automatically when required.
Detects a situation where the game is writing to the dcache at the address being DMA'd. As we do not have dcache emulation, invalid data is being DMA'd causing audio glitches. The following code detects this and enables the DMA to complete instantly before the invalid data is written.
Added accurate ARAM DMA transfer timing.
Removed the addition of DSP exception checking.
2014-09-27 20:47:29 +10:00
4b37fdfa45 Added a CompileExceptionCheck function to the JitInterface and re-routed the existing code to utilise the interface. 2014-09-27 20:16:26 +10:00
945d431171 Added OPTYPE_LOADPS and OPTYPE_STOREPS instruction types to the PPC table.
Updated ARAM DMA and FIFO write exception checking to uses these types.

Conflicts:
	Source/Core/Core/PowerPC/Interpreter/Interpreter_Tables.cpp
	Source/Core/Core/PowerPC/PPCTables.h
2014-09-27 20:16:26 +10:00
0f256715e0 Re-added the ARAM DMA exception check. This fixes the audio cutting in and out of Resident Evil 2 and 3. Removed the special case for short transfers as it is no longer required. 2014-09-27 20:16:26 +10:00
d09e2abb0d Compile the ARAM DMA exception checks into the JIT block in a similar style to FIFO writes. This ensures that the ARAM DMA is handled soon after the DMA completes. Fixes issue 7122 and issue 7342. 2014-09-27 20:16:25 +10:00
fbbe9605a9 Debug: fix display of instructions in virtual memory in MMU games 2014-09-27 01:07:37 -07:00
ac1fc9ad03 JIT+Emitter: support locking flags
This helps us avoid accidentally clobbering flags between two instructions
when the flags are expected to be maintained. Dolphin will of course crash
immediately, but at least it will crash loudly and alert us of the mistake,
instead of forcing hours of bisecting to find the subtle way in which the JIT
has managed to sneak a flag-modifying instruction where there shouldn't be one.
2014-09-26 20:47:06 -07:00
23e2301223 Merge pull request #1154 from skidau/undeclared-uv0-fix
Fixed the "Undeclared identifier: uv0" OpenGL shader compile error that appears in NBA2K11.
2014-09-27 13:25:16 +10:00
f5bbfa139d Merge pull request #1146 from RachelBryk/netplay-input-display
Make input display work properly with netplay.
2014-09-27 13:25:01 +10:00
39d4306a2e JIT: fix carry merging across breakpoints
More precisely, don't do it.
2014-09-26 13:21:01 -07:00
943383c30e Merge pull request #1163 from FioraAeterna/fixbranchmerge2
JIT: fix branch merging, take 2
2014-09-26 15:38:15 +10:00
ba39c35f24 JIT: fix branch merging, take 2
NOT doesn't set flags.
2014-09-25 22:33:40 -07:00
30d77b38c5 Merge pull request #1127 from Sonicadvance1/QGR-BitField
Change the QGR union over to a BitField union.
2014-09-26 14:53:24 +10:00
9d746b89a2 Merge pull request #1162 from FioraAeterna/fixmerges
JIT: fix bugs with ComputeRC in branch merging patch
2014-09-26 14:46:53 +10:00
f9ab25152c JIT: fix bugs with ComputeRC in branch merging patch
We really, really need to be sure the input to ComputeRC is a register.
2014-09-25 21:45:25 -07:00
146725f64a Merge pull request #1125 from Sintendo/fresjumps
Change fres/frsqrte jumps
2014-09-26 14:45:19 +10:00
5a2114bb64 Merge pull request #1151 from comex/generic-build-fixes
Fixes for _M_GENERIC build
2014-09-25 21:51:28 -04:00
4fe1119e52 Cleanup Renderer::CalculateTargetSize(), and allow IRs higher than 4x to be set via ini. 2014-09-25 19:50:25 -04:00
fb3d9c9d58 Fix warning in x64CPUDetect.cpp in generic build by not building it. 2014-09-25 18:48:00 -04:00
9cdd842080 Add a fake SContext definition for _M_GENERIC. 2014-09-25 18:47:34 -04:00
0a1855d2ca Merge pull request #1158 from comex/its-like-i-have-it-out-for-jitil-or-something
Fix fastmem in JitIL after 755bd2c4.
2014-09-25 16:12:04 -05:00
23fbcecf13 JIT: enable block linking and idle skipping in debug mode
They can still be turned off, just don't force them off.
Also remove some dated comments.
2014-09-25 07:12:10 -07:00
8dccb0c743 Fix fastmem in JitIL after 755bd2c4.
That commit reorganized fastmem a bit; I wrote it before the patch to
support fastmem in JitIL landed, and forgot to edit it to account for
the fact.  Since JitILBase now derives from Jitx86Base, the HandleFault
override can just be removed.
2014-09-25 01:15:58 -04:00
c41f76e774 Merge pull request #1148 from lioncash/typo
ISOProperties: Fix typo in the tooltip for manual config editing.
2014-09-25 13:49:39 +10:00
6d064b0406 Merge pull request #1126 from lioncash/delete
DolphinWX: Get rid of an explicit delete in OnExportSave
2014-09-25 13:44:21 +10:00
a8b1a10025 Merge pull request #1087 from FioraAeterna/moremerges
JIT: generic branch merging
2014-09-25 13:40:05 +10:00
29cca5c84f Change fres/frsqrte jumps 2014-09-24 21:58:01 +02:00
bfab5f1e91 JIT: generic branch merging
Why merge just cmps and rlwinm when we can merge ALL the branches?
2014-09-24 12:34:18 -07:00
0b6ec44e42 Merge pull request #1070 from FioraAeterna/optimizeca4
JIT: Reorganize carry to store flags separately instead of part of XER
2014-09-24 14:31:58 -05:00
76697922b4 Implement XER optimization on ARMv7 JIT core
Not completely optimized; there's room for improvement here.
2014-09-24 12:27:54 -07:00
5fce109ce1 Reorganize carry to store flags separately instead of part of XER
Also correct behavior with regards to which bits in XER are treated as zero
based on a hwtest (probably doesn't affect any real games, but might as well
be correct).
2014-09-24 12:27:47 -07:00
788a719718 Merge pull request #1153 from skidau/twx-bindtoreg
Replaced KillImmediate with BindToRegister in the tw instruction.
2014-09-24 13:31:44 +10:00
a83792e914 Merge pull request #1074 from FioraAeterna/earlyflush
JIT: flush a register if it won't be used for the rest of the block
2014-09-24 13:30:02 +10:00
539f270c67 Added a xf.numtexgen != bp.numtextgen error log if there is a mismatch detected. 2014-09-24 10:46:09 +10:00
7f76ad3edb dsp int timing tweak
this fixes a bug in GE9E5D that caused hangs on boot
2014-09-24 00:50:46 +08:00
b4399dbdf3 Fixed the "Undeclared identifier: uv0" OpenGL shader compile error that appears in NBA2K11. 2014-09-24 00:10:45 +10:00
bdd1853586 Merge pull request #1149 from rohit-n/android-warnings
Android: Silence some more warnings.
2014-09-23 07:51:14 -04:00
65eb0ff2fe Replaced KillImmediate with BindToRegister in the tw instruction. Fixes the error "WriteNormalOp - a1 and a2 cannot both be memory" which appeared on starting Monopoly Streets. 2014-09-23 18:00:41 +10:00
cbf102794e Merge pull request #1130 from Sonicadvance1/AArch64-jit-extXx
[AArch64] Implement instructions.
2014-09-23 13:52:30 +10:00