comex
f0131c2e09
Mechanical changes to move most CP state to a struct rather than separate globals.
...
The next commit will add a separate copy of the struct and the ability
for LoadCPReg to work on it.
2014-09-28 21:23:29 -04:00
comex
90638c6806
Switch to an unordered_map as a micro-optimization.
2014-09-28 21:23:29 -04:00
comex
f8452ff501
Fix threading issue with vertex loader JIT.
...
VertexLoader::VertexLoader was setting loop_counter, a *static*
variable, to 0. This was nonsensical, but harmless until I started to
run it on a separate thread, where it had a chance of interfering with a
running vertex translator.
Switch to just using a register for the loop counter.
2014-09-28 21:23:28 -04:00
comex
63c62b277d
Some changes to VertexLoaderManager:
...
- Lazily create the native vertex format (which involves GL calls) from
RunVertices rather than RefreshLoader itself, freeing the latter to be
run from the CPU thread (hopefully).
- In order to avoid useless allocations while doing so, store the native
format inside the VertexLoader rather than using a cache entry.
- Wrap the s_vertex_loader_map in a lock, for similar reasons.
2014-09-28 21:23:28 -04:00
shuffle2
431fb4d82a
Merge pull request #1172 from shuffle2/qt-build-spaces
...
Fix QtCompile.props to work if the repo path contains spaces.
2014-09-28 02:50:22 -07:00
Shawn Hoffman
9fe2d45ad4
Fix QtCompile.props to work if the repo path contains spaces.
2014-09-27 23:08:18 -07:00
Lioncash
ee076453ce
Merge pull request #1171 from lioncash/loop
...
DSPJitRegCache: Merge two loops in popRegs.
2014-09-28 02:07:44 -04:00
skidau
8085af8a2d
Merge pull request #1175 from skidau/cleanup-dsparamaddr
...
Clean-up the leftover dspARAMAddresses code that was no longer needed.
2014-09-28 15:40:53 +10:00
skidau
6bea53ab11
Clean-up the leftover dspARAMAddresses code that was no longer needed.
2014-09-28 15:38:35 +10:00
skidau
baeca3e03b
Merge pull request #1170 from lioncash/bounds
...
SI: Fix bounds check in GetDeviceType
2014-09-28 14:57:38 +10:00
skidau
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
skidau
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
Lioncash
5b21818c81
Merge pull request #1173 from FioraAeterna/removeprintf
...
Interpreter: remove debug printf in psq_l
2014-09-27 23:46:31 -04:00
Fiora
3878187721
Interpreter: remove debug printf in psq_l
2014-09-27 20:44:45 -07:00
skidau
7184019090
Increased the savestate internal version.
...
Added a small note for instant dma.
2014-09-28 11:51:14 +10:00
Lioncash
8b578c7ba3
DSPJitRegCache: Merge two loops in popRegs.
2014-09-27 18:33:48 -04:00
Lioncash
1c42fd9928
SI: Fix bounds check in GetDeviceType
2014-09-27 16:44:21 -04:00
skidau
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
skidau
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
skidau
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
skidau
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
skidau
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
skidau
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
skidau
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
skidau
943383c30e
Merge pull request #1163 from FioraAeterna/fixbranchmerge2
...
JIT: fix branch merging, take 2
2014-09-26 15:38:15 +10:00
Fiora
ba39c35f24
JIT: fix branch merging, take 2
...
NOT doesn't set flags.
2014-09-25 22:33:40 -07:00
skidau
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
skidau
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
Fiora
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
skidau
146725f64a
Merge pull request #1125 from Sintendo/fresjumps
...
Change fres/frsqrte jumps
2014-09-26 14:45:19 +10:00
comex
5a2114bb64
Merge pull request #1151 from comex/generic-build-fixes
...
Fixes for _M_GENERIC build
2014-09-25 21:51:28 -04:00
comex
fb3d9c9d58
Fix warning in x64CPUDetect.cpp in generic build by not building it.
2014-09-25 18:48:00 -04:00
comex
9cdd842080
Add a fake SContext definition for _M_GENERIC.
2014-09-25 18:47:34 -04:00
Ryan Houdek
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
comex
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
skidau
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
skidau
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
skidau
a8b1a10025
Merge pull request #1087 from FioraAeterna/moremerges
...
JIT: generic branch merging
2014-09-25 13:40:05 +10:00
Sintendo
29cca5c84f
Change fres/frsqrte jumps
2014-09-24 21:58:01 +02:00
Fiora
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
Ryan Houdek
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
Ryan Houdek
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
Fiora
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
skidau
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
skidau
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
skidau
539f270c67
Added a xf.numtexgen != bp.numtextgen error log if there is a mismatch detected.
2014-09-24 10:46:09 +10:00
skidau
b4399dbdf3
Fixed the "Undeclared identifier: uv0" OpenGL shader compile error that appears in NBA2K11.
2014-09-24 00:10:45 +10:00
Lioncash
bdd1853586
Merge pull request #1149 from rohit-n/android-warnings
...
Android: Silence some more warnings.
2014-09-23 07:51:14 -04:00
skidau
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
skidau
cbf102794e
Merge pull request #1130 from Sonicadvance1/AArch64-jit-extXx
...
[AArch64] Implement instructions.
2014-09-23 13:52:30 +10:00