nitsuja
c9059c708e
save events in a safer way. the old way assumed that event type indices remain constant (they don't always), which could result in running arbitrary events or crashing upon loading.
2012-05-26 13:09:39 +10:00
nitsuja
a81631b58e
made savestates synchronous and immediate. this allows saving or loading while the emulator is paused, fixes issues where savestate hotkeys would get ignored if pressed too close together, might speed up savestates in some cases, and hopefully makes savestates more stable too.
...
the intent is to replace the haphazard scheduling and finger-crossing associated with saving/loading with the correct and minimal necessary wait for each thread to reach a known safe location before commencing the savestate operation, and for any already-paused components to not need to be resumed to do so.
2012-05-26 13:09:38 +10:00
nitsuja
108f69eaa9
to help movie sync, added some more wiimote data to savestates and disabled auto-reconnect. although I think this is basically just removing hacks and should be more correct, I don't know what side effects this could cause for normal players, so for now these changes ONLY take effect when an input movie is playing back or being recorded.
2012-05-26 12:59:08 +10:00
nitsuja
d19c389246
clean up some savestate code
2012-05-26 12:59:08 +10:00
nitsuja
8ef75dac67
add missing SI device state to saves
2012-05-26 12:59:07 +10:00
nitsuja
5423bca79c
add some more missing dsp ucode data to savestates
2012-05-26 12:59:07 +10:00
nitsuja
152351d96c
implement PointerWrap::Do(std::map<unsigned int, T>)
2012-05-26 12:59:07 +10:00
nitsuja
aa674a65f1
implement PointerWrap::DoLinkedList and use it to simplify saving CoreTiming events
2012-05-26 12:59:06 +10:00
skidau
a54e72640f
Merge branch 'misc-speedups'
...
* misc-speedups:
fixed and reenabled and slightly optimized the JIT version of fcmpo/fcmpu.
slightly more precise speed percent display (this is really minor)
a small thread synchronization speedup for dual core mode. it's most noticeable in games where the CPU is running behind compared to the GPU.
Conflicts:
Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp
The Fifo.cpp changes from rdaefb3b550e2 was not merged as there was no performance benefit.
2012-05-26 12:35:08 +10:00
Pierre Bourdon
cf69e7ca8a
Merge branch 'gx-optimization'
...
This branch reduces the number of useless state flushes in the video
emulation layer by checking whether a BP/XF change will have an effect
or not. Greatly reduces the number of GL calls per frame.
Thanks to degasus for his help!
2012-05-24 21:49:37 +02:00
NeoBrainX
4131ca8d38
Merge branch 'hires-tex-improvements'
2012-05-22 08:14:49 +02:00
Pierre Bourdon
fee2d83f68
Fix a data endianness problem introduced by r7cccb4baa724.
2012-05-20 22:16:21 +02:00
Pierre Bourdon
c95baf614d
Avoid changing video state on useless BP writes
...
When a game writes the same value that was already configured to a BP
register, Dolphin previously flushed the GPU pipeline and reconfigured
the internal video state (calling SetScissor/SetLineWidth/SetDepthMode).
Some of these useless writes still need to perform actions, for example
writes to the EFB copy trigger or the texture preload registers (which
need to reload the texture from memory).
2012-05-20 20:56:03 +02:00
Pierre Bourdon
7cccb4baa7
Check if data was modified in LoadIndexedXF too
2012-05-19 10:54:40 +02:00
Pierre Bourdon
b8d4d013f6
Compute the comparison size properly (transferSize is in u32, not in u8)
2012-05-18 23:27:02 +02:00
Pierre Bourdon
5a77cae2e3
Check if BP and XF changes actually change values before flushing
2012-05-18 23:13:53 +02:00
Matthew Parlane
1bc5f41e40
Fixes issue 5428. Thanks delroth.
2012-05-18 17:57:28 +12:00
Pierre Bourdon
c83f87dfc4
Moved the _FILE_OFFSET_BITS=64 definition before the dependency checks. Fixes compilation on Linux x86.
2012-05-17 00:11:55 +02:00
skidau
5a8ad92302
Changed a JMP that needed to be a far JMP in JITIL.
2012-05-15 09:32:21 +10:00
NeoBrainX
54aeec7a8f
Dump the redundant "save textures" function. Use TextureCache's dumping feature instead.
2012-05-13 17:48:23 +02:00
NeoBrainX
72e83140f0
TextureCacheBase: Remove the texture size limit for custom textures. Only the GPU restrictions for maximum texture size remain.
2012-05-13 17:43:14 +02:00
NeoBrainX
41d37ab0a0
TextureCacheBase: Support loading custom mipmaps.
2012-05-13 17:42:22 +02:00
NeoBrainX
a5e68ab10e
TextureCacheBase: Support dumping individual mipmaps.
2012-05-13 17:41:04 +02:00
NeoBrainX
a8ad59ee3e
TextureCacheBase: Move texture dumping to a helper function.
2012-05-13 17:41:03 +02:00
NeoBrainX
3ecc5e879c
TextureCacheBase: Move custom texture loading to a helper function
2012-05-13 17:41:03 +02:00
skidau
b27f471488
Invalidated the JIT cache when the dcbst instruction is used.
2012-05-13 21:07:03 +10:00
skidau
48bf5c739d
Changed the block linker to work on physical addresses. Checked whether the code has changed before invalidating it. Fixes the cut-scenes in Tales of Graces.
...
Fixes issue 2933.
2012-05-12 21:43:39 +10:00
Pierre Bourdon
f567782b47
Implement a better heuristic to detect whether an ELF is for GC or Wii
2012-05-12 01:48:56 +02:00
Pierre Bourdon
04bde406d3
Fix DVD root path for Wii games. Now Wii games can be booted using extracted files instead of a disc image.
2012-05-11 22:19:57 +02:00
skidau
ec0ddb476e
Fixed texture encoding in DX11. Thanks to wordmanwords for the patch.
2012-05-06 10:51:38 +10:00
skidau
1587cb3738
Fixed texture encoding. Fixes the interaction with objects in Another Code R. Thanks to wordmanwords for the patch.
...
Fixes issue 5405.
2012-05-05 11:21:05 +10:00
Pierre Bourdon
77f47866df
Add Wii DVD integrity checking to Dolphin
...
This allows users to easily check whether their Wii dump is corrupted or not
using the Dolphin properties window. Right click on a game, Properties,
Filesystem tab, then right click on the game partition and select "Check
partition integrity".
This may have some false negatives due to the unused clusters heuristic (see
the comment in VolumeWiiCrypted.cpp). False positives are unlikely.
2012-05-04 16:27:42 +02:00
orphis
6254edcfbc
Add the missing *.wbfs extension to the file picker.
2012-05-03 22:27:06 +00:00
skidau
0e812cb187
JIT32 fix.
...
Added wbfs to the File Open list.
2012-05-04 07:00:30 +10:00
skidau
7885e63deb
Added wbfs support. Thanks to lordlyhobo for the patch. Fixes issue 859.
2012-05-04 00:09:01 +10:00
skidau
a1b3eaffb7
Reverted the ES changes from r0fc390b55226. Fixes the crash that occurred when loading a channel from the sysmenu.
2012-05-03 23:32:32 +10:00
skidau
e5d527340d
Optimised the JIT path.
2012-05-03 23:17:15 +10:00
skidau
d7f468a781
Applied the "Hide cursor" fix to the Pause button.
2012-05-03 20:57:22 +10:00
Glenn Rice
86f2cc60f2
Merge branch 'linux-fixes'
2012-05-02 18:26:20 -05:00
Glenn Rice
614a994150
Instead of ignoring various subdirectories of the Binary directory, just
...
ignore that directory.
2012-05-02 15:48:14 -05:00
Glenn Rice
40640217f1
Fix hide mouse cursor on linux.
...
Fix emulator window position when rendering to main on linux.
Allow building against wxWidgets 2.9.3 on linux.
2012-05-02 14:40:40 -05:00
Billiard26
1974938c5a
Fix DirectInput D-Pad handling.
2012-05-02 06:31:38 +00:00
Pierre Bourdon
beb4204bbb
Include libavutil/mathematics.h explictly in AVIDump.cpp. Fixes issue #5266 .
2012-05-02 07:29:15 +02:00
Pierre Bourdon
5e2d692cec
Lock the DSP thread on its own core when using "Lock threads to cores" and "LLE on Thread". Greatly improves DSPLLE performance on Linux with >= 3 cores CPUs.
2012-05-02 07:19:14 +02:00
skidau
f28e0cff15
Merge branch 'ARAM' of https://code.google.com/p/dolphin-emu into ARAM
...
* 'ARAM' of https://code.google.com/p/dolphin-emu :
Fixed ARAM DMA overflow situations. Fixes issue 4952.
Conflicts:
Source/Core/Core/Src/HW/DSP.cpp
2012-05-01 22:22:39 +10:00
skidau
1b15cd0b60
Added preliminary support for ARAM memory map mode "4".
...
Fixes issue 3410.
2012-05-01 22:05:48 +10:00
skidau
2540fe0606
Fixed ARAM DMA overflow situations. Fixes issue 4952.
2012-05-01 21:31:21 +10:00
skidau
30d6d22816
Merge Conflicts:
...
Source/Core/Core/Src/PowerPC/PowerPC.cpp
2012-05-01 21:00:57 +10:00
skidau
d015f0926a
Fixed a typo and some far jumps in the JIT.
2012-05-01 20:52:35 +10:00
skidau
d557c913e8
Reset the performance counters at the start of the each block.
2012-05-01 20:42:01 +10:00