comex
9adf608f38
Merge pull request #1355 from FioraAeterna/fixmmuoff
...
MMU: allow page-table loads/stores if MMU is off
2014-10-21 14:55:18 -04:00
Ryan Houdek
ecf65d6f1f
Cleans up the JIT block viewer in the WX UI.
...
This code was an absolute mess. It had allocated an arbitrarily large string buffer to hold instructions that were disassembled.
Strip out all of the nasty raw C string manipulation and replaces it with ostringstream usage.
Fixes an issue where if you didn't have a JIT recompiler running then Dolphin would instantly crash if you tried comparing PPC to x86 code.
Changed the disassembly of the host side code from being inline to the function to instead being in a class, this will be required when I add support
for ARMv7 and AArch64 to this window.
2014-10-21 12:27:59 -05:00
Lioncash
eef9453abe
Merge pull request #1358 from Sonicadvance1/ARMv7-NOP
...
Changes from ARMv6 NOP to ARMv7 NOP.
2014-10-21 13:05:06 -04:00
Ryan Houdek
2e94814441
Changes from ARMv6 NOP to ARMv7 NOP.
...
Dolphin doesn't support ARMv6. Get this out of here.
2014-10-21 14:17:07 +00:00
Ryan Houdek
a22fcf152d
Disable the fake vmem hack on 32bit targets.
...
This hack is incompatible with these targets due to how much memory space we allocate.
2014-10-21 12:56:28 +00:00
Fiora
f4fa8d0b83
MMU: allow page-table loads/stores if MMU is off
...
Fixes regressions in some games that apparently required this to work, but
don't really require full MMU emulation (e.g. with exceptions and all).
2014-10-21 05:55:56 -07:00
Ryan Houdek
77da164fe2
Adds support for stepping in the ARMv7 JIT.
2014-10-21 12:53:59 +00:00
Ryan Houdek
85605389d7
Don't enable stepping on ARMv7 JIT core if just in the debugger.
...
Also makes sure we aren't profiling CPU run times unless we are actually profiling.
2014-10-21 07:51:25 -05:00
Fiora
d7ff482618
Fix FPRF flag setting
...
Looks like I didn't quite change every place it needed to be renamed.
2014-10-21 04:56:35 -07:00
comex
3d536bbe38
Merge pull request #425 from LPFaint99/clang-format_config
...
Add .clang-format configuration
2014-10-21 03:50:00 -04:00
comex
c048691a57
Merge pull request #1292 from FioraAeterna/enablebats
...
Make EnableBATs an option instead of disabling it entirely
2014-10-21 02:26:49 -04:00
comex
78deebd732
Merge pull request #1346 from kayru/d3d_clip_enable
...
D3D: Enabled depth clipping
2014-10-21 01:59:24 -04:00
comex
24e72cd064
Merge pull request #991 from phire/dsi_should_crash
...
Panic if game does an invalid memory access.
2014-10-21 01:53:08 -04:00
Yuriy O'Donnell
72ba13ca8a
D3D: Enabled depth clipping
2014-10-21 06:26:20 +02:00
skidau
305d2e1863
Merge pull request #1337 from skidau/AX-volume-clamp
...
Clamp the AX Volume to prevent clipping. Patch by hk.konpie. Fixes issue 7519.
2014-10-21 13:43:56 +11:00
skidau
833ff4a065
Merge pull request #1334 from lioncash/cheats
...
Break Cheat Manager components out into their own source files.
2014-10-21 13:43:06 +11:00
skidau
3022da5d9f
Merge pull request #1318 from RachelBryk/disable-bios
...
Disable skip bios option if no bios files exists.
2014-10-21 13:23:23 +11:00
Scott Mansell
3aa979d7d7
Remove another 3 getPointers.
...
Thanks neobrain for spotting these.
2014-10-21 12:18:54 +13:00
Scott Mansell
4fb6ab40a1
Eliminated getPointers which are memcpyed or memset.
...
Removes 12 getPointers.
2014-10-21 12:18:54 +13:00
comex
ea16b2d065
Merge pull request #1335 from lioncash/indent
...
Debugger: Fix class indentation
2014-10-20 19:17:24 -04:00
Scott Mansell
d77e01e6c4
IPC_HLE: Replace (const char *)GetPointer(x) with GetString(x)
...
Removes 20 instances of GetPointer.
2014-10-21 11:10:34 +13:00
Stevoisiak
7f66344b64
Updated GCM references to ISO
2014-10-20 17:49:33 -04:00
Rachel Bryk
a67b9a4f52
Disable skip bios option if no bios files exists.
2014-10-20 14:17:19 -04:00
skidau
f65bb10c93
Merge pull request #1308 from kayru/shader_generator_write_opt
...
Workaround for MSVC not optimizing away Write() in GeneratePixelShader
2014-10-20 17:15:53 +11:00
skidau
e8da34ef25
Merge pull request #1320 from FioraAeterna/hash64bitcrc
...
Use CRC to output 64 bits instead of 32
2014-10-20 14:50:21 +11:00
skidau
a4be65094f
Merge pull request #1314 from FioraAeterna/fixprofiler
...
JIT: fix profiler on non-Windows OSs
2014-10-20 14:37:32 +11:00
skidau
81efd0e87f
Merge pull request #1315 from RisingFog/movie-menu-input-display
...
Moved Input Display to Movie Menu
2014-10-20 14:34:02 +11:00
skidau
de2bf4c508
Merge pull request #1317 from lioncash/filter
...
Remove unused filter in DolphinWX vcproj file.
2014-10-20 13:32:37 +11:00
comex
4af98d63bc
Merge pull request #1344 from comex/mem-tools-testing
...
MemTools testing
2014-10-19 22:20:30 -04:00
comex
6a7cff02b8
Merge pull request #1343 from comex/yet-another-stupid-branch
...
Rename the poorly named {Read,Write}BigEData to Copy{From,To}Emu -
2014-10-19 22:18:57 -04:00
comex
c5c4dd49e6
Add a define to use sigaction on OS X instead of OS-specific page fault handling.
...
The latter was introduced last year in order to allow debugging without
turning off Fastmem; I wanted to see if the old way was faster. In
fact, it is not, but may as well keep the define around in case future
testing is necessary.
2014-10-19 20:41:54 -04:00
comex
4d610cc30e
Add a test for page fault handling.
...
This both tests that they work correctly and prints timing information
if you run it manually.
2014-10-19 20:41:52 -04:00
comex
f8dfb2ec90
Rename the poorly named {Read,Write}BigEData to Copy{From,To}Emu -
...
and change argument order to match memcpy.
Oh, and fix a lulzy buffer overflow in IOS emulation while I'm at it.
2014-10-19 19:34:38 -04:00
Lioncash
c251cada55
Merge pull request #1326 from waddlesplash/dolphin-qt
...
DolphinQt: link to Core, resource system
2014-10-19 15:40:23 -04:00
Augustin Cavalier
8d4068527b
DolphinQt: Stub Host_* functions & Resource system.
2014-10-19 15:36:37 -04:00
Lioncash
656a2a16a3
TASInputDlg: Pass string by reference for CreateStickLayout
...
Also handles strings passed to it correctly.
2014-10-19 12:36:39 -04:00
Ryan Houdek
b769331f50
Merge pull request #1325 from Sonicadvance1/Android-OpenSLES-race
...
Fix a race condition in our OpenSL ES audio backend.
2014-10-19 08:53:19 -05:00
Ryan Houdek
939fa492c8
Merge pull request #1323 from Sonicadvance1/Android-crash
...
Fix a crash on Android when unplugging a controller during emulation.
2014-10-19 08:48:52 -05:00
Ryan Houdek
b3cee80faa
Merge pull request #1321 from Sonicadvance1/Qualcomm-v95
...
Change driver details to reflect Qualcomm's changes with their v95 driver
2014-10-19 08:48:42 -05:00
Ryan Houdek
e236d28585
Remove a hard dependency from libGL from the software renderer.
...
I must have missed this when dropping OpenGL library includes. This is annoying when on a system that doesn't have libGL.
2014-10-19 07:48:14 -05:00
Ryan Houdek
821a41e62f
Remove hard dependency of GLX from Dolphin with X11.
...
This is particularly annoying on a EGL only system that doesn't have GLX.
2014-10-19 07:48:11 -05:00
skidau
f9d9257c57
Fixed typo in the MEM2 handling.
2014-10-19 21:25:43 +11:00
skidau
990697bcbb
Clamp the AX Volume to prevent clipping. Patch by hk.konpie. Fixes issue 7519.
2014-10-19 21:20:33 +11:00
skidau
033a349444
Merge pull request #1299 from comex/blr-opt-infinite-loop
...
If the stack overflow trap region has already been tripped, don't continue to ignore faults there.
2014-10-19 15:22:42 +11:00
skidau
615ebe7b67
Merge pull request #1298 from RachelBryk/netplay
...
Get rid of netpad and just send the GCPadStatus in netplay.
2014-10-19 15:20:38 +11:00
Lioncash
635408b686
Debugger: Fix class indentation
2014-10-18 22:55:23 -04:00
Lioncash
3782be15a3
Merge pull request #1309 from Stevoisiak/spellingFix
...
Minor spelling fix
2014-10-18 22:40:41 -04:00
Lioncash
650192390c
CheatsWindow: unfriend CreateCodeDialog.
...
This is no longer needed.
2014-10-18 21:38:17 -04:00
Lioncash
e7939a6b44
DolphinWX: Reimplement cheat listbox updating, but without a global
...
Just use event handling.
2014-10-18 21:36:39 -04:00
Lioncash
90eaf9519c
CheatsWindow: Remove unnecessary wxPanel in the wxDialog
...
We can simply size the controls within the dialog directly.
2014-10-18 21:32:42 -04:00
Lioncash
f0769233e6
DolphinWX: Split cheat window components into their own source files
2014-10-18 21:32:33 -04:00
Yuriy O'Donnell
97423d5ed8
D3D: Fixed anisotropic filtering.
...
This got broken when d3d state cache was implemented.
2014-10-18 17:47:47 +02:00
Ryan Houdek
73512ad38f
Fix a race condition in our OpenSL ES audio backend.
...
After calling enqueue the callback would fire before we had assigned g_mixer a value.
This would cause a fun crash to happen.
2014-10-18 08:32:14 -05:00
Ryan Houdek
ceb08acf23
Fix a crash on Android when unplugging a controller during emulation.
...
If the action we are getting is a ACTION_CANCEL, it means that the "gesture" is aborted and we shouldn't perform any more actions on it.
2014-10-18 07:33:51 -05:00
Ryan Houdek
9108a11af4
Change driver details to reflect Qualcomm's changes with their v95 driver.
...
They fixed their issues with dynamic UBO array member access.
There are many other issues though.
2014-10-18 02:50:57 -05:00
Fiora
d2e004fa9e
Use CRC to output 64 bits instead of 32
...
A bit hacky, but should dramatically reduce the odds of hash collision.
2014-10-18 00:24:35 -07:00
comex
742f9c6b14
Merge pull request #1319 from lioncash/tas_vars
...
TASInputDlg: Apply m_ prefix to class member variables.
2014-10-18 01:04:32 -04:00
Lioncash
9df0fff7cc
TASInputDlg: Apply m_ prefix to class member variables.
2014-10-18 00:37:13 -04:00
Lioncash
48a27458d1
Remove unused filter in DolphinWX vcproj file.
2014-10-17 23:11:38 -04:00
skidau
0d1f8527c7
Merge pull request #1297 from RisingFog/audio-dump-during-emulation
...
Start/Stop Audio Dump During Emulation
2014-10-18 13:16:41 +11:00
skidau
c80ba8704c
Merge pull request #1276 from RisingFog/flipped-audio-dump
...
Flipped Wave File Channels for Audio Dumping
2014-10-18 13:15:23 +11:00
skidau
a5674bbe84
Merge pull request #475 from kayru/d3d_state_cache
...
D3D: Implemented cache for dynamic render states
2014-10-18 13:11:39 +11:00
Fiora
c74b4df13e
Add FPRF interface option, change from EnableFPRF to just FPRF
2014-10-17 19:06:18 -07:00
Fiora
719326df65
Make EnableBATs an option instead of disabling it entirely
2014-10-17 19:05:01 -07:00
Fog
467ab1a629
Moved Input Display to Movie Menu
2014-10-17 21:08:34 -04:00
comex
2684c75c6e
Merge pull request #1304 from FioraAeterna/fasterhash
...
Hash: unroll CRC loop, since CRC32 typically has nontrivial latency
2014-10-17 20:24:47 -04:00
Fiora
99169eb620
JIT: fix profiler on non-Windows OSs
...
Still doesn't support timing code (since that's Windows-only), but run counts
will at least work without crashing.
2014-10-17 16:48:09 -07:00
Fiora
15a4bccb73
Hash: unroll CRC loop, since CRC32 typically has nontrivial latency
...
Seems to be about 20-30% faster texture cache hashing on my machine.
2014-10-17 15:39:08 -07:00
Stevoisiak
e86ff867fe
Fixed minor typo
2014-10-17 17:26:56 -04:00
Yuriy O'Donnell
b78396847f
D3D: Removed SetBlendOp, SetSrcBlend and SetDestBlend as they are now trivial
2014-10-17 22:24:57 +02:00
Stevoisiak
ed5e698511
Minor spelling fix
2014-10-17 15:51:19 -04:00
Yuriy O'Donnell
d23da7dbef
Added __forceinline to AlphaTest::TestResult() to make MSVC inline it
2014-10-17 21:50:41 +02:00
Yuriy O'Donnell
5fdda135d2
Workaround for MSVC not optimizing away Write() in GeneratePixelShader
...
ShaderConstantProfile and ShaderUid now have an empty implementation
of Write() that uses variadic templates instead of varargs. MSVC is now
able to inline and optimize away this when necessary.
2014-10-17 21:37:42 +02:00
skidau
73590b1323
Merge pull request #1266 from skidau/mmu-exram
...
Corrected the physical memory access to MEM2 via the MMU. Fixes Toy Story 3.
2014-10-17 17:10:51 +11:00
i418c
5394967e03
Update freelook description.
2014-10-16 19:58:15 -07:00
i418c
0ac3e8c19f
Fix Freelook on Linux and add speed reset.
...
Should fix issue 7692.
Also fixes issue 7147.
I have no idea if these changes will affect Mac or Windows users, so please test.
2014-10-16 19:57:11 -07:00
comex
4c2a542f1e
Revert "FastMem: don't let the backpatcher hit the same location twice"
2014-10-16 21:39:15 -04:00
comex
4e8cc952bb
Merge pull request #1247 from Stevoisiak/WiimoteSubmenu
...
Moved "Connect Wiimote" options into submenu
2014-10-16 20:12:35 -04:00
comex
67088a1834
Fix signed/unsigned comparison and unused variable warnings.
2014-10-16 17:03:49 -04:00
comex
4134a0ad54
Make some variables static (should probably adjust for coding style too, but I'm not the one who merged code with bad style...)
2014-10-16 17:03:37 -04:00
comex
1ff86a4716
Merge pull request #1295 from crudelios/remove-bbox-settings
...
Remove setting to enable or disable Bounding Box calculation.
2014-10-16 17:00:37 -04:00
degasus
8f403696ea
DriverDetails: mark intel buffer_storage bug as fixed
2014-10-16 22:51:32 +02:00
Rachel Bryk
0f3194abc3
Get rid of netpad and just send the GCPadStatus in netplay.
2014-10-16 13:20:00 -04:00
Yuriy O'Donnell
9bdfd4a833
D3D: State cache now reduces number of blend state permutations by collapsing some states that have blending disabled
2014-10-16 18:27:43 +02:00
comex
c5247673cd
If the stack overflow trap region has already been tripped, don't continue to ignore faults there.
...
In the unlikely case that it tripped and then, due to a bug, some other
fault occurred (e.g. stack misalignment), Dolphin would go into an
infinite loop rather than crashing.
2014-10-16 02:14:02 -04:00
Fog
108087bb68
Flipped Wave File Channels
...
This change was done because with the previous method of dumping audio, the mixer would handle switching the RL being emitted by the DSP to LR, and thus would provide the proper channel orientation. Because we're now dumping directly from PushSamples() and PushStreamingSamples(), it was writing the right channel to the left channel of the wave file and vice versa.
2014-10-15 23:16:48 -04:00
skidau
3023abc1b5
Merge pull request #1285 from degasus/master
...
PixelShaderGen: replace multiplication with shift
2014-10-16 14:04:25 +11:00
skidau
f27aabd411
Merge pull request #1278 from lioncash/controller
...
ControllerInterface: Get rid of SetHwnd(), introduce Reinitialize()
2014-10-16 14:02:56 +11:00
skidau
002b9f7acd
Merge pull request #1222 from FioraAeterna/backpatchchanges
...
FastMem: don't let the backpatcher hit the same location twice
2014-10-16 14:00:29 +11:00
skidau
fc774f0232
Merge pull request #1062 from zhuowei/master
...
Parse input as hex instead of decimal to match display values in the register view
2014-10-16 13:58:56 +11:00
Fog
f2ed533841
Start/Stop Audio Dump During Emulation
2014-10-15 20:50:38 -04:00
Yuriy O'Donnell
bea68c95a4
D3D: Fixed uninitialized members of gx_state
2014-10-15 20:22:41 +02:00
Yuriy O'Donnell
21655dc61a
D3D: moved render state cache implementation to D3DState.h/cpp
2014-10-15 20:22:41 +02:00
Yuriy O'Donnell
e7f8032d7d
D3D: State cache now uses BitField to define packed render states
2014-10-15 20:22:40 +02:00
Yuriy O'Donnell
2e4667caaa
D3D: Moved render state cache into separate source files.
...
Refactored StateCache::Get() to early out for narrower indentation.
Added comments to clarify ownership of objects returned by StateCache::Get().
2014-10-15 20:22:39 +02:00
Yuriy O'Donnell
f434bd7d3f
D3D: Implemented cache for dynamic render states
2014-10-15 20:22:39 +02:00
crudelios
d281b4d7e1
Remove setting to enable or disable Bounding Box calculation.
2014-10-15 19:02:54 +01:00
Lioncash
b7b2074cc2
ControllerInterface: Get rid of SetHwnd(), introduce Reinitialize()
...
Initialize now just takes the handle directly. Reinitialize is added because it is much more straightforward in comparison to doing the Shutdown-Initialize manually.
2014-10-15 09:29:25 -04:00
skidau
8912315596
Merge pull request #1290 from lioncash/xfb
...
Fix XFB scaling in D3D
2014-10-15 14:09:33 +11:00
skidau
8ef21bc5e2
Merge pull request #1272 from RisingFog/sconfig-dump-frames
...
Move bDumpFrames to SConfig (and it's references)
2014-10-15 13:42:37 +11:00
skidau
9f5ea81ffe
Merge pull request #1274 from lioncash/uninit
...
TASInputDlg: Fix some potential uninitialized variable warnings.
2014-10-15 13:25:52 +11:00
slx7R4GDZM
5a3f19aeaf
Fix XFB scaling in D3D
2014-10-14 22:25:31 -04:00
Markus Wick
1227bd2ba6
PixelShaderGen: replace multiplication with shift
...
iirc both nvidia and i965 doesn't optimize this
2014-10-14 12:34:37 +02:00
comex
8f61c6f239
Merge pull request #1243 from comex/warning-fixes
...
Misc / warning fixes
2014-10-14 01:14:26 -04:00
comex
6650f8922d
Merge pull request #1283 from FioraAeterna/removebats
...
MMU: disable BAT resolution
2014-10-14 01:14:14 -04:00
comex
b93953250a
TAS warning fixes: unused vars, shadowing, incorrect (unsigned)
2014-10-14 01:11:31 -04:00
comex
5b8722b6f2
Don't pass u64 (which may be long long) to %lu.
...
A type-safe StringFromFormat sure would be nice...
2014-10-14 01:10:35 -04:00
comex
d4e8e3a6a3
Properly handle the Wiimote speaker data format being unknown.
2014-10-14 01:10:35 -04:00
comex
a27f5fe301
Remove another auto .. -> declaration.
2014-10-14 01:10:35 -04:00
comex
47faf7c4fd
Merge branch 'Remove-MMU-Speed-Hack-option' of https://github.com/skidau/dolphin into skidau-Remove-MMU-Speed-Hack-option
...
Conflicts:
Source/Core/Core/PowerPC/Jit64/JitAsm.cpp
2014-10-14 01:08:20 -04:00
Fiora
6ac2fcca61
MMU: disable BAT resolution
...
No known games, not even Wii MMU games like Cars 2 and Toy Story 3, use custom
BATs. This makes BAT resolution a waste of time. BAT handling could be
optimized significantly, but as long as nothing uses it, it's easier to just
disable it.
Should significantly improve performance in MMU-heavy games.
2014-10-13 22:04:03 -07:00
skidau
fd33ecaecd
Merge pull request #1268 from lioncash/append
...
ControllerEmu: Get rid of redundant string appending
2014-10-14 12:50:18 +11:00
skidau
a069183316
Merge pull request #1267 from lioncash/statics
...
VolumeCreator: Make master key arrays static
2014-10-14 12:49:25 +11:00
skidau
01359a481b
Merge pull request #1265 from skidau/debugger-registers-mmu
...
Added some of the MMU registers into the debugger Register window
2014-10-14 12:47:47 +11:00
skidau
e50dad67ce
Merge pull request #1252 from FioraAeterna/regallocator
...
JIT: add basic register allocation heuristics
2014-10-14 12:45:48 +11:00
skidau
b4e82a5b9b
Merge pull request #1192 from skidau/dsp-acc-loop-adpcm
...
Fixed the step_size_bytes in the ADPCM Accelerator loop
2014-10-14 12:38:54 +11:00
skidau
ce35cd301b
Merge pull request #1169 from lioncash/cpu-core
...
Core: Use an enum for indicating CPU cores
2014-10-14 12:36:02 +11:00
skidau
96a2b74c02
Merge pull request #846 from lioncash/fpscr-enum
...
Core: Move FPSCR exception flags to a typed enum
2014-10-14 12:33:57 +11:00
Lioncash
9f2b48ab07
Core: Use an enum for indicating CPU cores
2014-10-13 10:35:31 -04:00
skidau
32dbdbe92f
Corrected the step size bytes for the start of the DSP accelerator chunk. Patch by hk.konpie
2014-10-13 22:10:37 +11:00
skidau
711a8aa6ad
Fixed the step_size_bytes in the ADPCM Accelerator loop taking into account the varying number of bytes that ADPCM steps by.
2014-10-13 22:10:37 +11:00
skidau
7b44e79356
Changed the FAST_TLB_CACHE to update its state only if the TLB cache is accessed by the game (not by Dolphin). The FAST_TLB_CACHE (written by booto) is faster and accurate to the hardware. Enabled the FAST_TLB_CACHE by default.
2014-10-13 18:00:45 +11:00
Lioncash
81e2cf7490
Merge pull request #1271 from Sonicadvance1/AArch64-JIT-UI
...
Add AArch64 JIT recompiler to wxWidgets UI.
2014-10-13 02:01:14 -04:00
skidau
69a2d0cb96
Corrected the physical memory access to MEM2 via the MMU. Fixes Toy Story 3.
2014-10-13 16:01:02 +11:00
skidau
9551650c42
Merge pull request #1095 from crudelios/sw-bbox
...
Reimplement Bounding Box calculation using the software renderer.
2014-10-13 15:57:11 +11:00
Lioncash
01f1768c55
Merge pull request #1273 from lioncash/iamanidiot
...
Software: Remove obsoleted VideoConfigDialog.
2014-10-13 00:46:42 -04:00
Lioncash
6d3487aee9
TASInputDlg: Fix some potential uninitialized variable warnings.
...
Also guard against null (even if it doesn't happen it stops more warnings if someone compiles with -Wall or runs analysis with clang.
2014-10-13 00:40:17 -04:00
Lioncash
b315040c6b
Software: Remove obsoleted VideoConfigDialog.
2014-10-13 00:30:08 -04:00
Fog
8d424b114a
Move bDumpFrames to SConfig (and it's references)
2014-10-12 23:56:16 -04:00
Ryan Houdek
0a0183ee44
Add AArch64 JIT recompiler to wxWidgets UI.
...
This also fixes an issue where it would show the ARMv7 JIT recompiler on AArch64, also the issue of showing the now non-existant ARM JITIL.
Also fixes an issue where it would show the x86 JIT recompilers on a non ARM platform.
2014-10-12 22:49:07 -05:00
Fog
cd0c784d5a
Changed Dump Frames References
2014-10-12 19:51:13 -04:00
Lioncash
a1bee05f5f
ControllerEmu: Get rid of redundant string appending
2014-10-12 17:47:10 -04:00
Lioncash
00b3cc3b09
VolumeCreator: Make master key arrays static
...
Only used within this translation unit.
2014-10-12 15:07:39 -04:00
skidau
6d9990585c
Added some of the MMU registers into the debugger Register window
2014-10-12 20:03:29 +11:00
skidau
18c81dbc33
Merge pull request #1261 from lioncash/mesa-resonance-cascade
...
AVIDump: Add missing CoreTiming header
2014-10-12 14:26:23 +11:00
Lioncash
e283839b68
AVIDump: Add missing CoreTiming header
...
Fixes build on the mesa buildbot
2014-10-11 23:12:19 -04:00
skidau
88f885f5a4
Merge pull request #1257 from RisingFog/moviemenudumping
...
Added Dump Frames/Audio to Movie Menu
2014-10-12 14:06:29 +11:00
skidau
a00ad6871c
Merge pull request #1220 from RisingFog/avsync
...
Proper Audio/Video Dumping
2014-10-12 14:04:45 +11:00
skidau
7443a07f6e
Merge pull request #1253 from lioncash/jitcache
...
JitCache: Use std::array to back the arrays within it.
2014-10-12 13:59:37 +11:00
skidau
9ddbdeb39f
Merge pull request #995 from FioraAeterna/fma
...
Add FMA support to emitter and use it in the JIT
2014-10-12 13:56:18 +11:00
Fog
432e89b68d
Added Dump Frames/Audio to Movie Menu
2014-10-11 12:31:02 -04:00
skidau
a373cc0654
Merge pull request #1231 from Armada651/borderless
...
Support the borderless fullscreen option in all backends.
2014-10-11 14:27:49 +11:00
skidau
8738b1879c
Removed the MMU Speed Hack option. The TLBHack is now enabled if the MMU option is disabled. This will help catch cases where a game requires the TLBHack but the option has not been set in the game ini. It also removes the possibility to mistakenly enable both the MMU and TLBHack.
2014-10-11 11:31:16 +11:00
Lioncash
98d9a38fe0
Merge pull request #1242 from lioncash/sync
...
Android: Use apply() instead of commit() for SharedPreference changes.
2014-10-10 18:42:54 -04:00
Ryan Houdek
f6233cd531
Merge pull request #1254 from RachelBryk/unicode
...
Replace wxFileExists() with File::Exists().
2014-10-10 17:35:22 -05:00
Henrik Rydgård
877081c7df
Be consistent with braces.
2014-10-10 22:34:03 +02:00
Henrik Rydgård
9bca1a00d7
x64 emitter: Add some more missing ops (MOVDQA, MOVDQU, PSHUFHW)
...
Also constify some pointers.
2014-10-10 18:30:05 +02:00
Henrik Rydgård
a2c46665c5
x64 emitter: Add a few missing instructions
2014-10-10 18:30:04 +02:00
Rachel Bryk
bf7de71fd0
Replace wxFileExists() with File::Exists().
...
It did not handle unicode properly.
2014-10-10 11:22:47 -04:00
crudelios
1e3b9ecdc1
Fix compile errors after rebase.
2014-10-10 12:44:44 +01:00
crudelios
9786f54414
Fixed a small bug.
2014-10-10 12:28:17 +01:00
crudelios
987bd8bb8f
Several small optimizations.
2014-10-10 12:28:16 +01:00
crudelios
176ea06e82
Get buildbot to compile.
2014-10-10 12:28:15 +01:00
crudelios
47c67f014f
Fix linux build and various warnings.
...
Increase savestate version.
2014-10-10 12:28:13 +01:00
crudelios
2d4b7e3f3f
Reimplement Bounding Box calculation using the software renderer.
2014-10-10 12:27:06 +01:00
Lioncash
8b831c9483
JitCache: Use std::array to back the arrays within it.
...
Cleans up some of the allocation process.
2014-10-10 00:22:09 -04:00
Fiora
7ba9a8537b
JIT: add basic register allocation heuristics
...
Should be at least a bit better than the previous LRU approach. Currently
has two basic components: whether a register is dirty (dirty registers need
to be stored, so clobbering them hurts more) and how many other registers will
be used between now and the next time a register gets used.
Also don't pre-load values that don't need to be in registers.
2014-10-09 20:09:14 -07:00
skidau
b7aed97508
Merge pull request #1239 from FioraAeterna/updatetables
...
CPU: improve instruction table flags for RC bits
2014-10-10 13:04:57 +11:00
Lioncash
560f180ea4
Merge pull request #1251 from lioncash/cast
...
PPCAnalyst: Remove unnecessary casts
2014-10-09 20:26:32 -04:00
Lioncash
bb377d0fc3
PPCAnalyst: Remove unnecessary casts
2014-10-09 20:19:01 -04:00
Steven V.
bcf8f8f0b2
Fixed minor capitalization issue
2014-10-09 16:59:58 -04:00
Steven Vascellaro
2ce90f267c
Moved "Connect Wiimote" options into submenu
...
Moved "Connect Wiimote 1-4" and "Connect Wii Balance Board" into their
own submenu.
2014-10-09 15:15:42 -04:00
Fiora
9d45f51459
JIT: fix accidental disabling of block linking by default
...
Oops.
2014-10-09 12:00:40 -07:00
Jules Blok
03e1bd0995
Limit Borderless Fullscreen to Windows systems.
2014-10-09 11:30:26 +02:00
Lioncash
67e44c0e63
Merge pull request #1235 from lioncash/func
...
VolumeGC: Use regular return type declaration for GetStringDecoder
2014-10-09 01:20:57 -04:00
Fog
fc4125cdd1
Proper Audio/Video Dumping
2014-10-09 00:06:04 -04:00
Lioncash
053f5c1f17
Android: Use apply() instead of commit() for SharedPreference changes.
...
apply() changes the in-memory instance of SharedPreferences and writes to the disk asynchronously, rather than synchronously, which commit() does. Since these are done on the UI thread, they should be asynchronous.
2014-10-08 23:12:25 -04:00
skidau
86b81c55bf
Merge pull request #1226 from skidau/emu-wiimote-speaker-sample-rate
...
Hooked up the emulated wiimote speaker's sample rate and volume set by the game
2014-10-09 14:11:21 +11:00
Sean Maas
17f0fdb18f
[Android] Return to game list instead of exiting app
2014-10-08 22:28:18 -04:00
Lioncash
677d74df88
Merge pull request #1240 from FioraAeterna/fixdebugblocklink
...
Debug: fix disable block linking option
2014-10-08 22:13:33 -04:00
Fiora
8bf2cf0641
Debug: fix disable block linking option
...
Previously it did the opposite of what it was supposed to; when checked, it'd
turn block linking on, and when unchecked, it'd turn it off.
Also update JITIL's block linking disabling in debug mode to match the behavior
of the regular JIT.
2014-10-08 19:03:25 -07:00
Fiora
75a1310ba9
CPU: improve instruction table flags for RC bits
2014-10-08 11:44:37 -07:00
Rachel Bryk
2cfc1eac51
Fix another crash in tas input.
2014-10-08 09:46:28 -04:00
Fiora
9734f0c834
JIT64: use FMA instructions
2014-10-07 21:41:01 -07:00
Ryan Houdek
2423b9b2bd
Merge pull request #1237 from Sonicadvance1/fix-ARM32-XER
...
Fix ARMv7 JIT from XER optimization.
2014-10-07 21:56:36 -05:00
Ryan Houdek
5f0011d065
Fix ARMv7 JIT from XER optimization.
...
This was a subtle bug I introduced since I removed a LDR in one of the ComputeCarry functions.
Basically since I wasn't loading the XER value prior to operations when I did a BIC tmp, tmp, 1 it would clear the first bit in our temp register but
retain the rest of the "random" data from that temp register. This would then save in to xer_ca, which the Interpreter will use later without any
masking to generate the XER value. Our XER generation helper functions don't do any masking since they were only expecting a single bit worth of data
in xer_ca with the rest being zero.
So now we only have one bit of data being stored in xer_ca from the ARMv7 JIT recompiler, and also a slight optimization in the ComputeCarry function
that is used on the immediate path. There wasn't any reason to load xer_ca since it only contains one bit of data now.
2014-10-07 21:43:15 -05:00
Rachel Bryk
e09288aec1
Fix crash in tas input.
2014-10-07 22:35:56 -04:00
skidau
38b64fd077
Merge pull request #1213 from RachelBryk/wii-tas-input
...
Add wiimote tas input.
2014-10-08 13:15:43 +11:00
Fiora
4289221584
X64Emitter: add unit test for FMA
2014-10-07 18:21:07 -07:00
Fiora
019657cd93
X64Emitter: add FMA3 support
2014-10-07 18:21:07 -07:00
Lioncash
6cfa579870
VolumeGC: Use regular return type declaration for GetStringDecoder
2014-10-07 21:15:14 -04:00
Lioncash
ab49d80e3f
Merge pull request #1234 from Stevoisiak/renameNamesToBannerNames
...
Rename m_names to m_banner_names
2014-10-07 20:01:29 -04:00
Lioncash
fab357552f
Merge pull request #1233 from Stevoisiak/getNameRedundancy
...
Updated Netplay to use GetName()
2014-10-07 19:54:09 -04:00
Steven Vascellaro
ebbbe43b8f
Rename m_names to m_banner_names
2014-10-07 19:14:11 -04:00
Steven Vascellaro
4b9ee5ee39
Updated Netplay to use GetName()
2014-10-07 19:05:38 -04:00
Jules Blok
39f421d45d
Support the borderless fullscreen option in all backends.
2014-10-07 16:48:43 +02:00
Jules Blok
7344f752b7
Replace BorderlessFullscreenEnabled by ExclusiveFullscreenEnabled.
...
Special handling was associated with this function, which only applies to exclusive fullscreen.
2014-10-07 16:43:32 +02:00
skidau
f5b23834b5
Hooked up the emulated wiimote speaker's sample rate and volume set by the game.
2014-10-07 21:43:32 +11:00
comex
85086e1e6c
Merge pull request #1224 from FioraAeterna/profile
...
JIT: re-add profiling support on x86_64
2014-10-07 02:31:04 -04:00
comex
39d01774de
Merge pull request #1229 from lioncash/ts
...
Fifo: Fix tab/space mismatches
2014-10-07 02:27:37 -04:00
Fiora
5919d0962f
JIT: re-add profiling support on x86_64
...
Still gives rather inaccurate results with conditional continue and/or
branch merging on, so those should probably be turned off when using it.
2014-10-06 20:26:58 -07:00
comex
9d059d1d2f
Merge pull request #1221 from LPFaint99/memcard
...
Fix endian error. allows loading of current games save even if the memca...
2014-10-06 23:21:36 -04:00
skidau
1b573c4ca0
Merge pull request #1225 from lioncash/lolwx
...
DolphinWX: Make WXInputBase part of the WxUtils namespace.
2014-10-07 13:28:25 +11:00
skidau
b3b34d16e6
Merge pull request #1218 from hthh/trampolinecaching
...
JIT: reuse trampolines when possible
2014-10-07 13:26:23 +11:00
skidau
8fdf43109f
Merge pull request #1216 from FioraAeterna/movoptimizations
...
Add more AVX support, refactor emitter, reduce redundant XMM moves
2014-10-07 13:25:28 +11:00
LPFaint99
5dec943762
Fix endian error. allows loading of current games save even if the memcard is mostly full
2014-10-06 18:43:59 -07:00
Lioncash
16a74a9557
Fifo: Fix tab/space mismatches
2014-10-06 20:04:57 -04:00
Lioncash
700a4154dd
Merge pull request #1228 from Stevoisiak/fixedSaveBannerFilename
...
Fix for banner filename from ID
2014-10-06 17:49:24 -04:00
Steven Vascellaro
63c05c15d5
Fix for banner filename from ID
...
Saving a banner as a .PNG now properly defaults to the gameID.
2014-10-06 17:42:24 -04:00
skidau
215685a6fe
Merge pull request #1214 from rohit-n/format-warning
...
OGL: Silence string format warnings.
2014-10-06 16:12:40 +11:00
skidau
a0a64369fc
Merge pull request #1211 from skidau/remaining-block-count-zero
...
Re-added the change to make the dsp remaining block count zero-based.
2014-10-06 13:35:46 +11:00
Lioncash
7c05d029d3
Merge pull request #1085 from waddlesplash/refactoring
...
Migrate global init stuff into UICommon.
2014-10-05 21:25:44 -04:00
Lioncash
af241c9710
Merge pull request #1215 from lioncash/spacing
...
DolphinWX: Fix double-spacing in some UI strings
2014-10-05 21:22:17 -04:00
Augustin Cavalier
19109e2d01
Migrate global init stuff into UICommon.
...
This avoids code duplication in a bunch of places .
I also moved the NVIDIA Optimus export into VideoCommon.
2014-10-05 20:47:37 -04:00
Lioncash
41ea4a28b2
DolphinWX: Make WXInputBase part of the WxUtils namespace.
...
There's no need for the preprocessor checks for wx, since this is used in wx code. Also, this being a part of the InputCommon namespace is kind of wrong.
2014-10-05 05:31:48 -04:00
Fiora
9b29fe8aed
WIP: don't let the backpatcher hit the same location twice
...
If a location is hit by the backpatcher, don't fastmem it when recompiling the
block unless the block has actually been invalidated.
2014-10-04 21:28:21 -07:00
hthh
c7208318fb
JIT: Reuse trampolines when possible
2014-10-05 15:03:11 +11:00
skidau
871d308b88
Merge pull request #1206 from comex/amperspocalypse
...
Change a bunch of reference function arguments to pointers.
2014-10-05 12:14:04 +11:00
comex
47bf698b70
Merge pull request #1217 from lioncash/tcast
...
TrampolineCache: Remove unnecessary cast
2014-10-04 00:19:08 -04:00
comex
7bce3fcdf9
Merge pull request #1174 from FioraAeterna/fifowriteaddrfix
...
JIT: properly remove FIFO write addresses when code is invalidated
2014-10-04 00:18:58 -04:00
comex
1af4043f14
Merge pull request #1219 from FioraAeterna/fixclearcache
...
JIT: set clear_cache_asap to false when clearing the cache
2014-10-04 00:14:30 -04:00
skidau
0c4739eead
Merge pull request #1202 from FioraAeterna/fixstartupbats
...
Fix BAT register initial values in bootcode
2014-10-04 13:10:47 +10:00
skidau
d0ea2ad6dc
Merge pull request #1198 from lioncash/crypt
...
WiiSaveCrypted: Move some function params over to std::string
2014-10-04 13:10:28 +10:00
skidau
6a3b05a9ea
Merge pull request #1197 from RachelBryk/multicompress
...
Don't allow multi compress to compress wbfs or wad files.
2014-10-04 13:09:43 +10:00
Fiora
17c56b58ab
JIT: set clear_cache_asap to false when clearing the cache
...
Would probably result in continual cache-clearing if the stack overflow code
in the BLR optimizations triggers.
2014-10-03 20:08:27 -07:00
Lioncash
eb1ddb886e
TrampolineCache: Remove unnecessary cast
2014-10-03 20:46:44 -04:00
Fiora
bf014636c8
JIT: add more AVX support, reduce redundant XMM moves
...
10-20% reduction in typical compiled block size for float-heavy JIT blocks.
2014-10-03 16:17:08 -07:00
Fiora
8fe730194b
JIT: load registers if they're going to be used later in the block
2014-10-03 11:58:04 -07:00
Lioncash
7610811f79
DolphinWX: Fix double-spacing in some UI strings
2014-10-03 13:54:18 -04:00
Fiora
6bff99fa75
JitAsmCommon: remove a few redundant moves
2014-10-03 10:05:42 -07:00
Fiora
7a2dd3a3c6
x64Emitter: refactor, add some new AVX instructions
2014-10-03 10:05:10 -07:00
Rohit Nirmal
12c6f97d80
OGL: Silence string format warnings.
2014-10-03 12:07:10 -04:00
Rachel Bryk
c41b31d3ff
Add wiimote tas input.
2014-10-03 12:02:52 -04:00
Rachel Bryk
e0b5d4a86c
Fix running dolphin with a single flag.
2014-10-03 07:39:51 -04:00
skidau
30c8de495e
Re-added the change to make the dsp remaining block count zero-based. Fixes Dream Mix TV World Fighters.
2014-10-03 21:30:09 +10:00
skidau
16d3604211
Merge pull request #1196 from RachelBryk/framecount
...
Add on screen frame counter.
2014-10-03 13:31:52 +10:00
skidau
6333f41837
Merge pull request #1194 from RachelBryk/arg
...
If one argument is given, assume it is a game, and run it.
2014-10-03 13:31:37 +10:00
Blackbird88
981a21a12f
Spelling mistake
2014-10-02 09:25:25 +02:00
comex
7f6284c2fc
Change a bunch of reference function arguments to pointers.
...
Per the coding style and sanity.
2014-10-02 03:00:33 -04:00
comex
c98a3f62be
Merge pull request #1195 from rohit-n/maybe-uninitialized
...
VideoCommon: Silence -Wmaybe-uninitialized warnings.
2014-10-02 01:56:06 -04:00
Rohit Nirmal
3b25c88736
Change another NULL to nullptr.
2014-10-01 23:38:42 -05:00
Lioncash
54c454fc82
Jit64: Change a NULL to nullptr
2014-10-02 00:05:27 -04:00
skidau
68edddf10e
Merge pull request #1193 from RachelBryk/ir-input-display
...
Fix IR input display.
2014-10-02 13:48:17 +10:00
skidau
50bf30111c
Merge pull request #1189 from RachelBryk/nunchuck-input-display
...
Add support for cc and nunchuck in input display.
2014-10-02 13:47:35 +10:00
skidau
11126f0bfc
Merge pull request #1155 from booto/dsp-int-fix
...
dsp int timing tweak
2014-10-02 13:46:03 +10:00
Fiora
1bce0a847b
Fix BAT register initial values in bootcode
...
Probably won't affect any real things for now, since these BATs are already
hardcoded into the memory handling functions.
2014-10-01 12:54:06 -07:00
Rachel Bryk
4280d9777a
Add support for cc and nunchuck in input display.
2014-10-01 03:51:49 -04:00
skidau
ffe160ad81
Merge pull request #1187 from lioncash/global
...
AudioCommon: Prefix soundStream global with g_
2014-10-01 13:23:11 +10:00
skidau
19fbefd9bd
Merge pull request #1176 from FioraAeterna/pagecrossings
...
MMU: support loads/stores that cross page boundaries
2014-10-01 13:22:52 +10:00
Lioncash
0d8b34612e
WiiSaveCrypted: Move some function params over to std::string
2014-09-30 20:31:59 -04:00
Rachel Bryk
621d5c5cd8
Don't allow multi compress to compress wbfs or wad files.
2014-09-30 19:28:16 -04:00
Rachel Bryk
f6c6f03cce
Add on screen frame counter.
2014-09-30 18:49:44 -04:00
Rohit Nirmal
ce8a4f5cc5
VideoCommon: Silence -Wmaybe-uninitialized warnings.
2014-09-30 16:14:18 -04:00
Tony Wasserka
13fc8e7df1
Merge pull request #578 from RachelBryk/IR
...
Cleanup Renderer::CalculateTargetSize(), and allow IRs higher than 4x to be set via INI.
2014-09-30 19:21:21 +02:00
Rachel Bryk
c0270f63c5
If one argument is given, assume it is a game, and run it.
2014-09-30 09:21:34 -04:00
Rachel Bryk
f7a993a853
Fix IR input display.
2014-09-30 08:24:18 -04:00
Fiora
85547d94be
JIT: properly remove FIFO write addresses when code is invalidated
...
Fixes a bug caused by interaction with carry optimizations; might fix other
issues too.
2014-09-30 01:00:23 -07:00
Lioncash
7f7fb5e70c
AudioCommon: Prefix soundStream global with g_
2014-09-30 03:06:16 -04:00
comex
a9b4016cd3
Merge pull request #1166 from FioraAeterna/flaglocking
...
JIT+Emitter: support locking flags
2014-09-30 02:57:53 -04:00
comex
acac5325f5
Merge pull request #1134 from RachelBryk/movie-menu
...
Create new Movie menu.
2014-09-30 02:51:21 -04:00
comex
58a29ec0cd
Merge pull request #1177 from lioncash/array
...
DSPJitRegCache: Use std::array to represent the register arrays
2014-09-30 02:50:53 -04:00
comex
71b4c2ee9c
Merge pull request #1180 from Stevoisiak/Replace-GCM-With-ISO
...
Replaced GCM functions with ISO functions
2014-09-30 02:47:33 -04:00
comex
4edc7fbf85
Merge pull request #1190 from comex/stackalign
...
Remove useless STACKALIGN macro.
2014-09-30 01:54:38 -04:00
comex
ac1f9f950f
Merge pull request #1186 from lioncash/macro
...
NetPlayClient: Remove unused macro
2014-09-30 01:52:01 -04:00
comex
ed2ce8d8d4
Merge pull request #1191 from comex/wxGetActiveWindow
...
Fix focus detection on OS X by replacing wxGetActiveWindow with wxWindow...
2014-09-30 01:49:39 -04:00
comex
2eebdff01b
Remove useless STACKALIGN macro.
...
It only ever did anything on 32-bit OS X.
Anyway, it wasn't even on the right functions, and these days
ABI_PushRegistersAndAdjustStack should handle maintaining the ABI
correctly.
2014-09-30 01:42:47 -04:00
comex
8fed5aa492
Fix focus detection on OS X by replacing wxGetActiveWindow with wxWindow::FindFocus.
...
wxGetActiveWindow is implemented as "return NULL" on OS X, while
wxWindow::FindFocus works. On Windows, the difference is in the use of
GetActiveWindow() vs. GetForegroundWindow(). A MSDN comment says:
> A system has only one active window, which GetForegroundWindow()
> returns. GetActiveWindow() seems to return the same window as
> GetForegroundWindow() if the foreground window belongs to the current
> thread. Otherwise, it always returns null, rather than the topmost
> window of the calling thread.
Since we are on the GUI thread, it shouldn't make any difference.
2014-09-30 01:35:48 -04:00
comex
5d61081f91
Merge pull request #1188 from comex/ReadDataFromFifo
...
ReadDataFromFifo is always called with len = 32. Remove the parameter t...
2014-09-30 01:08:36 -04:00
Fiora
22f087275c
MMU: support loads/stores that cross page boundaries
...
Fixes some strange issues with Rogue Squadron 3 in JIT mode.
2014-09-29 21:19:21 -07:00
Rachel Bryk
f40e8a5cd0
Create new Movie menu.
2014-09-30 00:10:39 -04:00
skidau
63cee3328f
Merge pull request #1167 from FioraAeterna/fixdebugwindow
...
Debug: fix display of instructions in virtual memory in MMU games
2014-09-30 13:28:41 +10:00
skidau
f675b33640
Merge pull request #1164 from FioraAeterna/bpcarry
...
JIT: fix carry merging across breakpoints
2014-09-30 13:25:24 +10:00
skidau
9d9984e96f
Merge pull request #1159 from FioraAeterna/blocklinkdebug
...
JIT: enable block linking and idle skipping in debug mode
2014-09-30 13:24:16 +10:00
skidau
7828ddd542
Merge pull request #1150 from FioraAeterna/extsmerge
...
JIT: merge lbz + extsb
2014-09-30 13:19:45 +10:00
skidau
da221e3d9c
Merge pull request #1018 from zhuowei/elf_map_basename_only
...
When loading the map file for a DOL/ELF file, extract only the filename from the DOL/ELF's path
2014-09-30 13:17:29 +10:00
comex
87a95727cd
ReadDataFromFifo is always called with len = 32. Remove the parameter to enable optimizations.
...
And rename some variables around it to be less confusing.
2014-09-29 22:07:16 -04:00
Lioncash
05a8d9d54a
NetPlayClient: Remove unused macro
2014-09-29 08:42:18 -04:00
Lioncash
843a3f6c15
Core: Move FPSCR exception flags to a typed enum
2014-09-29 00:46:15 -04:00
comex
b8e31c1d3e
Add OpenGL 4.0-4.5 core extensions.
...
This noticeably includes GL_ARB_get_program_binary, which was previously
thought unsupported on OS X. Well, actually, the OS X implementation is
trivial and reports 0 binary formats (as of 10.10; this is hardcoded in
GLEngine, by the way), but at least it'll work if it's fixed someday.
2014-09-29 00:36:45 -04:00
comex
4c031bed4b
Merge pull request #1179 from lioncash/casts
...
Jit_Integer: Get rid of some cast noise in boolX
2014-09-28 23:58:09 -04:00
skidau
8ae2152093
Merge pull request #1168 from lioncash/unique
...
CoreParameter: Use unique_ptrs over raw pointers.
2014-09-29 13:55:00 +10:00
skidau
007ba13cfa
Merge pull request #1144 from skidau/fifo-linked
...
Moved the linking of the FIFO CPWritePointer near where CPWritePointer gets updated
2014-09-29 13:52:33 +10:00
skidau
c7f3858379
Merge pull request #1138 from FioraAeterna/arithetweak
...
JIT: a small optimization for subfex and friends
2014-09-29 13:51:44 +10:00
Lioncash
d13383c4e6
Merge pull request #1181 from FioraAeterna/debuggqr
...
GekkoDisassembler: show W and I in psq_l/psq_st disassembly
2014-09-28 23:45:49 -04:00
comex
6c0a68d507
Add the override config option.
...
I hate the config code, but now is not the time to fix it...
2014-09-28 21:34:31 -04:00
comex
3a2048ea57
Add a central variable g_want_determinism which controls whether to try to make things deterministic.
...
It now affects the GPU determinism mode as well as some miscellaneous
things that were calling IsNetPlayRunning. Probably incomplete.
Notably, this can change while paused, if the user starts recording a
movie. The movie code appears to have been missing locking between
setting g_playMode and doing other things, which probably had a small
chance of causing crashes or even desynced movies; fix that with
PauseAndLock.
The next commit will add a hidden config variable to override GPU
determinism mode.
2014-09-28 21:34:31 -04:00
comex
65af90669b
Add the 'desynced GPU thread' mode.
...
It's a relatively big commit (less big with -w), but it's hard to test
any of this separately...
The basic problem is that in netplay or movies, the state of the CPU
must be deterministic, including when the game receives notification
that the GPU has processed FIFO data. Dual core mode notifies the game
whenever the GPU thread actually gets around to doing the work, so it
isn't deterministic. Single core mode is because it notifies the game
'instantly' (after processing the data synchronously), but it's too slow
for many systems and games.
My old dc-netplay branch worked as follows: everything worked as normal
except the state of the CP registers was a lie, and the CPU thread only
delivered results when idle detection triggered (waiting for the GPU if
they weren't ready at that point). Usually, a game is idle iff all the
work for the frame has been done, except for a small amount of work
depending on the GPU result, so neither the CPU or the GPU waiting on
the other affected performance much. However, it's possible that the
game could be waiting for some earlier interrupt, and any of several
games which, for whatever reason, never went into a detectable idle
(even when I tried to improve the detection) would never receive results
at all. (The current method should have better compatibility, but it
also has slightly higher overhead and breaks some other things, so I
want to reimplement this, hopefully with less impact on the code, in the
future.)
With this commit, the basic idea is that the CPU thread acts as if the
work has been done instantly, like single core mode, but actually hands
it off asynchronously to the GPU thread (after backing up some data that
the game might change in memory before it's actually done). Since the
work isn't done, any feedback from the GPU to the CPU, such as real
XFB/EFB copies (virtual are OK), EFB pokes, performance queries, etc. is
broken; but most games work with these options disabled, and there is no
need to try to detect what the CPU thread is doing.
Technically: when the flag g_use_deterministic_gpu_thread (currently
stuck on) is on, the CPU thread calls RunGpu like in single core mode.
This function synchronously copies the data from the FIFO to the
internal video buffer and updates the CP registers, interrupts, etc.
However, instead of the regular ReadDataFromFifo followed by running the
opcode decoder, it runs ReadDataFromFifoOnCPU ->
OpcodeDecoder_Preprocess, which relatively quickly scans through the
FIFO data, detects SetFinish calls etc., which are immediately fired,
and saves certain associated data from memory (e.g. display lists) in
AuxBuffers (a parallel stream to the main FIFO, which is a bit slow at
the moment), before handing the data off to the GPU thread to actually
render. That makes up the bulk of this commit.
In various circumstances, including the aforementioned EFB pokes and
performance queries as well as swap requests (i.e. the end of a frame -
we don't want the CPU potentially pumping out frames too quickly and the
GPU falling behind*), SyncGPU is called to wait for actual completion.
The overhead mainly comes from OpcodeDecoder_Preprocess (which is,
again, synchronous), as well as the actual copying.
Currently, display lists and such are escrowed from main memory even
though they usually won't change over the course of a frame, and
textures are not even though they might, resulting in a small chance of
graphical glitches. When the texture locking (i.e. fault on write) code
lands, I can make this all correct and maybe a little faster.
* This suggests an alternate determinism method of just delaying results
until a short time before the end of each frame. For all I know this
might mostly work - I haven't tried it - but if any significant work
hinges on the competion of render to texture etc., the frame will be
missed.
2014-09-28 21:34:29 -04:00
comex
2d4b7c5900
Make ReadDataFromFifo static.
2014-09-28 21:25:12 -04:00
comex
0ae9e398c8
Rejigger some FIFO buffer variables to be more rational.
...
videoBuffer -> s_video_buffer
size -> s_video_buffer_write_ptr
g_pVideoData -> g_video_buffer_read_ptr (impl moved to Fifo.cpp)
This eradicates the wonderful use of 'size' as a global name, and makes
it clear that s_video_buffer_write_ptr and g_video_buffer_read_ptr are
the two ends of the FIFO buffer s_video_buffer.
Oh, and remove a useless namespace {}.
2014-09-28 21:25:12 -04:00
comex
e86ddacb18
Changes to allow LoadCPReg to work in a preprocess mode which affects a separate state.
...
This state will be used to calculate sizes for skipping over commands on
a separate thread. An alternative to having these state variables would
be to have the preprocessor stash "state as we go" somewhere, but I
think that would be much uglier.
GetVertexSize now takes an extra argument to determine which state to
use, as does FifoCommandRunnable, which calls it. While I'm modifying
FifoCommandRunnable, I also change it to take a buffer and size as
parameters rather than using g_pVideoData, which will also be necessary
later. I also get rid of an unused overload.
2014-09-28 21:25:06 -04:00
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
Fiora
c102fed36a
GekkoDisassembler: show W and I in psq_l/psq_st disassembly
2014-09-28 17:01:35 -07:00
Steven Vascellaro
b956be20e3
Replaced generalized instances of GCM with ISO
...
Renamed various commands to refer to ISO instead of GCM for consistency,
as the commands are used for both Wii and GameCube files.
CompressGCM --> CompressISO
DeleteGCM --> DeleteISO
MultiCompressGCM --> MultiCompressISO
MultiDecompressGCM --> MultiDecompressISO
SetDefaultGCM --> SetDefaultISO
Fixed COMPRESSISO
Fixed missing "COMPRESSISO"
Fixed more COMPRESSISO
Final fix for COMPRESSISO
2014-09-28 19:53:05 -04:00
Lioncash
7e825fdca5
Jit_Integer: Get rid of some cast noise in boolX
2014-09-28 13:28:16 -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
Lioncash
ab639b41ab
DSPJitRegCache: Use std::array to represent the register arrays
2014-09-28 03:02:29 -04: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
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
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
Lioncash
a8d8c9230b
CoreParameter: Kill off an snprintf usage
2014-09-27 14:45:03 -04:00
Lioncash
2f4d3961b3
CoreParameter: Use unique_ptr in place of raw pointers
2014-09-27 14:42:59 -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
Fiora
fbbe9605a9
Debug: fix display of instructions in virtual memory in MMU games
2014-09-27 01:07:37 -07:00
Fiora
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
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
Fiora
39d4306a2e
JIT: fix carry merging across breakpoints
...
More precisely, don't do it.
2014-09-26 13:21:01 -07: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
Rachel Bryk
4fe1119e52
Cleanup Renderer::CalculateTargetSize(), and allow IRs higher than 4x to be set via ini.
2014-09-25 19:50:25 -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
Fiora
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
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
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
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
booto
7f76ad3edb
dsp int timing tweak
...
this fixes a bug in GE9E5D that caused hangs on boot
2014-09-24 00:50:46 +08: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
skidau
fb18d5376f
Merge pull request #1142 from lioncash/linucks
...
Fix some warnings on Linux
2014-09-23 13:43:18 +10:00
Fiora
88f2fbe1a4
JIT: fix merged bclr with comex's BLR optimizations
2014-09-22 18:22:31 -07:00
Fiora
f103234e2b
JIT: flush a register if it won't be used for the rest of the block
...
This should dramatically reduce code size in the case of blocks with
lots of branches, and certainly doesn't hurt elsewhere either.
This can probably be improved a good bit through smarter tracking of register
usage, e.g. discarding registers that are going to be overwritten, but this
is a good start and should help reduce code size and register pressure.
Unlike that sort of change, this is a "safe" patch; it only flushes registers,
which can't affect correctness, unlike actually discarding data.
As part of this, refactor PPCAnalyst to support distinguishing between
float and integer registers (to properly handle instructions that access
both, like floating-point loads and stores).
Also update every instruction in the interpreter flags table I could find
that didn't have all the correct flags.
2014-09-22 16:00:25 -07:00
Fiora
de86d2003a
JIT: merge lbz + extsb
...
PPC has no 8-bit sign-extended load, so this instruction pair is very common.
x86 can do it in one op (movsx), so merge them when possible.
2014-09-22 15:41:54 -07:00
Rohit Nirmal
3168361e32
Android: Silence some more warnings.
2014-09-22 17:45:42 -04:00
Ryan Houdek
7f1185b941
Merge pull request #1140 from lioncash/android
...
Android: Silence a few warnings
2014-09-22 16:20:53 -05:00
Lioncash
874f5eb1ad
ISOProperties: Fix typo in the tooltip for manual config editing.
2014-09-22 13:45:28 -04:00
Rachel Bryk
e4d71f36b1
Make input display work properly with netplay.
2014-09-22 12:56:35 -04:00
Rachel Bryk
4ed9b561bd
Allow custom textures to load from unicode paths.
2014-09-22 12:51:30 -04:00
Rachel Bryk
ad460a21d7
Change netplay buffer SpinCtrl to default to 5.
2014-09-22 08:40:13 -04:00
Lioncash
dd6ebd2228
Merge pull request #1141 from lioncash/rasterogl
...
OGL: Get rid of explicit deletes in RasterFont
2014-09-22 03:20:32 -04:00
shuffle2
c617f324b2
Merge pull request #1143 from lioncash/exi
...
Core: Fix SIGABRT possibility in EXI_DeviceGecko
2014-09-22 00:16:34 -07:00
skidau
8c5e12cf02
Moved the linking of the FIFO CPWritePointer near where CPWritePointer gets updated. The CPWritePointer was getting updated while it was in-flight causing Pac-man Party to flicker. Fixes issue 5223.
2014-09-22 16:49:09 +10:00
skidau
6379d3983a
Merge pull request #1137 from lioncash/debugger-crash
...
DolphinWX: Fix case where the debugger would crash on hiding a pane.
2014-09-22 14:48:29 +10:00
Lioncash
858d18a67e
Core: Fix SIGABRT possibility in EXI_DeviceGecko
...
Fixes issue 7586
2014-09-21 21:50:30 -04:00
Lioncash
836ff6d506
Fix some warnings on Linux
2014-09-21 20:13:22 -04:00
Lioncash
23b82bbacd
OGL: Get rid of explicit deletes in RasterFont
2014-09-21 20:06:13 -04:00
Lioncash
ea40fdf21c
Merge pull request #1132 from lioncash/osx
...
Fix building Dolphin on OSX without precompiled headers
2014-09-21 20:02:59 -04:00
Lioncash
3351e3f1c3
Merge pull request #1133 from RachelBryk/state
...
Remove an unused variable.
2014-09-21 19:52:13 -04:00
Lioncash
dc79755303
Android: Silence a few warnings
2014-09-21 19:51:27 -04:00
Rachel Bryk
d933247c50
Remove an unused variable.
2014-09-21 19:40:18 -04:00
Lioncash
76ad89ebb6
DolphinWX: Fix the video dialog crashing Dolphin on OSX
...
When a game was running and someone opened the video dialog, it would crash. This is because the preprocessor macro should have been __APPLE__ not _APPLE_
Fixes issue 7644.
2014-09-21 16:08:16 -04:00
Lioncash
770a9a42a5
Merge pull request #1136 from lioncash/memory-view
...
DolphinWX: Fix the memory view in the debugger
2014-09-21 15:35:26 -04:00
Ryan Houdek
9206dd016e
Merge pull request #1135 from FioraAeterna/twidisasmfix
...
Disassembler: fix disassembly of some twi instructions
2014-09-21 14:19:05 -05:00
Ryan Houdek
1cb07ffc14
[AArch64] Implement twi and tw.
2014-09-21 14:17:04 -05:00
Fiora
505b1bd562
JIT: a small optimization for subfex and friends
2014-09-21 12:16:26 -07:00
Lioncash
95660a5563
DolphinWX: Fix case where the debugger would crash on hiding a pane.
...
These ID values would clash with the window parent IDs of all the actual debugger panes (they are in the 350 range as well).
For example, attempting to show and then close the memory window would cause an assertion, because it would attempt to destroy the text control for searching through memory, rather than destroying the actual parent window it's attached to.
These IDs are only used locally, so their value doesn't matter.
2014-09-21 14:06:27 -04:00
Lioncash
dc65ef33ba
DolphinWX: Fix the memory view in the debugger
2014-09-21 11:47:52 -04:00
Fiora
9c4407fb80
Disassembler: fix disassembly of some twi instructions
2014-09-21 08:17:41 -07:00
Ryan Houdek
078147d424
[AArch64] Implement mfmsr
2014-09-21 07:38:21 -05:00
Ryan Houdek
9530800fd0
[AArch64] Implement mtsprin and mfsprin
2014-09-21 07:38:16 -05:00
Ryan Houdek
2bcea19492
[AArch64] Implement mtsr and mfsr
2014-09-21 07:36:14 -05:00
Tony Wasserka
1d23c2ca8b
GPU: Only load the relevant color components upon writes to the tev color registers.
...
The other two components need not be valid upon write, hence loading them results in glitches.
Fixes issue 6783.
2014-09-21 10:38:22 +02:00
Tony Wasserka
6d4fd54683
ChunkFile: Add a DoArray overload which takes an std::array.
...
This is inconsistent with how other containers are used (i.e. with Do()), but making std::array be used with Do() seems rather confusing when there's also a DoArray available.
2014-09-21 10:38:22 +02:00
skidau
536582b2eb
Merge pull request #1129 from lioncash/casing
...
VideoCommon: Fix function casing in FrameBufferManagerBase
2014-09-21 15:56:17 +10:00
Lioncash
a04a99251f
Fix building Dolphin on OSX without precompiled headers
2014-09-21 00:37:47 -04:00
Ryan Houdek
0f8c5bda40
[AArch64] Implement mcrf.
2014-09-20 21:19:25 -05:00
Tony Wasserka
a5f4e4ad25
Merge pull request #1128 from lioncash/bits
...
VideoCommon: Make zfreeze in GenMode 1 bit in size
2014-09-21 00:03:36 +02:00
Ryan Houdek
e708e8d5a0
[AArch64] Implement negx.
2014-09-20 16:17:16 -05:00
Ryan Houdek
75590a99cb
[AArch64] Implement cntlzwx.
2014-09-20 14:52:56 -05:00
Ryan Houdek
76d2f331f0
[AArch64] Implement extshx and extsbx.
2014-09-20 14:46:53 -05:00
Lioncash
a6ffa55215
VideoCommon: Fix function casing in FrameBufferManagerBase
2014-09-20 14:54:59 -04:00
Lioncash
91438fa9e7
VideoCommon: Make zfreeze in GenMode 1 bit in size
2014-09-20 14:30:41 -04:00
Ryan Houdek
9d7598266f
Change the QGR union over to a BitField union.
...
Makes it easier to generate a QGR in my unit test, cleaner overall of course.
2014-09-20 13:15:44 -05:00
Ryan Houdek
a829e596c7
Merge pull request #1121 from FioraAeterna/fixfsel
...
JIT: fix fsel/ps_sel implementations for NaN input
2014-09-20 12:40:55 -05:00
Lioncash
b92e0660ab
DolphinWX: Get rid of an explicit delete in OnExportSave
2014-09-20 13:00:55 -04:00
Fiora
6043c790b6
JIT: fix indexed paired singles
...
I didn't realize the I and W fields were in a different place for these
variants.
This should fix Paper Mario and probably lots of other things I accidentally
broke.
2014-09-20 00:20:49 -07:00
skidau
ae17d91992
Merge pull request #1096 from RachelBryk/save-slots
...
Add hotkeys to select save state slots
2014-09-20 15:45:02 +10:00
Ryan Houdek
2db7413a19
Merge pull request #1118 from lioncash/lolwinapi
...
FrameTools: Set focus on Windows via CFrame::SetFocus
2014-09-19 20:48:27 -05:00
Ryan Houdek
eb23882398
Merge pull request #1120 from rohit-n/muh-precompiled-headers
...
Fix build failing when disabling precompiled headers.
2014-09-19 17:43:42 -05:00
Rohit Nirmal
46057db37d
Fix build failing when disabling precompiled headers.
2014-09-19 18:17:51 -04:00
Ryan Houdek
d7b40fa94c
Merge pull request #1119 from FioraAeterna/bytereverse
...
JIT: support byte-reversed stores/loads
2014-09-19 15:54:27 -05:00
Ryan Houdek
2e1377ab7e
Merge pull request #1107 from FioraAeterna/opcodesearch
...
Debugger: make opcode search a bit better
2014-09-19 15:50:54 -05:00
Ryan Houdek
bdca720e33
Fix some indention on AArch64 JIT.
2014-09-19 15:23:21 -05:00
Ryan Houdek
47e47891d4
[AArch64] Implement a bunch of integer instructions
...
16 new instructions for AArch64.
2014-09-19 15:23:21 -05:00
Ryan Houdek
5671530026
Merge pull request #1101 from FioraAeterna/fixfallbacks
...
JIT: simpler fallback conditions for load/store float
2014-09-19 15:23:01 -05:00
Ryan Houdek
5b4aa1d6d4
Merge pull request #1123 from FioraAeterna/eieio
...
JIT: change eieio and tlbsync to DoNothing
2014-09-19 15:19:41 -05:00
Ryan Houdek
7cc586d615
Merge pull request #1100 from FioraAeterna/psq_insts
...
JIT: implement remaining psq_l/st instruction variants
2014-09-19 15:16:44 -05:00
Fiora
0f53bba45a
JIT: change eieio and tlbsync to DoNothing
...
The interpreter functions for these are no-ops anyways.
Also add some missing DoNothings to the ARM64 JIT.
2014-09-19 13:14:49 -07:00
Ryan Houdek
522d7eb275
Merge pull request #1109 from FioraAeterna/ps_cmp
...
JIT: add ps_cmp0/ps_cmp1/ps_res/ps_rsqrte
2014-09-19 14:41:05 -05:00
Ryan Houdek
526e92464b
Merge pull request #1103 from FioraAeterna/floatconstnaming
...
JIT: rename a few constants to be more accurate
2014-09-19 13:21:06 -05:00
Ryan Houdek
c5f9301e6e
Add a comment to the software renderer that stride should be implemented
2014-09-19 12:33:15 -05:00
magumagu
32e5043b29
WIP XFB scaling.
...
Still an ugly mess.
2014-09-19 12:33:15 -05:00
Ryan Houdek
0d1c1e9477
Merge pull request #1122 from Sonicadvance1/Android-reduce-confusion
...
Show OpenGL or OpenGL ES on Android depending on what the device supports
2014-09-19 09:21:58 -05:00
Ryan Houdek
e18860830a
Show OpenGL or OpenGL ES on Android depending on what the device supports.
...
Reduces confusion for the users
2014-09-19 09:21:16 -05:00
Ryan Houdek
d544c563ea
Merge pull request #1112 from Sonicadvance1/AArch64-mov-aliases
...
Add AArch64 emitter aliases for MOV and MVN.
2014-09-19 09:19:33 -05:00
Ryan Houdek
ec310811a8
Merge pull request #1114 from Sonicadvance1/AArch64-fix-build
...
Fix AArch64 JIT compiling.
2014-09-19 09:19:25 -05:00
Fiora
c130a496f2
JIT: fix fsel/ps_sel implementations for NaN input
...
fselx was the main problem, but ps_sel was wrong too (even if there were no
known reported bugs with it).
This fixes Beyond Good and Evil (at the least).
2014-09-19 01:58:13 -07:00
Fiora
d96016ed21
JIT: support byte-reversed stores/loads
...
4 more instructions down.
Store ones should be pretty well-tested; load ones seem to almost never be
used. I found them in Turok Evolution, so I was able to check code generation,
but the relevant code didn't seem to be called.
2014-09-18 20:38:44 -07:00
skidau
bd740ae9c7
Merge pull request #1111 from Tilka/fix_gcpad_setmotor
...
Fix GCPad::SetMotor()
2014-09-19 13:26:05 +10:00
Fiora
af8772700a
JIT: add ps_res and ps_rsqrte using scalar implementations
2014-09-18 18:36:15 -07:00
Lioncash
c33a9de6af
FrameTools: Set focus on Windows via CFrame::SetFocus
2014-09-18 21:15:26 -04:00
Fiora
1b425dedd1
JIT: add ps_cmp0/ps_cmp1 implementations using current fcmp code
2014-09-18 17:57:28 -07:00
Fiora
3c49200b22
X64Emitter: add MOVHLPS/MOVLHPS
2014-09-18 17:57:27 -07:00
Ryan Houdek
a8abbdae85
Merge pull request #1106 from FioraAeterna/fixdebug2
...
JIT: fix debug mode
2014-09-18 19:52:35 -05:00
Lioncash
68d62c3d32
Merge pull request #1110 from lioncash/apple-code
...
DolphinWX: Fix GC/Wiimote input windows randomly crashing on OSX
2014-09-18 20:17:16 -04:00
shuffle2
88196d373f
Merge pull request #1117 from shuffle2/qt-plugins
...
windows/qt: add (hopefully) all plugins DolphinQt should possibly need.
2014-09-18 15:46:28 -07:00
Shawn Hoffman
035a1c0ec2
windows/qt: add (hopefully) all plugins DolphinQt should possibly need.
...
For now they are all copied to binary directory, once the project is more mature
it can be stripped down.
2014-09-18 15:24:14 -07:00
comex
3df935b98e
Reset RSP after calling Jit in case it cleared the code cache.
2014-09-18 18:23:36 -04:00
Ryan Houdek
f709dda6aa
Fix AArch64 JIT compiling.
2014-09-18 16:50:49 -05:00
Ryan Houdek
7608e3f11e
Add AArch64 emitter aliases for MOV and MVN.
2014-09-18 16:30:40 -05:00
Tillmann Karras
e35db54454
Fix and simplify GCPad::SetMotor()
...
abs() takes an int argument. Casting -0.5..0.5 to int always resulted in
zero.
2014-09-18 21:34:07 +02:00
Lioncash
207d7787a4
DolphinWX: Fix GC/Wiimote input windows randomly crashing on OSX
2014-09-18 14:52:12 -04:00
Ryan Houdek
e9164247d6
Merge pull request #1108 from FioraAeterna/fixdebugscroll
...
Debugger: scroll by multiples of 4 bytes
2014-09-18 06:52:44 -05:00
Ryan Houdek
d54c8eb6bf
Merge pull request #1098 from FioraAeterna/cvtsi2ss
...
JIT: use cvtsi2ss in paired singles
2014-09-18 06:51:37 -05:00
Ryan Houdek
0294b344e2
Merge pull request #1086 from FioraAeterna/fixsrawint
...
Interpreter: fix carry calculation in srawx
2014-09-18 06:41:37 -05:00
Fiora
20c3a0f2d8
Debugger: scroll by multiples of 4 bytes
...
Avoids that weird effect where scrolling offsets code from 4-byte boundaries,
showing nonsense 75% of the time.
2014-09-18 03:54:57 -07:00
Fiora
8ce4676605
Debugger: make opcode search a bit better
...
Search a wider range (not all games fit in the originally searched range).
Print a notice if the opcode isn't found, instead of silently failing.
2014-09-18 03:47:46 -07:00
Fiora
cd7853bd50
JIT: fix debug mode
2014-09-18 03:14:04 -07:00
Fiora
9ab816e6e9
JIT: fix regression in ps_sel
...
My code didn't maintain correct semantics with floating-point NaNs (a < b is
not the same as "not a >= b" in float), which seems to have broken FIFA 12.
2014-09-17 21:43:44 -07:00
comex
217758b607
Correct inaccurate comment.
2014-09-17 22:30:33 -04:00
comex
6695b5acce
Fix backwards #ifdef.
2014-09-17 22:30:20 -04:00
comex
97c9cb5882
Add missing push wrapper around UpdatePerformanceMonitor
2014-09-17 21:10:43 -04:00
Fiora
29fc151cc7
JIT: implement remaining psq_l/st instruction variants
...
These are used in at least a few popular games, including Super Smash Bros.
Brawl.
2014-09-17 17:10:27 -07:00
comex
7ad9027593
Be pedantic about stack overflow on Linux and OS X.
...
Add some magic to the fault handler to handle stack overflow due to BLR
optimization, and disable the optimization if fastmem is not enabled.
2014-09-17 20:08:09 -04:00
Fiora
cfd65c2762
JIT: rename a few constants to be more accurate
...
Remove the '2'; it's not longer applicable.
2014-09-17 16:59:35 -07:00
comex
755bd2c445
Reorganize backpatching a bit. Untested on ARM.
...
Rather than *MemTools.cpp checking whether the address is in the
emulated range itself (which, as of the next commit, doesn't cover every
kind of access the JIT might want to intercept) and doing PC
replacement, they just pass the access address and context to
jit->HandleFault, which does the rest itself.
Because SContext is now in JitInterface, I wanted JitBackpatch.h (which
defines it) to be lightweight, so I moved TrampolineCache and associated
x64{Analyzer,Emitter} dependencies into its own file. I hate adding new
files in three places, two of which are MSVC...
While I'm at it, edit a misleading comment.
2014-09-17 19:57:06 -04:00
comex
7b0fdb52cd
Run exception handlers on an alternate stack on Linux.
...
*Completely untested.* Someone please test.
2014-09-17 19:57:04 -04:00
comex
bd4e75e69a
Shorten the blr stub a bit.
2014-09-17 19:56:58 -04:00
comex
b597ec3e08
Opportunistically predict BLR destinations using RET.
...
When executing a BL-type instruction, push the new LR onto the stack,
then CALL the dispatcher or linked block rather than JMPing to it. When
executing BLR, compare [rsp+8] to LR, and RET if it's right, which it
usually will be unless the thread was switched out. If it's not right,
reset RSP to avoid overflow.
This both saves a trip through the dispatcher and improves branch
prediction.
There is a small possibility of stack overflow anyway, which should
be handled... *yawn*
2014-09-17 19:56:09 -04:00
comex
558dee84ca
Wrap some function calls in ABI_Push|PopRegistersAndAdjustStack(0, 0);
...
These calls are made outside of JIT blocks, and thus previously did not
read any protection - register use is taken into account and the outer
dispatcher stack frame is sufficient. However, if data is to be stored
on the stack, these calls must reserve stack shadow space on Windows to
avoid clobbering it.
2014-09-17 19:56:09 -04:00
Fiora
2a0b06f08c
JIT: simpler fallback conditions for load/store float
...
I wasn't really thinking when I wrote these; d/s are for float registers, not
gprs.
2014-09-17 10:27:33 -07:00
Fiora
76c8bb40e8
JIT: update some rather outdated comments
2014-09-16 23:42:22 -07:00
Fiora
2ae6f13d22
JIT: use cvtsi2ss in paired singles
...
One less instruction for a few of the loads.
2014-09-16 22:50:33 -07:00
shuffle2
978a855d3f
Merge pull request #1090 from shuffle2/dolphin-qt
...
DolphinQt -- initial commit
2014-09-16 22:21:16 -07:00
skidau
2c233c4976
Merge pull request #686 from FioraAeterna/fiora
...
JIT: Optimize JitAsmCommon, Float, and PS implementations
2014-09-17 14:06:14 +10:00
Rachel Bryk
5dc88a2673
Add hotkeys to select save state slots and to save/load the currently selected slots.
2014-09-16 19:19:41 -04:00
Fiora
d3dee1d7ed
GekkoDisassembler: fix some float opcodes
2014-09-16 02:06:40 -07:00
comex
7eea7080d9
Fix missing "return"
2014-09-16 00:25:21 -04:00
skidau
8361d2b1da
Merge pull request #805 from FioraAeterna/storerefactor
...
JIT: support immediate stores
2014-09-16 13:31:39 +10:00
Dolphin Bot
bef2016909
Merge pull request #1091 from FioraAeterna/fixdisasm
...
GekkoDisassembler: fix/improve disassembly for a few instructions
2014-09-16 03:53:18 +02:00
Fiora
7368c2ee9e
GekkoDisassembler: fix/improve disassembly for a few instructions
2014-09-15 18:48:54 -07:00
Shawn Hoffman
9d57ac68a4
Add Qt submodule for windows.
2014-09-15 15:07:42 -07:00
Shawn Hoffman
ae3a5ce9e3
Qt: Add msvc support
2014-09-15 15:07:33 -07:00
Augustin Cavalier
16c6a19190
DolphinQt: initial commit.
...
This adds the beginning of the DolphinQt user interface. It doesn't
do anything useful yet and only builds via CMake.
2014-09-15 15:06:05 -07:00
comex
847f78e4cc
Merge pull request #1089 from FioraAeterna/fixemittersilentfail
...
x64Emitter: fix silent failure if WriteNormalOp is passed two memory operands
2014-09-15 14:53:21 -04:00
Fiora
764ce4b513
JIT: add fselx implementation
...
Based on a patch by Tilka.
2014-09-15 08:33:41 -07:00
Fiora
7ab820c6f8
JIT: Various JitAsmCommon optimizations
...
Use some SSE4 instructions in on CPUs that support them.
Use float instructions instead of int where appropriate (it's a cycle faster
on CPUs with arithmetic unit forwarding penalties).
2014-09-15 08:33:40 -07:00
Fiora
7b0f559ae1
JIT: various float optimizations
2014-09-15 08:33:40 -07:00
Fiora
34287b8042
JIT: some paired singles optimizations
2014-09-15 08:33:39 -07:00
Fiora
d02b7c7755
JIT: support immediate stores
2014-09-15 07:25:32 -07:00
Fiora
02dce5dbbf
x64Emitter: fix silent failure if WriteNormalOp is passed two memory operands
...
Should now fail loudly and clearly instead.
2014-09-15 07:08:08 -07:00
Fiora
a248e49c97
Revert "Two small JIT optimizations"
2014-09-15 07:01:51 -07:00
Ryan Houdek
20af50b1c4
Merge pull request #1077 from FioraAeterna/integeropts2
...
Two small JIT optimizations
2014-09-15 07:09:11 -05:00
skidau
1458b59156
Merge pull request #1065 from Sonicadvance1/AArch64-fix-regcache
...
Fix all the current issues with the AArch64 register cache.
2014-09-15 13:02:16 +10:00
Fiora
3845c27155
JIT: save an instruction in psq_l
2014-09-14 15:12:57 -07:00
Fiora
af471d0a84
JIT: optimize andi(s)_rc
...
We usually don't need to do a sign-extend for the resulting flags.
2014-09-14 15:12:14 -07:00
Fiora
9b8cfcdc29
Interpreter: fix carry calculation in srawx
...
I don't know anything this affected, but it didn't match the manual (or JIT).
2014-09-14 15:08:57 -07:00
comex
74f8a48ee6
Merge pull request #1063 from FioraAeterna/fastermmufix
...
MMU: properly check MEM1 range on Gamecube games
2014-09-14 15:17:09 -04:00
comex
db7617248f
Merge pull request #1021 from FioraAeterna/optimizeca3
...
JIT: Carry optimizations!
2014-09-14 15:08:08 -04:00
Lioncash
b307bb68d7
Merge pull request #1080 from lioncash/wx-crap
...
Kill off the wx casts within InputCommon and GLInterface.
2014-09-14 13:21:34 -04:00
Ryan Houdek
4e7f284a81
Merge pull request #1064 from Sonicadvance1/AArch64-Fix-MOVI2R
...
Fix AArch64 MOVI2R helper function.
2014-09-14 09:26:02 -05:00
Ryan Houdek
4e16abd742
Merge pull request #1083 from FioraAeterna/lzcnt
...
Add LZCNT support, use in cntlzw
2014-09-14 09:18:10 -05:00
Fiora
40b18f09b2
JIT: use LZCNT in cntlzw
2014-09-14 05:36:23 -07:00
Fiora
997c5c2d0e
x64Emitter: add LZCNT/TZCNT support and detection
...
Also add a unit test.
2014-09-14 05:31:22 -07:00
Ryan Houdek
1f7871f9e2
Merge pull request #1082 from FioraAeterna/fixccagain
...
JIT: fix JIT with conditional continue off, again
2014-09-14 03:22:03 -05:00
Fiora
653140fcfa
MMU: properly check MEM1 range on Gamecube games
...
Fixes at the very least Rogue Squadron II crashes.
2014-09-14 00:16:37 -07:00
Fiora
9d2b2cae4a
JIT: fix JIT with conditional continue off, again
2014-09-14 00:12:27 -07:00
Lioncash
357c0adc3c
Kill off the wx casts within InputCommon and GLInterface.
...
All because someone didn't actually return the wxWindow handle for the edge case.
2014-09-14 01:07:08 -04:00
Scott Mansell
6956df79b2
Fix Fastmem in JitIL for massive speed gains.
...
JitIL's fastmem was stubbed out when Sonicadvance1 merged JitARMIL
into the tree. Since JitARMIL has been deleted, I simply re-arrange
the inheritance to base JitIL on Jitx86Base, so it can inherit the
backpatch function.
Povray Benchmark: 1985 seconds to 1316 seconds.
2014-09-14 16:21:54 +12:00
Lioncash
6cfc5b9849
InputCommon: Initialize NSDictionaries using literal syntax.
2014-09-13 21:32:33 -04:00
Lioncash
068799ff73
UnitTests: Fix misplaced braces in the x64Emitter tests
2014-09-13 20:45:17 -04:00
Pierre Bourdon
84a564a304
Merge pull request #1060 from rohit-n/move-using
...
JitArm32: Minor cleanup.
2014-09-14 01:59:39 +02:00
Pierre Bourdon
eee473ed5f
Merge pull request #1066 from lioncash/breaks
...
DiscIO: Remove unnecessary break statements.
2014-09-14 01:58:44 +02:00
Pierre Bourdon
9607cc4159
Merge pull request #1071 from archshift/patch-1
...
ConfigManager.cpp: Removed three elements from platform-ifdef
2014-09-14 01:58:17 +02:00
Pierre Bourdon
439068acae
Merge pull request #1055 from FioraAeterna/smallermov
...
X64Emitter: support shorter mov reg, imm opcodes
2014-09-14 01:57:36 +02:00
Pierre Bourdon
cb2e53e7c6
Merge pull request #1068 from rohit-n/use-vector
...
CBoot: Use vectors instead of raw pointers in ELF functions.
2014-09-14 01:55:01 +02:00
Fiora
1bd8d1ee98
Add immediate tests for WriteNormalOp
...
also fix a bug in Bochs that was preventing adc from passing.
2014-09-13 16:39:34 -07:00
Pierre Bourdon
2ab19c7cec
Merge pull request #927 from FioraAeterna/fastermmu
...
Fiora's Faster MMU Project
2014-09-14 00:36:07 +02:00
Fiora
32a67ef264
JIT: fix memcheck on float load/store, plus some corner cases
2014-09-13 13:53:19 -07:00
Fiora
b3c1cec197
JIT: fix memcheck with stXx
2014-09-13 13:53:18 -07:00
Fiora
9a19314969
JIT: make memcheck macro support an inverted mode
2014-09-13 13:53:13 -07:00
Fiora
54e26f64c6
JIT: use far code emitter in more places
2014-09-13 13:51:12 -07:00
Fiora
08ac10d00a
PPCAnalyst/JIT: add ability to easily toggle branch and carry merging
2014-09-13 13:48:24 -07:00
Fiora
54129a8ca5
PPCAnalyst: refactor, add carry op reordering and non-cmp reordering
...
Tries as hard as possible to push carry-using operations (like addc and adde)
next to each other. Refactor the instruction reordering to be more flexible
and allow multiple passes.
353 -> 192 x86 instructions on a carry-heavy code block in Pokemon Puzzle.
12% faster overall in Pokemon Puzzle; probably less in typical games (Virtual
Console games seem to be carry-heavy for some reason; maybe a different
compiler?)
2014-09-13 13:48:23 -07:00
Fiora
45d84605a9
JIT64: optimize carry calculations further
...
Keep carry flags in the x86 flags register if used in the next instruction.
2014-09-13 13:48:20 -07:00
Fiora
bea2504a51
JIT64: optimize carry calculations
...
Omit carry calculations that get overwritten later in the block before they're
used. Very common in the case of srawix and friends.
2014-09-13 13:47:43 -07:00
Dolphin Bot
d72f61d62f
Merge pull request #1073 from phire/save_jitil2
...
Fix Idle Skipping in JitIL.
2014-09-13 18:40:57 +02:00
Scott Mansell
cf869fc24f
Fix Idle Skipping in JitIL.
...
Has been broken since the flags-opt merge. The idle skipping code in
JitIL was very brittle and depended on the IL of it's inputs not
changing in any way.
flags-opt changed the IR generated by the cmp instruction, which is part
of the idle loop, causing JitIL to break in really weird ways, which
were almost impossible to track down.
This fixes various wii games crashing/not booting and the Regspill
error on (all?) gamecube mmu games.
2014-09-14 04:36:50 +12:00
Ryan Houdek
a30b4f13a1
Merge pull request #1067 from lioncash/fallthrough
...
DolphinWX: Get rid of fallthrough in ScanForISOs
2014-09-13 04:52:30 -05:00
Fiora
c5381bae66
JIT: add "far code emitter" to reduce L1I cache pressure
2014-09-13 02:31:31 -07:00
Fiora
09a62505c5
JIT: support paired load/store with MMU on
...
Also change the calling convention, to avoid RSCRATCH being clobbered by
memcheck'd loads.
2014-09-13 02:18:11 -07:00
Fiora
2661bc151a
JIT memcheck: don't flush register state unless an exception occurs
2014-09-12 20:55:00 -07:00
Lioncash
a92003c1ab
ARM64: Make getters within ArithOption const.
2014-09-12 20:55:26 -04:00
archshift
eae38fd339
ConfigManager.cpp: Removed three elements from platform-ifdef
2014-09-12 17:15:46 -07:00
Rohit Nirmal
edd63c14a4
CBoot: Use vectors instead of raw pointers in ELF functions.
2014-09-12 12:03:06 -04:00
Lioncash
322f033c97
DolphinWX: Get rid of fallthrough in ScanForISOs
2014-09-12 11:52:36 -04:00
Lioncash
4db2af2d42
DiscIO: Remove unnecessary break statements.
2014-09-12 11:34:34 -04:00
Ryan Houdek
e883a6fb2e
Fix all the current issues with the AArch64 register cache.
...
Fixes all the current issues I've been experiencing.
Scaled back the register cache idea for now so I can actually work on some real instructions.
Tested this work with unit tests so I know it works.
Unit tests are pretty great things.
2014-09-12 06:39:15 -05:00
Ryan Houdek
17d31ecd6c
Fix AArch64 MOVI2R helper function.
...
In the case of a zero immediate, it wouldn't generate code at all.
Also in the case of max u32/u64, use ORN to optimize it.
2014-09-12 05:45:10 -05:00
Fiora
a6c9515b00
JIT: unify subfcx and addcx code
...
Again, shorter and should make future optimizations easier.
2014-09-12 00:04:42 -07:00
Fiora
5d80145dc0
JIT: unify subfe/submex/subfex/adde/addmex/addzex code
...
Shorter, plus should make future optimizations easier.
2014-09-12 00:04:42 -07:00
Zhuowei Zhang
3eaeeee41d
Parse input as hex instead of decimal to match display values in the debugger's register view
2014-09-12 00:21:49 -04:00
skidau
64b21a4812
Merge pull request #1054 from comex/i-hate-warnings
...
Fix warnings.
2014-09-12 12:35:47 +10:00
Ryan Houdek
d6ef8dc8c6
Merge pull request #1052 from Sonicadvance1/fix-ppcAnalyst-return
...
Fix the return value of PPCAnalyst.
2014-09-11 21:12:38 -05:00
Ryan Houdek
5061a33c29
Merge pull request #1051 from Sonicadvance1/ARM-Common
...
Include a missing include in the ARM emitter's common code.
2014-09-11 21:12:21 -05:00
skidau
4cb25633e1
Merge pull request #1048 from lioncash/discio
...
DiscIO: Minor changes to VolumeDirectory.
2014-09-12 11:31:29 +10:00
Lioncash
669a118063
Merge pull request #1058 from lioncash/semicolon
...
Remove some unnecessary semicolons
2014-09-11 19:56:08 -04:00
Pierre Bourdon
a96618b2e6
Merge pull request #1036 from phire/save-jitil
...
Save JitIL! Fix bug so JitIL actually runs again.
2014-09-11 23:27:59 +02:00
Rohit Nirmal
428ee10463
include CommonTypes.h instead of Common.h, remove unused using.
2014-09-11 17:23:59 -04:00
Rohit Nirmal
9f82df0364
Move "using namespace ArmGen" from headers to sources.
2014-09-11 16:46:43 -04:00
Fiora
18d83a310e
X64Emitter: support shorter mov reg, imm opcodes
...
Also refactor WriteNormalOp a little bit and add comments.
2014-09-11 11:40:30 -07:00
Lioncash
b06ec302d1
Remove some unnecessary semicolons
2014-09-11 13:05:31 -04:00
Scott Mansell
784d3937dd
Fix IsMMIOAddress Check.
2014-09-11 19:12:34 +12:00
comex
42acd61ccb
Fix warnings.
2014-09-11 01:55:43 -04:00
Fiora
5726e0cdfb
JIT: use XCHG in MOVTwo
...
Roughly the same speed or slightly faster depending on CPU; mostly just cleaner
since we don't have to pass in a temp.
2014-09-10 22:17:38 -07:00
Ryan Houdek
b8d4834cb1
Fix the return value of PPCAnalyst.
...
In situations where conditional continue isn't supported + if a JIT doesn't implement a instruction that has the FL_ENDBLOCK flag. This would cause an
infinite loop.
In reality all the JITs should implement every FL_ENDBLOCK instruction regardless, but JITIL doesn't implement tw/twi which are FL_ENDBLOCK
instructions.
2014-09-10 21:33:17 -05:00
skidau
67f7e7e28b
Merge pull request #1040 from RachelBryk/movie-cleanup
...
Movie cleanup
2014-09-11 11:47:55 +10:00
Ryan Houdek
44baab30cf
Include a missing include in the ARM emitter's common code.
2014-09-10 20:39:19 -05:00
Ryan Houdek
581c81ce1c
Merge pull request #1050 from Sonicadvance1/AArch64-sign-extend
...
Add sign extending aliases to the ARM64Emitter.
2014-09-10 20:17:50 -05:00
Ryan Houdek
24f6c98a55
Add sign extending aliases to the ARM64Emitter.
2014-09-10 17:52:54 -05:00
Rohit Nirmal
c0f7cab3f5
Remove extra semicolons at the ends of some lines.
2014-09-10 12:17:38 -04:00
Ryan Houdek
71cb09f1ca
Merge pull request #1027 from rohit-n/change-include
...
Include CommonTypes.h instead of Common.h.
2014-09-10 00:35:16 -05:00
Rachel Bryk
08db8c646b
Cleanup Movie.h/cpp.
2014-09-09 21:23:54 -04:00
Rachel Bryk
571727a5ad
Mass rename static variables to s_*.
2014-09-09 21:22:32 -04:00
Fiora
b3a57ff396
JIT: remove op merging code that served no purpose
...
Dolphin already tracks propagation of immediates, so this code didn't really do
anything useful.
2014-09-09 18:09:23 -07:00
skidau
d1439bc1db
Merge pull request #1041 from RachelBryk/kill-g_CoreStartupParameter
...
Kill Core::g_CoreStartupParameter.
2014-09-10 11:00:42 +10:00
Ryan Houdek
16f054db47
Merge pull request #1033 from Sonicadvance1/fix-android-x86_64
...
Fix building x86_64 on Android.
2014-09-09 18:52:27 -05:00
Lioncash
9601f5ec5f
DiscIO: Get rid of some casts and a c_str call in VolumeDirectory
2014-09-09 19:01:20 -04:00
Lioncash
b34f2a78f5
DiscIO: Simplify GetUniqueID in VolumeDirectory
2014-09-09 18:57:45 -04:00
Ryan Houdek
09c1ad1631
Merge pull request #753 from FioraAeterna/integeropts
...
JIT64: various integer optimizations
2014-09-09 04:10:30 -05:00
Ryan Houdek
6a7e8899d3
Merge pull request #1035 from FioraAeterna/fixcrxxx
...
JIT: fix a corner case in crXXX
2014-09-09 00:58:53 -05:00
skidau
e8d8713e03
Merge pull request #1017 from zhuowei/tw_fallback_if_constant_ra
...
Fix various issues with the twi/tw instructions
2014-09-09 15:16:25 +10:00
Ryan Houdek
3a205d663c
Fix building x86_64 on Android.
...
Missed a define in x64MemTools for when the thought process was Android == ARM
Also changes the variable we use for choosing which folders to copy to and from our jni file.
This has changed since the x86_64 build target uses the library folder x86-64, which is stupid and annoying.
2014-09-09 00:11:08 -05:00
Ryan Houdek
f09cb723c5
Merge pull request #1044 from lioncash/pedantry
...
Common: Fix code styling in Arm64Emitter
2014-09-08 23:29:19 -05:00
Rachel Bryk
f93aa7087c
Kill Core::g_CoreStartupParameter.
2014-09-09 00:24:49 -04:00
skidau
44c4bc134a
Merge pull request #1046 from FioraAeterna/fixdebug
...
JIT: fix running in debug mode
2014-09-09 14:15:35 +10:00
Fiora
0af1352020
JIT: fix running in debug mode
...
Regression in 7fb6628
.
2014-09-08 21:11:41 -07:00
Ryan Houdek
d9ddc0d9ad
Merge pull request #1042 from lioncash/unnecessary
...
InputCommon: Remove unnecessary breaks in XInput's GetName function
2014-09-08 22:46:58 -05:00
Ryan Houdek
af732dea39
Merge pull request #1043 from lioncash/unused
...
Common: Remove unused variable in MemoryMap_Setup
2014-09-08 22:46:04 -05:00
Ryan Houdek
cfb2c3db28
Merge pull request #1045 from Sonicadvance1/fix-generic
...
Fix Generic build from AArch64 merge.
2014-09-08 22:43:30 -05:00
Ryan Houdek
d5da60619e
Merge pull request #1034 from Sonicadvance1/fix-android-arm-ndk64bit
...
Fix building ARMv7 on the 64bit Android NDK.
2014-09-08 22:42:31 -05:00
Lioncash
bc331ee809
Common: Fix code styling in Arm64Emitter
2014-09-08 23:39:20 -04:00
Ryan Houdek
ed476c997c
Fix Generic build from AArch64 merge.
...
I had missed this file and hadn't tested the branch on my new build system.
2014-09-08 22:24:23 -05:00
Fiora
8fc57d61ba
JIT64: support merged branching for rlwinmx, too
...
Not quite as common a branch instruction as cmpwi, but close.
2014-09-08 20:16:41 -07:00
Fiora
b56117de05
JIT64: optimize some special cases of srawix
...
Shift by 31 and 1, both of which are pretty common, can be done in a few less
instructions. Tested with a hwtest.
2014-09-08 20:15:49 -07:00
Fiora
a95d8cbcb4
JIT64: optimize carry handling
...
Carries are rather common and unpredictable, so do them branchlessly wherever
we can.
2014-09-08 20:15:49 -07:00
Fiora
a570c6b4a4
JIT64: tweak srwx/slwx BindToRegister arguments
...
Register B gets immediately moved into the shift register, so even if a == b
it doesn't need to be loaded.
2014-09-08 20:15:49 -07:00
Fiora
5b77617069
JIT64: use LEA for the "a = b + imm" case of addi
2014-09-08 20:15:48 -07:00
Fiora
9977da0550
JIT64: avoid using LEA for adds when not necessary
2014-09-08 20:15:48 -07:00
Fiora
298f85e152
JIT64: optimize sign-extend
...
Remove some code duplication.
Also remove some comments that no longer apply since x86_32 was dropped.
2014-09-08 20:15:47 -07:00
Fiora
faf6bdfd96
JIT64: Optimize cmpXX
...
Use TEST instead of CMP if we're comparing against 0 (rather common), and
optimize the case of immediate compares further.
2014-09-08 20:15:47 -07:00
Fiora
de662a79b7
JIT64: optimize rlwinmx/rlwinix and friends
...
Take advantage of movzx as a replacement for anding with 0xff or 0xffff, and
abuse loads from the register cache to save ops.
2014-09-08 20:15:46 -07:00
Fiora
858296e1c7
JIT64: optimize multiplication by immediate constants
...
Factor out common code and handle a few more common cases.
2014-09-08 20:15:46 -07:00
Fiora
94c20db369
Rename Log2 and add IsPow2 to MathUtils for future use
...
Also remove unused pow2/pow2f functions.
2014-09-08 20:15:45 -07:00
skidau
0926f1d344
Merge pull request #897 from Sonicadvance1/AArch64-jit
...
Initial AArch64 JIT
2014-09-09 12:34:58 +10:00
Lioncash
22800dc711
Common: Remove unused variable in MemoryMap_Setup
2014-09-08 21:44:03 -04:00
Lioncash
c2578d0668
InputCommon: Remove unnecessary breaks in XInput's GetName function
2014-09-08 21:36:04 -04:00
Ryan Houdek
859f86ac2d
Merge pull request #1037 from lioncash/mem_fn
...
AudioCommon: Remove unnecessary usages of mem_fn
2014-09-08 18:01:33 -05:00
Rohit Nirmal
fbc64984ca
Include CommonTypes.h instead of Common.h.
2014-09-08 15:39:58 -04:00
Lioncash
bf0c4a644b
Merge pull request #1002 from waddlesplash/wx-fixup
...
WiiSaveCrypted: migrate to Core/HW.
2014-09-08 15:20:12 -04:00
Lioncash
789a500ddc
AudioCommon: Remove unnecessary usages of mem_fn
2014-09-08 13:41:02 -04:00
Augustin Cavalier
e601b6f2c5
WiiSaveCrypted: migrate to Core/HW.
...
There's really no reason to have this in DolphinWX, as it does
not use any DolphinWX code.
2014-09-08 13:31:23 -04:00
Scott Mansell
1bbc7b4dbb
JitIL: Fix matching bug in Store Paired.
...
Most non-wii, non-mmu games run now.
2014-09-08 23:57:00 +12:00
Scott Mansell
199377db43
Fix bug in Load Paired so JitIL actually runs again.
...
Was broken in the PowerPCState Register PR a few days ago.
2014-09-08 23:25:18 +12:00
Fiora
ce494a5e4f
JIT: fix a corner case in crXXX
...
It didn't behave correctly with an input of zero, resulting in some games
breaking (at the least, Fight Night 2). This should be fixed now.
Also clean it up, add a few comments, and fix some variants of the instruction
that are so rare that they probably never got tested.
2014-09-08 04:16:50 -07:00
Ryan Houdek
652b8602d3
Fix building ARMv7 on the 64bit Android NDK.
...
Google has gotten their act together and fixes a few of the signal handling headers.
Change over to a header that works on both r10 32bit and r10 64bit.
32bit has the old "broken" headers as in some didn't even exist.
64bit has the "fixed" headers that one would expect on any regular unix system.
2014-09-08 06:05:03 -05:00
skidau
9529667eae
Merge pull request #1032 from FioraAeterna/fixnocc
...
JIT: fix conditional-continue=off
2014-09-08 17:34:28 +10:00
Fiora
3855396422
JIT: fix conditional-continue=off
2014-09-08 00:28:56 -07:00
Ryan Houdek
d3a742eb38
Merge pull request #1028 from Sonicadvance1/fix-android-cmake
...
Fix a few minor bugs that appeared in the latest android cmake script
2014-09-08 02:28:21 -05:00
skidau
dae162c2b5
Merge pull request #971 from TurboK234/EFB_copies_togglefix
...
Remove "EFB Copies Disabled" option from hotkey toggling cycle.
2014-09-08 17:05:52 +10:00
comex
7fb6628789
Merge pull request #1024 from comex/abi-cleanup
...
ABI cleanup
2014-09-08 01:03:36 -04:00
comex
4dc090643d
Remove ABI_AlignStack/ABI_RestoreStack and the noProlog option to ABI_CallFunctionRR.
...
The latter being true was the only case where the former would do
anything, and it was never true. They became obsolete with x86's
removal.
2014-09-08 01:00:10 -04:00
comex
c5c0b36046
Remove the inaccurately named ABI_PushAllCalleeSavedRegsAndAdjustStack (it didn't preserve FPRs!) and replace with ABI_PushRegistersAndAdjustStack.
...
To avoid FPRs being pushed unnecessarily, I checked the uses: DSPEmitter
doesn't use FPRs, and VertexLoader doesn't use anything but RAX, so I
specified the register list accordingly. The regular JIT, however, does
use FPRs, and as far as I can tell, it was incorrect not to save them in
the outer routine. Since the dispatcher loop is only exited when
pausing or stopping, this should have no noticeable performance impact.
2014-09-08 01:00:10 -04:00
comex
2dafbfb3ef
Improve code and clarify parameters to ABI_Push/PopRegistersAndAdjustStack.
...
- Factor common work into a helper function.
- Replace confusingly named "noProlog" with "rsp_alignment". Now that
x86 is not supported, we can just specify it explicitly as 8 for
clarity.
- Add the option to include more frame size, which I'll need later.
- Revert a change by magumagu in March which replaced MOVAPD with MOVUPD
on account of 32-bit Windows, since it's no longer supported. True,
apparently recent processors don't execute the former any faster if the
pointer is, in fact, aligned, but there's no point using MOVUPD for
something that's guaranteed to be aligned...
(I discovered that GenFrsqrte and GenFres were incorrectly passing false
to noProlog - they were, in fact, functions without prologs, the
original meaning of the parameter - which caused the previous change to
break. This is now fixed.)
2014-09-08 00:58:56 -04:00
Ryan Houdek
707d21e36b
Fix a few minor bugs that appeared in the latest android cmake script
2014-09-07 23:18:43 -05:00
skidau
262fa1de02
Merge pull request #1026 from lioncash/str
...
DolphinWX: Use std::string over char arrays in MemoryView
2014-09-08 10:40:16 +10:00
Lioncash
9db370ea40
DolphinWX: Use std::string over char arrays in MemoryView
2014-09-07 20:36:02 -04:00
skidau
c70f31cca9
Merge pull request #1016 from lioncash/vardecl
...
Common: Inline declare some loop variables in ArmEmitter
2014-09-08 10:24:38 +10:00
Zhuowei Zhang
e63f7c01a3
Fix twi/tw instructions being switched in Jit64 and JitArm; downgrade the ERROR_LOG printed when tw is ran in the interpreter to DEBUG
2014-09-07 13:35:18 -04:00
Zhuowei Zhang
6026a3f76f
When loading the map file for a DOL/ELF file, extract only the filename from the DOL/ELF'S path
2014-09-07 11:58:32 -04:00
Zhuowei Zhang
b70c0ae521
for tw/twi instructions, force propagated constant into a register to avoid "a1 cannot be immediate" errors from the emitter
2014-09-07 11:31:51 -04:00
Lioncash
e218c38721
DolphinWX: Remove unnecessary unique_ptr get calls in InputConfigDiag
2014-09-07 01:59:56 -04:00
Lioncash
a38093729e
Common: Inline declare some loop variables in ArmEmitter
2014-09-07 00:26:26 -04:00
skidau
7863295555
Used a constant for the default high value.
2014-09-07 14:25:06 +10:00
skidau
8abe9622fd
Route the wiimote speaker to the sound mixer (the host system's speakers). Emulated Wiimote speaker sounds will go to the host system's speakers. Real Wiimotes will continue to use their own speaker for Wiimote speaker sounds. All Wiimote speaker sound can be disabled by unchecking the "Enable Speaker Data" option.
...
Each emulated Wiimote can have its speaker routed from left to right via the "Speaker Pan" setting in the emulated wiimote settings dialog. Use any value from -127 for leftmost to 127 for rightmost with 0 being the centre.
Added code in the InputConfig to use a spin control for non-boolean values.
Defaulted the setting of "Enable Speaker Data" to disabled.
2014-09-07 14:16:20 +10:00
skidau
3caab10df8
Hooked up the emulated Wiimote speaker.
...
The Wiimotes are positioned as follows:
Wiimote 0 = Center
Wiimote 1 = Left
Wiimote 2 = Right
Wiimote 3 = Center
The Wiimote speaker output can be disabled via the "Enable Speaker Data" checkbox in the Wiimote settings.
2014-09-07 14:16:20 +10:00
skidau
b801c7f8f1
Merge pull request #1015 from zhuowei/update_debugger_menu_at_startup
...
Update debugger button states at startup to disable non-functional JIT menu items
2014-09-07 14:14:11 +10:00
skidau
a21ad12f1e
Merge pull request #1014 from RachelBryk/active-movie
...
Add an IsMovieActive function.
2014-09-07 14:05:59 +10:00
Rachel Bryk
5a163ec5e6
Add an IsMovieActive function.
...
Makes things a bit simpler, since this is a common check.
2014-09-06 23:44:25 -04:00
skidau
741c0e2d50
Merge pull request #587 from RachelBryk/recording-race
...
Don't allow starting recording in states that will cause a crash or othe...
2014-09-07 13:41:57 +10:00
Zhuowei Zhang
e0a909c076
Update debugger button states at startup to disable non-functional JIT menu entries
2014-09-06 23:38:22 -04:00
skidau
213c9a6ba7
Merge pull request #1011 from zhuowei/remove_twi_spam
...
Downgrade the ERROR log printed when twi is executed in interpreter to DEBUG
2014-09-07 13:33:31 +10:00
skidau
28253f4538
Merge pull request #1013 from lioncash/string
...
AudioCommon: Use std::string for the filename parameter of StartLogAudio
2014-09-07 13:32:55 +10:00
Lioncash
daddc3317e
AudioCommon: Use std::string for the filename parameter of StartLogAudio
2014-09-06 23:26:08 -04:00
Zhuowei Zhang
2ac2cbbcf6
Downgrade the ERROR log printed when twi is executed in interpreter to DEBUG
2014-09-06 22:36:17 -04:00
Ryan Houdek
cdd2bd6cdc
Add a couple of asserts to the Arm64 JIT to make sure we can load everything.
2014-09-06 20:14:53 -05:00
Ryan Houdek
82dae72b63
Add AArch64 target to the backpatch header.
...
This fixes the issue of a million warnings spawning from this header.
2014-09-06 20:14:53 -05:00
Ryan Houdek
5233c87dec
Add immediate support to the GPR cache.
2014-09-06 20:14:53 -05:00
Ryan Houdek
2b06257e16
Beginning of the AArch64 JIT branch.
...
This is the bare minimum required to run a few games on AArch64.
Was able to run starfield and Animal Crossing to the Nintendo logo.
QEmu emulation is literally the slowest thing in the world, it maxes out at around 12mhz on my Core i7-4930MX.
2014-09-06 20:14:52 -05:00
Ryan Houdek
f107b5e176
[AArch64-emitter] Initial work on a emitter for 64bit ARM.
...
I've tested a few instruction encodings and am expecting most to work as long as one stays away from VFP/SIMD.
This implements mostly instructions to bring up an initial JIT with integer support.
This can be improved to allow ease of use functions in the future, dealing with the raw imms/immr encodings is probably the worst thing ever.
2014-09-06 20:13:44 -05:00
Shawn Hoffman
9a9fd8752a
Quiet initialization order warning in CFrame
2014-09-06 13:01:24 -07:00
shuffle2
9302218a19
Merge pull request #851 from lioncash/logg
...
Common: Kill off duplicate log warning definitions
2014-09-06 12:35:19 -07:00
Ryan Houdek
01b90c1007
Fix ArmEmitter's asserts from failing to compile.
...
Changed them all from debug asserts to regular asserts, since they shouldn't only be run at debug time.
2014-09-06 15:11:39 -04:00
Lioncash
690ed8580c
Common: Kill off duplicate log warning definitions
...
Also embed the log checks rather than using macros
2014-09-06 15:11:29 -04:00
shuffle2
85fd8c2bec
Merge pull request #983 from lioncash/lol-str
...
Common: Fix a potential infinite loop in ReplaceAll
2014-09-06 12:00:23 -07:00
shuffle2
227b79bf84
Merge pull request #1004 from comex/warning-fixes-2
...
Two trivial warning fixes
2014-09-06 11:56:32 -07:00
shuffle2
1b23432d34
Merge pull request #990 from rohit-n/fix-formatting
...
Fix formatting
2014-09-06 11:54:17 -07:00
shuffle2
218adb5515
Merge pull request #1003 from lioncash/wii-save-import
...
DolphinWX: Fix Wii save importing
2014-09-06 11:52:33 -07:00
shuffle2
d0d6f70980
Merge pull request #996 from RachelBryk/clear-mc-bongos
...
Clear movie variables that might have been set from a previous run.
2014-09-06 11:46:21 -07:00
shuffle2
f2237ecd64
Merge pull request #985 from skidau/dsp-loop-hle
...
Moved the loop check back to a post-loop condition in DSP HLE AX ucode.
2014-09-06 11:44:27 -07:00
shuffle2
87b6c8d991
Merge pull request #988 from shuffle2/hide-menubar
...
Fix render to main crashing in fullscreen.
2014-09-06 11:43:50 -07:00
comex
30e577fda7
Revert "Merge pull request #993 from phire/fix_getOpInfo"
...
This reverts commit a8f724e7c2
, reversing
changes made to 7a1eca149f
.
For why I'm reverting this entirely, see pull request 997.
2014-09-06 13:46:17 -04:00
comex
48ef6fcad1
Fix signed/unsigned warning in GeckoCode.cpp.
...
No actual bug here.
2014-09-06 13:34:00 -04:00
comex
917c6d324a
Remove unused functions in TextureDecoder.
2014-09-06 13:32:54 -04:00
comex
6c382f6627
Merge pull request #926 from comex/ppcstate-reg
...
PowerPCState register (and rationalize register usage, and add some registers to replace it)
2014-09-06 13:24:38 -04:00
comex
6fd0333c14
Symbolicize explicit uses of x86 registers where possible (GPRs only for now).
...
Uses are split into three categories:
- Arbitrary (except for size savings) - constants like RSCRATCH are
used.
- ABI (i.e. RAX as return value) - ABI_RETURN is used.
- Fixed by architecture (RCX shifts, RDX/RAX for some instructions) -
explicit register is kept.
In theory this allows the assignments to be modified easily. I verified
that I was able to run Melee with all the registers changed, although
there may be issues if RSCRATCH[2] and ABI_PARAM{1,2} conflict.
2014-09-06 13:18:31 -04:00
comex
100a7ac97b
Actually add RCX, plus RDI and RSI on Unix.
...
And switch to a register order that consistently prefers callee-save to
caller-save. phire suggested putting rdi/rsi first, even though they're
caller-save, to save code space; this is more conservative and I can do
that later.
2014-09-06 13:16:21 -04:00
comex
8dea26762d
Rationalize temporary register usage.
...
Rather than using a variety of registers including RSI, ABI_PARAM1
(either RCX or RDI), RCX, and RDX, the rule is:
- RDI and RSI are never used. This allows them to be allocated on Unix,
bringing parity with Windows.
- RDX is a permanent temporary register along with RAX (and is thus not
FlushLocked). It's used frequently enough that allocating it would
probably be a bad idea, as it would constantly get flushed.
- RCX is allocatable, but is flushed in two situations:
- Non-immediate shifts (rlwnm), because x86 requires RCX to be used.
- Paired single loads and stores, because they require three
temporary registers: the helper functions take two integer
arguments, and another register is used as an index to get the
function address.
These should be relatively rare.
While we're at it, in stores, use the registers directly where possible
rather than always using temporaries (by making SafeWriteRegToReg
clobber less). The address doesn't need to be clobbered in the usual
case, and on CPUs with MOVBE, neither does the value.
Oh, and get rid of a useless MEMCHECK.
This commit does not actually add new registers to the allocation order;
it is intended to test for any performance or correctness issues
separately.
2014-09-06 13:16:20 -04:00
comex
67cdb6e07a
Factor code from ABI_CallFunctionRR and GetWriteTrampoline into a helper, and fix a special case.
...
The special case is where the registers are actually to be swapped (i.e.
func(ABI_PARAM2, ABI_PARAM1); this was previously impossible but would
be ugly not to handle anyway.
2014-09-06 13:16:20 -04:00
comex
487eb967eb
Fix a bug with update loads in memcheck mode.
...
In two cases, my old code was using a temporary register but not saving
it properly; it basically worked by accident (an otherwise useless
FlushLock was causing CallerSavedRegistersInUse to think it was in use
by the GPR cache, even though it was actually a temporary).
I'm going to modify this in the next commit to use RDX, but I didn't
want to leave a broken revision in the middle.
2014-09-06 13:16:20 -04:00
comex
48891c6359
Reserve a register for ppcState.
...
The register is RBP, previously in the GPR allocation order. The next
commit will investigate whether there are too few GPRs (now or before),
but for now there is no replacement.
Previously, it was accessed RIP relatively; using RBP, anything in the
first 0x100 bytes of ppcState (including all the GPRs) can be accessed
with three fewer bytes. Code to access ppcState is generated constantly
(mostly by register save/load), so in principle, this should improve
instruction cache footprint significantly. It seems that this makes a
significant performance difference in practice.
The vast majority of this commit is mechanically replacing
M(&PowerPC::ppcState.x) with a new macro PPCSTATE(x).
Version 2: gets most of the cases which were using the register access
macros.
2014-09-06 13:16:18 -04:00
Lioncash
5b837a11e4
DolphinWX: Fix Wii save importing
...
Calls to reserve don't resize the array to accomodate the given data size.
These vectors should be initialized with the size directly.
2014-09-06 12:44:11 -04:00
Pierre Bourdon
d75bb614e7
Merge pull request #998 from waddlesplash/wx-fixup
...
Migrate PNGs from DolphinWX to the Data/Resources directory.
2014-09-06 18:07:20 +02:00
Pierre Bourdon
06bdc49957
Merge pull request #999 from lioncash/copy-assign
...
AudioCommon: Make WaveFileWriter inherit NonCopyable
2014-09-06 17:52:11 +02:00
Pierre Bourdon
2333532aab
Merge pull request #1000 from lioncash/preproc
...
Common: Remove HAVE_CXX11_SYNTAX define from Common.h
2014-09-06 17:50:15 +02:00
Augustin Cavalier
a15d9ed0b6
Migrate PNGs from DolphinWX to the Data/Sys/Resources directory.
...
* Aren't used by anything (yet) as DolphinWX compiles XPM versions into the build
* Moved the .desktop file as well, adjusted INSTALL rule accordingly
2014-09-06 11:47:21 -04:00
Lioncash
1d66b1d3f4
Common: Remove HAVE_CXX11_SYNTAX define from Common.h
...
All the compilers we support have C++11 support now, so this isn't needed.
2014-09-06 11:32:19 -04:00
Lioncash
27cecf46a8
AudioCommon: Make WaveFileWriter inherit NonCopyable
2014-09-06 11:27:36 -04:00
Rohit Nirmal
629ceaf2b1
Split some parts of UpdateBoundingBox into multiple lines. Also,
...
fix issues causing failure on Lint.
2014-09-06 09:49:27 -05:00
Rachel Bryk
2a82b591e1
Clear movie variables that might have been set from a previous run.
2014-09-06 07:10:41 -04:00
skidau
a8f724e7c2
Merge pull request #993 from phire/fix_getOpInfo
...
GetOpInfo: Assert on all invalid Ops.
2014-09-06 19:50:15 +10:00
Scott Mansell
23b54117cd
GetOpInfo: Assert on all invalid Ops.
...
GetOpInfo was returning null pointers for invalid ops in subtables
instead of asserting an error. This was causing segfaults when the
jit tried to jit invalid code.
2014-09-06 20:09:30 +12:00
Scott Mansell
1963717855
Panic on invalid reads/writes for non-mmu games.
...
Previously it would fall through to the mmu code path, and raise a dsi
exception, which it would never check for, so it would continue
executing code silently.
2014-09-06 19:16:54 +12:00
Scott Mansell
96e92d33b7
Don't write to EXRAM if it doesn't exist.
...
Previously, if a gamecube game wrote to an EXRAM address, dolphin would
segfault.
2014-09-06 19:16:02 +12:00
Lioncash
e035ac5591
Merge pull request #992 from phire/betterassert
...
Make Invalid instruction debug assert a non-debug assert.
2014-09-06 03:12:19 -04:00
Scott Mansell
50657548b1
Make Invalid instruction debug assert a non-debug assert.
...
Users need to be able to see this error message. Otherwise they can't
report bugs.
2014-09-06 19:04:34 +12:00
Rohit Nirmal
1ecb318bcc
Fix some formatting (new lines on collapsed single-line conditionals,
...
new lines for opening braces).
2014-09-06 01:23:05 -05:00
Ryan Houdek
b7f19ca740
Merge pull request #989 from lioncash/param
...
AudioCommon: Remove unused parameter from OpenSLESStream constructor
2014-09-06 01:15:59 -05:00
Ryan Houdek
cc9e881844
Merge pull request #987 from rohit-n/more-dead-code
...
Remove more dead and redundant code.
2014-09-06 01:15:20 -05:00
Lioncash
019ef844d4
AudioCommon: Remove unused parameter from OpenSLESStream constructor
2014-09-06 01:42:56 -04:00
shuffle2
a831121683
Merge pull request #979 from shuffle2/fix-memcard-flush3
...
raw memcards: revert last change so flushes are still time-driven.
2014-09-05 22:27:12 -07:00
Shawn Hoffman
7308b809d8
Fix render to main crashing in fullscreen.
...
When hiding the menubar (for going fullscreen with render to main),
keep a functionally-duplicate menubar around for servicing menubar
actions.
2014-09-05 22:21:09 -07:00
Rohit Nirmal
debe3999b5
Remove more dead and redundant code.
2014-09-05 23:22:48 -05:00
Shawn Hoffman
96d7b642f4
raw memcards: revert last change so flushes are still time-driven.
...
It turns out the actual slowdown was from memcpy'ing the entire
memcard buffer...not synchronization overhead or the flush itself.
2014-09-05 21:16:59 -07:00
skidau
9800252a28
Re-added the acc_end_reached logic for AXWii.
2014-09-06 11:57:37 +10:00
Dolphin Bot
387e1e3f21
Merge pull request #984 from FioraAeterna/fixmergedbclr
...
JIT: fix branch merging with bclr
2014-09-06 03:22:08 +02:00
skidau
0154b8edfd
Moved the loop check back to a post-loop condition in DSP HLE AX ucode. This brings DSP HLE in line with DSP LLE and fixes issue 7627. This effectively reverts ef501137be
which is not needed as the loop check is now corrected.
2014-09-06 11:02:32 +10:00
Fiora
4ec8f83a1a
JIT: fix branch merging with bclr
2014-09-05 13:58:06 -07:00
lioncash
3e0c04a83e
Common: Fix a potential infinite loop in ReplaceAll
...
Prior to this change, it was possible to cause an infinite loop by making the string to be replaced and the replacing string the same thing.
e.g.
std::string some_str = "test";
ReplaceAll(some_str, "test", "test");
This also changes the replacing in a way that doesn't require starting from the beginning of the string on each replacement iteration.
2014-09-05 15:12:17 -04:00
shuffle2
674494e472
Merge pull request #980 from rohit-n/remove-dead-code
...
Remove dead code.
2014-09-05 11:09:04 -07:00
shuffle2
0576046fdd
Merge pull request #972 from Sonicadvance1/fix-intel-windows
...
Work around Intel's failings with buffer_storage
2014-09-05 11:06:49 -07:00
Fiora
801153301f
Remove debug printf from earlier commit
2014-09-05 10:31:29 -07:00
Fiora
07e0c917c6
Revert "JIT64: optimize CA calculations"
2014-09-05 10:26:30 -07:00
Rohit Nirmal
cf8d1c9197
FileHandlerARC: Remove FileHandlerARC.
2014-09-05 12:53:41 -04:00
Rohit Nirmal
a3d9b22c27
BannerLoaderWii: Removed #if 0'd code.
2014-09-05 12:52:29 -04:00
comex
97420c6ec6
Merge pull request #852 from FioraAeterna/optimizeca
...
JIT64: optimize CA calculations
2014-09-05 11:52:02 -04:00
comex
aa1df21bb6
Merge pull request #947 from FioraAeterna/rsqrte
...
JIT: implement frsqte
2014-09-05 11:48:00 -04:00
comex
e7f03dd066
Merge pull request #948 from comex/vao-fix
...
Don't switch to a vertex array object of 0.
2014-09-05 11:46:28 -04:00
comex
d4b1d42a21
Merge pull request #975 from FioraAeterna/jittimerinline
...
JIT: completely inline timer reading
2014-09-05 11:45:22 -04:00
shuffle2
3d88dfbad9
Merge pull request #701 from LPFaint99/memcard
...
GCI Folder: try to reserve space for new saves from the current game
2014-09-04 23:02:23 -07:00
shuffle2
ee450acb54
Merge pull request #973 from rohitnirmal/remove-using-namespace
...
Controller Interface: Remove "using namespace" in header file.
2014-09-04 22:58:22 -07:00
Ryan Houdek
30fef298bb
Revert "Don't sleep in the event thread"
2014-09-05 00:50:40 -05:00
Fiora
2f9e9bf1fc
JIT: completely inline timer reading
...
Should be a bit faster on games that heavily use the timer.
2014-09-04 21:55:36 -07:00
Rohit Nirmal
b0060e5184
Controller Interface: Remove "using namespace" in header file.
2014-09-04 23:02:25 -05:00
LPFaint99
e6e50ee621
GCI Folder: try to leave 10% of the blocks free. only applies if the save is not for the current game
2014-09-04 20:59:38 -07:00
shuffle2
a9a6270982
Merge pull request #774 from magcius/texdecode-cleanup
...
Clean up the TextureDecoder and some related things
2014-09-04 19:37:49 -07:00
shuffle2
fb3a668767
Merge pull request #974 from lioncash/wiki-links
...
DolphinWX: Simplify wiki link construction
2014-09-04 19:35:28 -07:00
shuffle2
9c41b17b41
Merge pull request #945 from MikeRavenelle/inputConfig
...
Edit Auto iterate through configuration inputs with toggle
2014-09-04 19:34:01 -07:00
shuffle2
f09978ddeb
Merge pull request #896 from magcius/event-thread-bozo
...
Don't sleep in the event thread
2014-09-04 19:33:49 -07:00
Jasper St. Pierre
76b4dbdf28
TextureDecoder: Clean up the code style
...
For a long time, we've had ugly and inconsistent function names here as
helpers, names like "decodebytesRGB5A3rgba" which are absolutely
incomprehensible to understand. Fix this by introducing a new consistent
naming scheme, where the above function now becomes "DecodeBytes_RGB5A3".
2014-09-04 18:36:57 -07:00
Jasper St. Pierre
0b7bed4a52
TextureDecoder: Simplify how the reference texture decoder works
...
Instead of having three separate functions and checking the tlutfmt in a
variety of places, just do it once in a helper method. This is already
for the slow path either in our Generic decoder or in our Software
renderer, so it doesn't matter that this is slower.
x64 will continue using the separate functions for speed.
2014-09-04 18:36:57 -07:00
Jasper St. Pierre
ea1245d191
TextureDecoder: Pass the TLUT address straight into the texture decoder
...
This removes the requirement for the TextureDecoder to have access to
global texture memory.
2014-09-04 18:36:57 -07:00
Jasper St. Pierre
fcd4ecc942
TextureDecoder: Add an enum for the TLUT formats
...
Quick code cleanup. The enum names and values come from libogc.
2014-09-04 18:36:56 -07:00
Jasper St. Pierre
32da01edec
TextureDecoder: Rearrange header slightly
...
Put the two Decode APIs together.
2014-09-04 18:36:56 -07:00
Jasper St. Pierre
f975307016
TextureDecoder: Add some statics to some of our helper functions
...
I know these are already inline, but this makes it more clear that
they're helper functions to be used in this file only.
2014-09-04 18:36:56 -07:00
Jasper St. Pierre
a8e591dc73
VideoCommon: Remove support for decoding to ARGB textures
...
The D3D / OGL backends only ever used RGBA textures, and the Software
backend uses its own custom code for sampling. The ARGB path seems to
just be dead code.
Since ARGB and RGBA formats are similar, I don't think this will make
the code more difficult to read or unable to be used as
reference. Somebody who wants to use this code to output ARGB can simply
modify the MakeRGBA function to put the shift at the other end.
2014-09-04 18:36:56 -07:00
Jasper St. Pierre
9438a30384
VideoCommon: Start putting common texture decoding code in TextureDecoder_Common
...
This pulls all the duplicate code from TextureDecoder_Generic /
TextureDecoder_x64 out and puts it in a common file. Out custom font
used for debugging the texture cache is also pulled out and put in a
common "sfont.inc" file. At some point we should also combine this font
with the other six binary fonts we ship.
2014-09-04 18:36:53 -07:00
Lioncash
6369173981
DolphinWX: Simplify wiki link construction
2014-09-04 21:30:33 -04:00
skidau
73fc45db68
Merge pull request #967 from skidau/SyncGPU-SaveState
...
Added the EmuRunningState check to the GPU thread's FIFO loop
2014-09-05 11:24:46 +10:00
Jasper St. Pierre
bfb2c04ace
TextureDecoder: Remove unused function
...
GetPC_TexFormat was never used. It was added in commit d02426a
, with the
only user being commented out code. The commented out code was later
removed in 9893122
, but the implementation stayed.
2014-09-04 17:32:06 -07:00
Jasper St. Pierre
6682a2fadd
TextureDecoder: Fix a RGBA/BGRA copy/paste typo
...
We were decoding to BGRA32 textures in our RGBA32 texture decoder. Since
this is the same for the BGRA32 decoder implementation, this is most
likely a copy/paste typo, rather than the texture actually being
bit-swapped. Fix this.
I'm not sure of any games that use the C14X2 texture format, so I'm not
sure this fixes any games, but it does make the code cleaner for when we
clean it up in the future, and merge some of these similar loops.
2014-09-04 17:30:53 -07:00
Jasper St. Pierre
a5297f6da8
PixelEngine: Remove unused AllowIdleSkipping and all references to it
2014-09-04 17:25:59 -07:00
Jasper St. Pierre
5cb5a6ecd2
Don't sleep in the event thread
...
The person who wrote this seemed to misunderstand how XPending and
XNextEvent actually work. XNextEvent will wait in poll if there's
no event yet, meaning that we don't need to sleep after we process
all the events; the kernel will sleep for us.
This changes indentation, so view with -w or a similar feature to
understand what's actually changed here.
2014-09-04 17:24:51 -07:00
MikeRavenelle
411c060504
Checkbox for iteration
...
Added the option to handle whether the user wants to iterate through the
assignment of button mappings or assign them one at a time.
fixed formatting issues and code style.
I excluded this option from the config file. This stopped the check box value and the boolean from becoming offset. Since the option should always start as false.
This still causes an issue with the Wiimote input, since the class variable that keeps the state will be wiped, but the check box value will stay the same after closing/reopening without closing the entire Wiimote configuration. I am looking for a way to resolve this.
I also reduced wait time to 2.5 seconds vs. the 5 seconds previously. Seemed to be a little long.
These changes apparently did not go through.
This should fix the Wiimote issue.
2014-09-04 19:23:04 -05:00
MikeRavenelle
ffa6572116
Auto iterate through configuration inputs
...
Allows user to map all inputs seamlessly without having to
click on each button.
Also increased button timeout to 5 seconds from 1.5 due to pita.
Motion controls are not included since they will be special cases.
2014-09-04 19:05:52 -05:00
Sonicadvance1
e32b2e1771
Work around Intel's failings with with buffer_storage
2014-09-04 19:03:49 -05:00
TurboK234
b7ecaf6111
Added OSD comment if EFB Copies are disabled.
2014-09-05 01:42:40 +03:00
TurboK234
18e13aacf7
Remove "EFB Copies Disabled" option from hotkey toggling cycle.
2014-09-05 00:12:04 +03:00
Yuriy O'Donnell
d8d9bc8c6c
Render: Implemented simple render target pool
...
This avoids creating and destroying render targets every frame,
which is a significant CPU overhead.
Old render targets are destroyed after 3 frames.
2014-09-04 22:21:06 +02:00
Dolphin Bot
830a03c540
Merge pull request #957 from degasus/frame_skipping
...
VideoCommon: rewrite frame skipping code
2014-09-04 18:27:19 +02:00
shuffle2
af7881474e
Merge pull request #958 from degasus/xf_cleanup
...
VideoCommon: remove XFReg copy optimization
2014-09-04 09:22:19 -07:00
degasus
8b84ddce9a
VideoCommon: rewrite frame skipping code
2014-09-04 18:07:39 +02:00
degasus
ef6f6a7fa9
VideoCommon: remove XFReg copy optimization
...
This code is just ugly and I doubt there is a way that copying twice is faster.
2014-09-04 17:56:17 +02:00
shuffle2
127fc1bdc1
Merge pull request #965 from FioraAeterna/srawixzero
...
JIT: remove srawix fallback
2014-09-04 08:44:33 -07:00
shuffle2
b5e18993f9
Merge pull request #964 from RachelBryk/typo
...
Fix a typo introduced by 5adbc83
in ControllerEmu.cpp.
2014-09-04 08:42:22 -07:00
lioncash
9f48f02514
Core: Make the tables in ARDecrypt.cpp static
2014-09-04 09:29:34 -04:00
skidau
b2c743157d
Merge pull request #969 from lioncash/windows-stuff
...
Common: Remove unused header from Thread.cpp
2014-09-04 23:22:52 +10:00
lioncash
bd91e8b0c8
Common: Remove unused header from Thread.cpp
...
This define isn't even used in the Windows builds.
2014-09-04 09:15:18 -04:00
lioncash
4b329a0a75
Core: Fix variable prefixing of statics in Core.cpp
...
These aren't globals.
2014-09-04 08:26:15 -04:00
skidau
86db0bf8c3
Added the EmuRunningState check to the GPU thread's FIFO loop so that the GPU thread services any waiting save states. This is needed for games that have the Sync GPU option enabled.
2014-09-04 22:02:21 +10:00
Rachel Bryk
1cc153b4ed
Fix a typo introduced by 5adbc83
in ControllerEmu.cpp.
2014-09-04 05:00:53 -04:00
Rachel Bryk
345b608d64
Change IniFile::Section::Set() with default value to use a template.
2014-09-04 03:29:49 -04:00
Fiora
a63b9f6713
JIT: remove srawix fallback
...
As far as I can tell, this has literally been here since the start of the git
history; maybe it was stubbed out because the author wasn't sure it was right?
It matches the PPC/Broadway manuals perfectly, though.
2014-09-03 23:39:52 -07:00
LPFaint99
f6d89c5c98
GCI Folder: if there are too many files in the folder, try to leave free directory entries.
...
Rule: Load first 112 files, any remaining files in the folder are ignored unless they are the same gameid as the current game
2014-09-03 21:15:41 -07:00
shuffle2
46c18aa909
Merge pull request #836 from lioncash/initlist
...
Core: Initialize all JITIL RegInfo members in the initializer list.
2014-09-03 21:03:48 -07:00
shuffle2
329410074c
Merge pull request #962 from lioncash/casing
...
OGL: Fix constant casing in RasterFont.
2014-09-03 21:03:29 -07:00
Rohit Nirmal
732bb7beb1
Change NULL to nullptr.
2014-09-03 22:22:12 -05:00
Lioncash
ffe6bcf22f
VSProps: Add C4351 to the list of disabled warnings in Base.props
2014-09-03 23:07:19 -04:00
Lioncash
956b0708b4
Core: Initialize all JITIL RegInfo members in the initializer list.
2014-09-03 23:06:05 -04:00
Lioncash
cf390ba537
OGL: Make rasters 2D array static in RasterFont
2014-09-03 22:59:13 -04:00
Lioncash
89557f6c2f
OGL: Fix constant casing in RasterFont
2014-09-03 22:59:05 -04:00
shuffle2
4fcb633df5
Merge pull request #961 from RachelBryk/logs
...
Read the config file before enabling logs.
2014-09-03 17:20:11 -07:00
Rachel Bryk
22d2c7d053
Read the config file before enabling logs.
2014-09-03 19:50:02 -04:00
shuffle2
1f6f01e2a0
Merge pull request #955 from skidau/geckocodes-mmio
...
Added code to patch the codehandler's MMIO address
2014-09-03 15:33:57 -07:00
shuffle2
05cd06539b
Merge pull request #960 from lioncash/preproc-stuff
...
Common: Make TITLEID_SYSMENU a static const variable in NandPaths.h
2014-09-03 15:22:32 -07:00
shuffle2
29ef22fd81
Merge pull request #871 from shuffle2/hide-menubar
...
Re-implement hiding of the menubar in fullscreen with render to main.
2014-09-03 15:21:33 -07:00
Dolphin Bot
7a18add39f
Merge pull request #959 from FioraAeterna/fixtimer
...
JIT: fix regression in timer patch
2014-09-04 00:20:28 +02:00
lioncash
a687cc556b
Common: Make TITLEID_SYSMENU a static const variable in NandPaths.h
2014-09-03 18:03:23 -04:00
skidau
0da22d687d
Added code to patch the codehandler's MMIO address to the currently running system. Added code to detect the location of where the code list should be. This allows any Gecko code handler to be used. Replace the codehandler.bin file with the code handler to be used (e.g. codehandleronly.bin).
2014-09-04 07:44:45 +10:00
Fiora
068b5c26f4
JIT: fix regression in timer patch
2014-09-03 14:36:38 -07:00
Fiora
1b50f9df14
JIT: implement fres
...
Mostly a straightforward translation of the interpreter code, with a few
tricksy optimizations and fallbacks for rare paths.
2014-09-03 12:15:30 -07:00
Fiora
c72a133206
JIT: implement frsqrte
...
Mostly a straightforward translation of the interpreter code, with a few
tricksy optimizations and fallbacks for rare paths.
2014-09-03 11:21:04 -07:00
Dolphin Bot
e1248599eb
Merge pull request #868 from FioraAeterna/bmi
...
x64Emitter: add BMI1/BMI2 support
2014-09-03 19:24:27 +02:00
lioncash
f69e6ef16f
Common: Remove unnecessary define check in Log2
2014-09-03 13:04:48 -04:00
Fiora
5088a2b4e2
x64Emitter: add BMI1/BMI2 support
...
TZCNT and LZCNT use a completely different encoding scheme, so they should
probably go in a separate patch.
Also add some tests.
2014-09-03 10:04:01 -07:00
skidau
08715167a8
Added code to patch the codehandler's MMIO address to the currently running system. Added code to detect the location of where the code list should be. This allows any Gecko code handler to be used. Replace the codehandler.bin file with the code handler to be used (e.g. codehandleronly.bin).
2014-09-04 00:48:52 +10:00
shuffle2
b583879c2a
Merge pull request #944 from delroth/x64emittertest
...
x64EmitterTest: Fake support for all CPU extensions
2014-09-03 03:37:46 -07:00
Shawn Hoffman
fd2343e431
Re-implement hiding of the menubar in fullscreen with render to main.
2014-09-03 03:02:13 -07:00
shuffle2
46c1a0f03b
Merge pull request #733 from lioncash/readability
...
DolphinWX: More readable variable names in BreakpointView
2014-09-03 01:28:17 -07:00
Shawn Hoffman
30dd2809a7
Prevent changing adapters during emulation and VideoConfigDiag cleanup
...
Author: https://github.com/Anti-Ultimate/dolphin
2014-09-03 00:35:23 -07:00
Dolphin Bot
6e2b873ec1
Merge pull request #781 from RachelBryk/ControlState
...
Change ControlState typedef to double, and change all related floats/dou...
2014-09-03 09:15:51 +02:00
shuffle2
db84a22109
Merge pull request #770 from lioncash/panic
...
Core: Fix case where a panic alert wouldn't be shown in MemoryUtil.cpp
2014-09-03 00:10:12 -07:00
shuffle2
60a772c5e8
Merge pull request #901 from Sonicadvance1/64bit-android-cmake
...
Update the android cmake toolchain file to support 64bit.
2014-09-03 00:09:03 -07:00
Rachel Bryk
5adbc83453
Change ControlState typedef to double, and change all related floats/doubles to use it.
...
Fixes an off by 1 issue related to double->float->double conversion, and eliminates numerous warnings.
2014-09-03 03:08:09 -04:00
comex
64575d565a
Merge pull request #923 from FioraAeterna/fixcallersave
...
JIT: Fix caller-save registers on WIN64
2014-09-03 02:27:44 -04:00
Dolphin Bot
e2dfa603a0
Merge pull request #891 from RachelBryk/netplay-time
...
Allow system time to move forward during netplay.
2014-09-03 08:26:51 +02:00
comex
51a5311d6a
Merge pull request #949 from comex/eviction-policy
...
Evict registers from the cache based on LRU.
2014-09-03 02:22:45 -04:00
shuffle2
50879f5624
Merge pull request #905 from RachelBryk/status-bar-messages
...
Add OSD messages back to status bar.
2014-09-02 23:21:58 -07:00
shuffle2
de71db4864
Merge pull request #925 from shuffle2/xbcd-compat
...
Revert changes to how DInput filters out XInput devices.
2014-09-02 23:21:47 -07:00
shuffle2
532b7bb7da
Merge pull request #893 from rohitnirmal/scan-build-fixes
...
Scan build fixes
2014-09-02 23:15:18 -07:00
shuffle2
d20f5fb861
Merge pull request #946 from ChuckRozhon/fix_cast_bug
...
Fixed bug introduced in PR#803 caused by casting
2014-09-02 22:58:53 -07:00
shuffle2
5468b535c1
Merge pull request #941 from FioraAeterna/eaxemit
...
x64Emitter: add support for shorter EAX forms of instructions
2014-09-02 22:54:53 -07:00
Ryan Houdek
1ad1a9062a
Remove PowerPCState::DebugCount.
...
This value was "helpful" for debugging when the stack got corrupted.
Helpful that if gpr[1](Which is the stack pointer with PPC ABI) is zero then the interpreter would spam huge amounts of annoy text saying that we
managed to get in to a "corrupted" state.
This is incremented every instruction on the interpreter, or every block run on the JIT64....Only if debugging is enabled(JIT64 it is a const
variable)
The message is only outputted when interpreter is used and debugging is enabled.
2014-09-03 00:26:57 -05:00
comex
f5c7f676dc
Evict registers from the cache based on LRU.
...
The old method would always evict the first suitable register, i.e. the
same register every time once the cache got full. The cache doesn't get
terribly often, but the result is pathological...
2014-09-03 01:06:14 -04:00
Dolphin Bot
fa29b18e3e
Merge pull request #840 from FioraAeterna/jittimer
...
JIT: implement timer support in mtspr
2014-09-03 07:01:20 +02:00
Fiora
9e4419e786
x64Emitter: add support for shorter EAX forms of instructions
...
Should save a few bytes of code size here and there.
2014-09-02 21:52:41 -07:00
Fiora
6875d911f1
JIT: merge paired timebase reads where possible
...
Combined with the previous patch, ~1% faster overall on F-Zero GX.
2014-09-02 21:49:24 -07:00
Fiora
816d056657
JIT: implement timer support in mtspr
...
Faster, of course, since we avoid the interpreter, but also means we can
get more a more accurate timer in long blocks by adding the offset from the
start of the block to the retrieved timer. I don't know if this will actually
fix any issues, but it's more correct and a nearly-free improvement.
2014-09-02 21:47:45 -07:00
comex
b48e059173
Don't switch to a vertex array object of 0.
...
This causes glDrawArrays to fail in core profile, and thus on OS X, see:
http://renderingpipeline.com/2012/03/attribute-less-rendering/
There must be something bound, even though it is not used.
Fixes #7599 . I'm not sure this is actually the best way to fix it,
since AFAICT it makes a nonobvious assumption that *something* will be
bound before the first attributeless rendering in
TextureConverter::DecodeToTexture, but it's what degasus suggested and
seems to work.
2014-09-03 00:10:45 -04:00
comex
dd5be7c0dc
Merge pull request #924 from comex/fifo-command-runnable
...
Refactor opcode decoding a bit to kill FifoCommandRunnable.
2014-09-02 23:27:30 -04:00
Charles Rozhon
0e5fde52ac
Fixed bug introduced in PR#803 caused by casting
...
Also changed casts to C++ style casts to removed some of the ambiguity.
2014-09-02 21:50:43 -05:00
Pierre Bourdon
cee71afce5
x64EmitterTest: Fake support for all CPU extensions
2014-09-03 02:26:11 +02:00
Ryan Houdek
1bc246735b
Add some static_asserts to the Arm32 JIT to make sure ppcState is sane.
2014-09-02 18:38:42 -05:00
Fiora
6655c7775e
JIT: Fix callee-save registers on WIN64
2014-09-02 10:56:14 -07:00
Lioncash
e10b0d1008
Merge pull request #930 from skidau/openal-seq-ms
...
Removed the auto setting of SEQUENCE_MS because the synchronised audio c...
2014-09-02 09:56:46 -04:00
Pierre Bourdon
ddb2aefedf
Merge pull request #904 from FioraAeterna/dcbz
...
JIT64: try enabling dcbz again
2014-09-02 15:41:40 +02:00
Pierre Bourdon
5b4f1fe92c
UnitTests: Add tests for the x64Emitter
2014-09-02 10:17:32 +02:00
Pierre Bourdon
e72146d19c
x64Emitter: Do not assert-fail on redundant MOVs, instead show an error log
2014-09-02 10:17:32 +02:00
Pierre Bourdon
a79ced2fc2
x64Emitter: Make it clear for both SSE to int conv that X64 regs are expected
2014-09-02 09:55:47 +02:00
Pierre Bourdon
c428c5999f
x64Emitter: UNPCKLPS/HPS are now tested
2014-09-02 09:53:00 +02:00
Pierre Bourdon
cc0b048c0b
x64Emitter: Support FLD/FSTP with 80 bits operands
2014-09-02 09:52:59 +02:00
Pierre Bourdon
f99f302c91
x64Emitter: assert instead of crashing when generating MOVZX with a wrong size
2014-09-02 09:52:04 +02:00
Pierre Bourdon
b1738b60fc
x64Emitter: Fix MUL with AH/BH/CH/DH registers.
2014-09-02 09:52:04 +02:00
Pierre Bourdon
f0e8b1fda8
x64Emitter: Error out on 8 bits CMOV, and emit 16 bits CMOV properly
2014-09-02 09:52:04 +02:00
Pierre Bourdon
d4ec9737bd
x64Emitter: Assert when using an invalid POP instead of generating an INT3
2014-09-02 09:52:04 +02:00
Pierre Bourdon
9c4daac3a4
x64Emitter: RDTSC now without a typo'd name
2014-09-02 09:52:04 +02:00
Pierre Bourdon
88af225070
x64Emitter: Remove a declared function that is never implemented
2014-09-02 09:52:04 +02:00
shuffle2
cc6db8cf26
Merge pull request #939 from shuffle2/fix-memcard-flush2
...
move the decision to delay raw memcard flushes out of the thread.
2014-09-02 00:28:31 -07:00
Pierre Bourdon
5941653d47
Merge pull request #920 from shuffle2/msvc-gtest
...
Provide a way to build and run unittests on Windows
2014-09-02 07:40:49 +02:00
Shawn Hoffman
44a1a7cdbe
move the decision to delay raw memcard flushes out of the thread.
...
This allows the flush to work better with games which hammer
memcard accesses over short periods as it delays more of the work.
2014-09-01 22:38:31 -07:00
Pierre Bourdon
9b10d36a85
Merge pull request #938 from lioncash/statics
...
Common: Make the LUTs in ColorUtil static
2014-09-02 07:36:17 +02:00
Pierre Bourdon
15e19e98cb
Merge pull request #937 from lioncash/namespaces
...
Common: Remove unnecessary "using namespace Gen;" from x64emitter
2014-09-02 07:35:26 +02:00
Pierre Bourdon
8913c71dc1
Merge pull request #936 from lioncash/printf
...
DolphinWX: Change a wx Printf call to a Format call
2014-09-02 07:34:28 +02:00
Pierre Bourdon
7fb8572765
Merge pull request #935 from lioncash/snprintf
...
DolphinWX: Get rid of an snprintf call in ISOProperties
2014-09-02 07:33:56 +02:00
Lioncash
824a0a19f1
Common: Make the LUTs in ColorUtil static
2014-09-02 00:52:13 -04:00
Shawn Hoffman
839cace5ff
msvc: get UnitTests compiling
...
Choose it from VS or pass /p:RunUnitTests=true to msbuild
2014-09-01 21:27:45 -07:00
Shawn Hoffman
0625b5defb
windows: make failure to load hid.dll or bthprops.cpl not pop a msgbox, and not crash
2014-09-01 21:27:44 -07:00
Shawn Hoffman
266992684d
msvc: remove some remnants of SDL and DSound from projects and general cleanup.
2014-09-01 21:27:44 -07:00
skidau
d287a278cf
Merge pull request #880 from RachelBryk/log
...
Disable all logs by default.
2014-09-02 13:50:26 +10:00
Dolphin Bot
e5705a9273
Merge pull request #908 from FioraAeterna/fixenhancedbat
...
MMU: fix enhanced BAT support
2014-09-02 05:46:03 +02:00
Fiora
3aa40dab00
JIT64: optimize carry calculations
...
Omit carry calculations that get overwritten later in the block before they're
used. Very common in the case of srawix and friends.
2014-09-01 20:41:48 -07:00
Fiora
a40278b1c4
JIT64: support merged branching for rlwinmx, too
...
Not quite as common a branch instruction as cmpwi, but close.
2014-09-01 20:41:12 -07:00
Fiora
10d691a277
JIT64: optimize some special cases of srawix
...
Shift by 31 and 1, both of which are pretty common, can be done in a few less
instructions. Tested with a hwtest.
2014-09-01 20:41:12 -07:00
Fiora
805be80f12
JIT64: Optimize carry handling
...
Carries are rather common and unpredictable, so do them branchlessly wherever
we can.
2014-09-01 20:41:11 -07:00
Fiora
ee24d4714a
JIT64: tweak srwx/slwx BindToRegister arguments
...
Register B gets immediately moved into the shift register, so even if a == b
it doesn't need to be loaded.
2014-09-01 20:41:11 -07:00
Fiora
ad51fc7c4b
JIT64: use xor instead of mov for loading a zero regcache immediate
2014-09-01 20:41:10 -07:00
Fiora
27996a65cf
JIT64: use LEA for the "a = b + imm" case of addi
2014-09-01 20:41:10 -07:00
Fiora
cd0c52b537
JIT64: avoid using LEA for adds when not necessary
2014-09-01 20:41:10 -07:00
Fiora
355850f499
JIT64: optimize sign/zero-extend
...
Also remove some comments that no longer apply since x86_32 was dropped.
2014-09-01 20:41:09 -07:00
Fiora
61af91ff16
JIT64: Optimize cmpXX
...
Use TEST instead of CMP if we're comparing against 0 (rather common), and
optimize the case of immediate compares further.
2014-09-01 20:41:09 -07:00
Fiora
41c3dde737
JIT64: optimize rlwinmx/rlwinix and friends
...
Take advantage of movzx as a replacement for anding with 0xff or 0xffff, and
abuse loads from the register cache to save ops.
2014-09-01 20:41:08 -07:00
Fiora
58dc802ce2
JIT64: optimize multiplication by immediate constants
...
Factor out common code and handle a few more common cases.
2014-09-01 20:41:08 -07:00
Fiora
b51aa4fa89
Rename Log2 and add IsPow2 to MathUtils for future use
...
Also remove unused pow2/pow2f functions.
2014-09-01 20:41:07 -07:00
Lioncash
ec9fc6bfc1
Common: Remove unnecessary "using namespace Gen;" from x64emitter
2014-09-01 23:10:56 -04:00
Lioncash
e8a929ac1d
DolphinWX: Change a wx Printf call to a Format call
2014-09-01 22:02:38 -04:00
Lioncash
56122728c8
DolphinWX: Get rid of an snprintf call in ISOProperties
2014-09-01 21:55:38 -04:00
Lioncash
20c2e8e895
DolphinWX: Get rid of unnecessary getName function in LogWindow
2014-09-01 20:15:50 -04:00
Shawn Hoffman
3c0227445c
Revert changes to how DInput filters out XInput devices.
...
This is to remain compatible with XBCD devices.
2014-09-01 14:56:11 -07:00
Lioncash
1977ea42ae
DiscIO: Prefix class member variables with "m_"
2014-09-01 15:48:02 -04:00
comex
608f9bcd67
Refactor opcode decoding a bit to kill FifoCommandRunnable.
...
Separated out from my gpu-determinism branch by request. It's not a big
commit; I just like to write long commit messages.
The main reason to kill it is hopefully a slight performance improvement
from avoiding the double switch (especially in single core mode);
however, this also improves cycle calculation, as described below.
- FifoCommandRunnable is removed; in its stead, Decode returns the
number of cycles (which only matters for "sync" GPU mode), or 0 if there
was not enough data, and is also responsible for unknown opcode alerts.
Decode and DecodeSemiNop are almost identical, so the latter is replaced
with a skipped_frame parameter to Decode. Doesn't mean we can't improve
skipped_frame mode to do less work; if, at such a point, branching on it
has too much overhead (it certainly won't now), it can always be changed
to a template parameter.
- FifoCommandRunnable used a fixed, large cycle count for display lists,
regardless of the contents. Presumably the actual hardware's processing
time is mostly the processing time of whatever commands are in the list,
and with this change InterpretDisplayList can just return the list's
cycle count to be added to the total. (Since the calculation for this
is part of Decode, it didn't seem easy to split this change up.)
To facilitate this, Decode also gains an explicit 'end' parameter in
lieu of FifoCommandRunnable's call to GetVideoBufferEndPtr, which can
point to there or to the end of a display list (or elsewhere in
gpu-determinism, but that's another story). Also, as a small
optimization, InterpretDisplayList now calls OpcodeDecoder_Run rather
than having its own Decode loop, to allow Decode to be inlined (haven't
checked whether this actually happens though).
skipped_frame mode still does not traverse display lists and uses the
old fake value of 45 cycles. degasus has suggested that this hack is
not essential for performance and can be removed, but I want to separate
any potential performance impact of that from this commit.
2014-09-01 14:35:23 -04:00
Pierre Bourdon
5cc0bda3d5
Merge pull request #932 from lioncash/ptr
...
DolphinWX: Use normal instantiation of wxTimer in HotkeyDlg
2014-09-01 20:12:13 +02:00
Pierre Bourdon
d9950d8cab
Merge pull request #921 from lioncash/unique
...
DiscIO: Move some raw pointers over to unique_ptr
2014-09-01 20:11:18 +02:00
Lioncash
1ad3740770
DolphinWX: Use normal instantiation of wxTimer in HotkeyDlg
2014-09-01 13:44:16 -04:00
Lioncash
4bbf96ffd2
Merge pull request #922 from lioncash/export
...
DolphinWX: Fix exporting of Wii save files
2014-09-01 11:05:05 -04:00
Pierre Bourdon
24b5ce2ddc
Merge pull request #917 from lioncash/input
...
InputCommon: Rename class InputPlugin to InputConfig
2014-09-01 16:36:52 +02:00
Lioncash
27bd0ce70e
Merge pull request #929 from skidau/dsp-acc-loop
...
Take the size of the audio data into account when checking for the loop address
2014-09-01 10:07:43 -04:00
Shawn Hoffman
647dc998e4
unittests: correct some integers which should have been floating point types
2014-09-01 05:57:03 -07:00
skid
91a6962565
Take the size of the audio data into account when checking for the loop address. Fixes the static audio in the FMV of Megaman X Collection, Pac Man World 2, off pitched instruments in Skies of Arcadia and audio desync in the Taiko no Tatsujin series.
...
Fixes:
issue 7154
issue 7222
issue 7280
issue 7457
2014-09-01 21:43:33 +10:00
skid
c2d7801ceb
Removed the auto setting of SEQUENCE_MS because the synchronised audio code has made it unnecessary.
2014-09-01 20:28:29 +10:00
Pierre Bourdon
494a60e41b
VertexLoader: Change VtxDesc to use u64 instead of u32
...
This is required to make packing consistent between compilers: with u32, MSVC
would not allocate a bitfield that spans two u32s (it would leave a "hole").
2014-09-01 11:18:02 +02:00
Lioncash
22c7664aaf
DolphinWX: Fix exporting of Wii save files
...
This would trip an out of bounds assert due the fact that the size is reserved, but the vector is not actually resized.
2014-08-31 15:23:25 -04:00
Lioncash
4cb46879bc
DiscIO: Move some raw pointers over to unique_ptr
2014-08-31 14:48:57 -04:00
Lioncash
f8e24de833
Merge pull request #907 from FioraAeterna/rollbacklmw
...
JIT: revert lmw optimizations
2014-08-31 13:51:24 -04:00
Lioncash
1a3ebbb831
InputCommon: Rename class InputPlugin to InputConfig
2014-08-31 00:59:06 -04:00
Pierre Bourdon
ea7eee1f58
Merge pull request #913 from lioncash/movie-func
...
Core: Break movie header validity checking into a function
2014-08-31 06:55:04 +02:00
Lioncash
f22597a4ee
Core: Break movie header validity checking into a function
2014-08-31 00:52:36 -04:00
Pierre Bourdon
ee880ea73c
Merge pull request #914 from lioncash/potential-uninitialized
...
Core: Fix potential uninitialized variable warnings in Wii_IPC_HLE_Devices_es.cpp
2014-08-31 06:46:45 +02:00
Lioncash
377a1c8f20
AudioCommon: Get rid of now unused handle param for InitSoundStream()
2014-08-30 23:36:00 -04:00
Ryan Houdek
1a6268e6cf
Merge pull request #899 from FioraAeterna/checkram
...
JIT: fix RAM check in load-from-constant-address
2014-08-30 20:49:33 -05:00
Lioncash
2f7df4a803
AudioCommon: Declare iterator variable in loop body in DPL2Decoder
2014-08-30 21:10:18 -04:00
Lioncash
5f43685f4e
Core: Fix potential uninitialized variable warnings in Wii_IPC_HLE_Device_es.cpp
2014-08-30 19:06:07 -04:00
Lioncash
beb95b75ca
PPCAnalyst: Use std::swap instead of making a temporary variable
2014-08-30 18:32:09 -04:00
Lioncash
eb535be874
Core: Clean up brace placements
2014-08-30 18:06:49 -04:00
Lioncash
8553b0f27b
DolphinWX: Clean up brace placements
2014-08-30 18:06:48 -04:00
Lioncash
844d45b26e
D3D: Clean up brace placements
2014-08-30 18:06:47 -04:00
Lioncash
4af8d9d248
VideoCommon: Clean up brace placements
2014-08-30 18:06:45 -04:00
Lioncash
bc14d6966f
InputCommon: Clean up brace placements
2014-08-30 18:06:44 -04:00
Lioncash
55a0034dd5
DiscIO: Clean up brace placements
2014-08-30 18:06:43 -04:00
Lioncash
f94e764df5
AudioCommon: Clean up brace placements
2014-08-30 18:06:42 -04:00
Lioncash
ba4934b75e
Common: Clean up brace placements
2014-08-30 18:06:35 -04:00
Lioncash
77aef014a0
Merge pull request #909 from lioncash/void
...
Get rid of C-style empty function parameter indicators
2014-08-30 15:28:47 -04:00
Lioncash
1d706b2311
Get rid of C-style empty function parameter indicators
2014-08-30 15:23:48 -04:00
Lioncash
265504bc23
Merge pull request #910 from lioncash/bitwise
...
Core: Change a bitwise OR fail case to a logical AND success check in ActionReplay.cpp
2014-08-30 15:19:49 -04:00
Lioncash
d7db9dd1a8
Core: Change a bitwise OR fail case to a logical AND success check in
...
ActionReplay.cpp
2014-08-30 15:17:15 -04:00
Fiora
08ab2d3110
MMU: fix enhanced BAT support
...
I don't know what I can test this on, but it was definitely broken before.
Seems to be a few clock cycles faster too due to the refactoring?
2014-08-30 05:47:05 -07:00
Fiora
1ed6be12b9
JIT: revert lmw optimizations
...
This seems to break Star Wars Rogue Leader and I have no idea why, so for the
meantime I'm just going to revert it since it's not very important.
2014-08-30 04:17:48 -07:00
Lioncash
cee3362e33
DiscIO: Get rid of unnecessary struct differencing
2014-08-29 20:07:55 -04:00
Rachel Bryk
ecdd0f6ac0
Add OSD messages back to status bar.
...
OSD messages can be disabled, while still leaving them in the status bar. This is incredibly useful for certain users, who may wish to see the messages, but do not wish to have them cover up half of the screen. In particular TASers will generally have OSD messages on the screen 100% of the time, and they cover up useful information, making it critical to turn them off. However the messages are still very useful to them, so it's important to have them somewhere.
This reverts 4a16211bae
.
2014-08-29 17:46:41 -04:00
Fiora
6f617c4175
JIT64: try enabling dcbz again
...
This time, check the address carefully beforehand, since apparently some games
do horrible things like running it on non-RAM addresses, or at the very least
virtual addresses.
2014-08-29 12:19:58 -07:00
Ryan Houdek
5724e4021d
Remove the SSE2 messagebox.
...
This is no longer required since we don't support x86_32 anymore.
x86_64 implies SSE2 support.
Also this check was a bit messed up and was hitting on Generic builds.
2014-08-29 12:13:54 -05:00
Dolphin Bot
d159bc9998
Merge pull request #886 from RachelBryk/netplay-buffer
...
Change default netplay buffer to 5.
2014-08-29 06:51:56 +02:00
Ryan Houdek
fc92490031
Merge pull request #902 from Sonicadvance1/android-64bit-support
...
Update shown CPU cores in the Android UI.
2014-08-28 18:20:35 -05:00
Ryan Houdek
5bf9472214
Update shown CPU cores in the Android UI.
...
Only show the JIT cores on x86_64(Will have its own issues once we reach that point)
Show AArch64 JIT if running on a AArch64 device(Good luck with that for now. Future proofing though)
2014-08-28 18:00:32 -05:00
Ryan Houdek
b197f44518
Update build.gradle to newer buildtools.
...
Newer android studio versions now mandate at least build tools 20.0.0 and gradle 0.12+
So update the gradle file for this.
2014-08-28 17:21:48 -05:00
Ryan Houdek
0d63dd5e53
Update the android cmake toolchain file to support 64bit.
...
This is available in a PR here: https://github.com/taka-no-me/android-cmake/pull/23
The maintainer of the android toolchain cmake file seems to be AWOL for now.
I have tested this file personally and it works, it just isn't merged in yet
2014-08-28 16:57:48 -05:00
comex
683191b6c6
Merge pull request #892 from comex/oh-the-abstraction
...
Optimize PointerWrap.
2014-08-28 17:28:16 -04:00
Fiora
88095a607a
JIT: fix RAM check in load-from-constant-address
...
A bug that seems to have been uncovered by allowing immediate-address loads.
Super Monkey Ball 2 crashes without this change -- it's possible, however, that
the game actually requires the MMU hack, since it crashed due to accessing an
address in the 0x20000000-0x3fffffff range.
2014-08-28 12:54:23 -07:00
comex
faa2666393
PointerWrap currently checks its mode for every individual byte of everything it 'does', including all of RAM. Make it not do that.
...
Decreases total Wii state save time (not counting compression) from
~570ms to ~18ms.
The compiler can't remove this check because of potential aliasing; this
might be fixable (e.g. by making mode const), but there is no reason to
have the code work in such a braindead way in the first place.
- DoVoid now uses memcpy.
- DoArray now uses DoVoid on the whole rather than Doing each element
(would fail for an array of STL structures, but we don't have any of
those).
- Do also now uses DoVoid. (In the previous version, it replicated
DoVoid's code in order to ensure each type gets its own implementation,
which for small types then becomes a simple load/store in any modern
compiler. Now DoVoid is __forceinline, which addresses that issue and
shouldn't make a big difference otherwise - perhaps a few extra copies
of the code inlined into DoArray or whatever.)
2014-08-28 15:35:19 -04:00
Ryan Houdek
ad8fe0fb52
Merge pull request #879 from FioraAeterna/frspx
...
JIT64: add frspx implementation
2014-08-28 14:12:21 -05:00
Fiora
c359d65dfe
JIT64: add frspx implementation
2014-08-28 11:40:31 -07:00
Ryan Houdek
4a78a8a72a
Merge pull request #876 from FioraAeterna/floatloadstore
...
JIT64: clean up and unify float load/store code
2014-08-28 13:37:27 -05:00
Dolphin Bot
359aa664e1
Merge pull request #898 from FioraAeterna/fprffix
...
JIT: make fprf conditional in fcmp, just like the other instructions
2014-08-28 20:25:26 +02:00
Dolphin Bot
5e514dcfbc
Merge pull request #881 from FioraAeterna/mulhwx
...
JIT64: add mulhwx implementation
2014-08-28 20:25:13 +02:00
Fiora
7929f2f033
JIT: make fprf conditional in fcmp, just like the other instructions
...
Missed in the FPRF merge (it didn't break anything, but it's probably a bit
slower and not consistent with the others).
2014-08-28 11:19:09 -07:00
Ryan Houdek
23bf8df0e2
Merge pull request #894 from FioraAeterna/missingcvt
...
x64Emitter: add support for some missing CVT instructions
2014-08-28 13:18:35 -05:00
Ryan Houdek
0217fb2008
Merge pull request #843 from FioraAeterna/fprf
...
JIT: Initial FPRF support
2014-08-28 13:15:50 -05:00
Dolphin Bot
1cf77c773b
Merge pull request #758 from FioraAeterna/loadstoreopt
...
Jit64: some load/store optimizations
2014-08-28 19:30:26 +02:00
Fiora
043256449e
Jit64: some load/store optimizations
...
Avoid extra ops during address calculation in loads; use LEAs or immediates
whenever possible.
2014-08-28 10:12:55 -07:00
Ryan Houdek
c908a1e212
Merge pull request #882 from Sonicadvance1/fix-pp-blackness
...
Fix PostProcessing shader garbage on screen.
2014-08-28 10:29:03 -05:00
Ryan Houdek
ca68526ec7
Clear the texture used by PP shaders prior to use.
...
We were generating a texture without ever setting the data to a known value.
This happened on the old code as well, just that PP shaders are receiving some love and people are using it and noticing some of its issues.
2014-08-28 10:16:39 -05:00
Ryan Houdek
8e7d7418af
Merge pull request #890 from degasus/glx
...
glx: fix shutdown hang
2014-08-28 09:13:50 -05:00
Lioncash
6955e023a0
Merge pull request #877 from lioncash/voldir
...
DiscIO: Move VolumeDirectory off of raw pointers
2014-08-28 04:11:33 -04:00
comex
a4a533e39f
Re-enable the vertex loader JIT on OS X.
...
Why was it ever disabled?
2014-08-27 23:50:59 -04:00
Fiora
f9d4ff0d5d
x64Emitter: add support for some missing CVT instructions
2014-08-27 20:15:42 -07:00
Rohit Nirmal
4c14ebdf32
Remove pointless initializations.
2014-08-27 20:36:49 -05:00
Rohit Nirmal
9e340b1c81
Initialize variables to silence garbage return warning from scan-build.
2014-08-27 20:35:20 -05:00
Rachel Bryk
a3cfc98f26
Allow system time to move forward during netplay.
2014-08-27 16:45:15 -04:00
degasus
8b0ad5daec
glx: fix shutdown hang
2014-08-27 18:16:56 +02:00
Pierre Bourdon
7d05ebbc9b
Merge pull request #888 from FioraAeterna/fmulinterp
...
Fix another absent-minded typo in the fmul interpreter patch
2014-08-27 10:57:09 +02:00
Fiora
7e07acbf3f
Fix another absent-minded typo in the fmul interpreter patch
2014-08-26 23:00:11 -07:00
shuffle2
061f2058c2
Merge pull request #887 from FioraAeterna/fmulinterp
...
Bugfixes for fmul rounding
2014-08-26 21:50:43 -07:00
Fiora
1a0a33518b
Bugfixes for fmul rounding
...
Fix the places I forgot to add Force25Bit, and fix an incredibly silly typo bug
2014-08-26 21:37:45 -07:00
Rachel Bryk
31353573cb
Change default netplay buffer to 5.
2014-08-26 21:50:30 -04:00
Fiora
7dbc623dc0
JIT: Initial FPRF support
...
Doesn't support all the FPSCR flags, just the FPRF ones.
Add PPCAnalyzer support to remove unnecessary FPRF calculations.
POV-ray benchmark with enableFPRF forced on for an extreme comparison:
Before: 1500s
After, fmul/fmadd only: 728s
After, all float: 753s
In real games that use FPRF, like F-Zero GX, FPRF previously cost a few percent
of total runtime.
Since FPRF is so much faster now, if enableFPRF is set, just do it for every
float instruction, not just fmul/fmadd like before. I don't know if this will
fix any games, but there's little good reason not to.
2014-08-26 10:57:03 -07:00
comex
e31d6feaa2
Unify three types of non-FIFO requests to the GPU thread around Common::Event and Common::Flag.
...
The only possible functionality change is that s_efbAccessRequested and
s_swapRequested are no longer reset at init and shutdown of the OGL
backend (only; this is the only interaction any files other than
MainBase.cpp have with them). I am fairly certain this was entirely
vestigial.
Possible performance implications: efbAccessReady now uses an Event
rather than spinning, which might be slightly slower, but considering
the slow loop the flags are being checked in from the GPU thread, I
doubt it's noticeable.
Also, this uses sequentially consistent rather than release/acquire
memory order, which might be slightly slower, especially on ARM...
something to improve in Event/Flag, really.
2014-08-26 12:43:39 -04:00
comex
de7294ecc1
Add Flag support to ChunkFile.h
2014-08-26 12:43:39 -04:00
comex
45a4236283
A tiny restructuring to allow inlining of FifoCommandRunnable. Probably useless.
2014-08-26 12:43:39 -04:00
comex
14125cf951
Refactor SetCpStatus into two functions for from-GPU and from-CPU mode rather than a boolean parameter.
...
This shouldn't affect functionality. I'm not sure if the breakpoint
distinction is actually necessary (my commit messages from the old
dc-netplay last year claim that breakpoints are broken anyway, but I
don't remember why), but I don't actually need to change this part of
the code (yet), so I'll stick with the trimmings change for now.
2014-08-26 12:43:39 -04:00
Dolphin Bot
f52888d3ec
Merge pull request #884 from FioraAeterna/ppcfpopt
...
PPCFP: add comment
2014-08-26 18:28:26 +02:00
Fiora
288babf414
PPCFP: add comment
2014-08-26 09:08:22 -07:00
Fiora
90324f3809
JIT64: add mulhwx implementation
2014-08-26 01:09:04 -07:00
Rachel Bryk
5d20455e7d
Disable all logs by default.
2014-08-26 03:59:17 -04:00
Lioncash
5082afa670
DiscIO: Move VolumeDirectory off of raw pointers
2014-08-26 00:23:16 -04:00
Fiora
aaca1b01e5
JIT64: clean up and unify float load/store code
...
While we're at it, support a bunch of float load/store variants that weren't
implemented in the JIT. Might not have a big speed impact on typical games but
they're used at least a bit in povray and luabench.
694 -> 644 seconds on povray.
2014-08-25 19:51:40 -07:00
Lioncash
f18fec81fe
DiscIO: Make the unordered set in IsSoundFile static
...
Doesn't need to be instantiated every time the function is called.
2014-08-25 19:56:09 -04:00
Tillmann Karras
07c7e6f35e
CommandProcessor: mark some functions as static
2014-08-25 21:09:42 +02:00
Lioncash
44ee2f20b9
Merge pull request #874 from FioraAeterna/fixidiocy
...
JIT: fix incredibly silly mistake in fmul rounding patch
2014-08-25 13:22:33 -04:00
Lioncash
8a77fe0539
Merge pull request #865 from lioncash/debugger-stuff
...
DolphinWX: Use wxGraphicsContext in the Code View for the debugger.
2014-08-25 13:21:32 -04:00
Fiora
f04e362721
JIT: fix incredibly silly mistake in fmul rounding patch
2014-08-25 10:10:28 -07:00
Pierre Bourdon
bf93920c05
Revert "Catch broken configurations inside of the Post Processing shaders."
2014-08-25 14:33:41 +02:00
Dolphin Bot
2f2f992bc7
Merge pull request #828 from Sonicadvance1/pp-shader-catch-broken-config
...
Catch broken configurations inside of the Post Processing shaders.
2014-08-25 09:17:30 +02:00
comex
6574682ff5
Remove unused variable m_zero.
2014-08-24 16:22:19 -04:00
comex
d128795594
Merge pull request #862 from comex/registersinuse
...
Reduce my idiocy in register saving code.
2014-08-24 16:16:32 -04:00
comex
a7752f49be
Merge pull request #861 from comex/warnings
...
Fix warnings for OS X
2014-08-24 16:15:58 -04:00
comex
80da767576
Improve wording of a particularly atrocious message.
...
(Now without gettextize.)
2014-08-24 16:00:58 -04:00
comex
cf01f47b52
Fix bloody printf specifiers.
...
In particular, even in code that only runs on x86-64, you can't use
PRIx64 for size_t because, on OS X, one is unsigned long and the other
is unsigned long long and clang whines about the difference. I guess
you could make a size_t specifier macro, but those are horribly ugly, so
I just used casting.
Anyone want to make a nice (and slow) template-based printf?
Now without bare 'unsigned'.
2014-08-24 15:56:41 -04:00
Lioncash
f239ea3853
DolphinWX: Parenthesize some expressions in CodeView.cpp
2014-08-24 15:40:19 -04:00
Lioncash
c3e41809d9
DolphinWX: Move the CodeView debugger view over to wxGraphicsContext
...
This is a more advanced drawing 'backend' over the previous one and allows us to control things like transparency and anti-aliasing, etc.
2014-08-24 15:40:05 -04:00
Pierre Bourdon
9ff7125786
Merge pull request #810 from lioncash/controller-interface
...
InputCommon: Don't base default radius of analog sticks off of their name
2014-08-24 19:58:25 +02:00
Pierre Bourdon
ebf1b98106
Merge pull request #834 from FioraAeterna/fixfmulrounding
...
JIT64: Fix fmul rounding issues
2014-08-24 19:49:56 +02:00
Fiora
4d7b1275c9
Interpreter: apply the same odd rounding to single multiplies as the JIT
2014-08-24 10:28:52 -07:00
Fiora
4f18f6078f
JIT64: Fix fmul rounding issues
...
Thanks to magumagu's softfp experiments, we know a lot more about the Wii's
strange floating point unit than we used to. In particular, when doing a
single-precision floating point multiply (fmulsx), it rounds the right hand
side's mantissa so as to lose the low 28 bits (of the 53-bit mantissa).
Emulating this behavior in Dolphin fixes a bunch of issues with games that
require extremely precise emulation of floating point hardware, especially
game replays. Fortunately, we can do this with rather little CPU cost; just ~5
extra instructions per multiply, instead of the vast load of a pure-software
float implementation.
This doesn't make floating-point behavior at all perfect. I still suspect
fmadd rounding might not be quite right, since the Wii uses fused instructions
and Dolphin doesn't, and NaN/infinity/exception handling is probably off in
various ways... but it's definitely way better than before.
This appears to fix replays in Mario Kart Wii, Mario Kart Double Dash, and
Super Smash Brothers Brawl. I wouldn't be surprised if it fixes a bunch of
other stuff too.
The changes to instructions other than fmulsx may not be strictly necessary,
but I included them for completeness, since it feels wrong to fix some
instructions but not others, since some games we didn't test might rely on
them.
2014-08-24 10:28:52 -07:00
Pierre Bourdon
aaff5a0afb
Merge pull request #856 from FioraAeterna/ppcfpopt
...
JIT: faster PPC_FP code
2014-08-24 19:25:56 +02:00
Dolphin Bot
f31ebd23bb
Merge pull request #864 from FioraAeterna/avx2bmi
...
Add AVX2/BMI1/BMI2 detection support
2014-08-24 18:55:01 +02:00
Fiora
ce6d09ca5d
Add AVX2/BMI1/BMI2 detection support
...
Also clean up the formatting in a bit of the CPU detection code.
2014-08-24 09:14:54 -07:00
Lioncash
f200a03d97
UnitTests: Remove now non-existent UpdateStatusBar from StubHost.
2014-08-24 08:34:25 -04:00
comex
d19ec35363
Reduce my idiocy in register saving code.
...
(1) Rename ABI_ALL_CALLEE_SAVED to ABI_ALL_CALLER_SAVED, because that's
what it was actually defined as (and used as). Derp.
(2) RegistersInUse is always used for the purpose of saving registers
before calling a C++ function in the middle of a JIT block (without
flushing). There is no need to save callee-saved registers in this
case. Change the name to CallerSavedRegistersInUse and mask with
ABI_ALL_CALLER_SAVED.
Nothing obvious broke when starting up a Melee game. (I added a test
for anything actually being masked out; it happens, but in this
particular case seemed to occur at most a few dozen times per second, so
the actual performance benefit is probably negligible.)
2014-08-23 15:46:10 -04:00
comex
e0f35e0e59
Remove unused declarations.
2014-08-23 15:26:59 -04:00
Dolphin Bot
43f890322f
Merge pull request #845 from ChuckRozhon/switch_to_cstdint
...
Changed unsigned ints and chars to cstdint counterparts
2014-08-23 21:18:18 +02:00
Shawn Hoffman
af2405eefd
Remove dsound audio backend.
...
There isn't any reason to use dsound over xaudio.
2014-08-23 11:19:19 -07:00
Shawn Hoffman
1332805bb6
Add headers required by XAudio2_7 to externals.
...
This makes all builds' audio compatible with downlevel Windows and removes
the need for developers to install the June 2010 DirectX SDK.
2014-08-23 11:03:07 -07:00
Shawn Hoffman
327d35377d
windows: remove now-extraneous NOMINMAX and WIN32_LEAN_AND_MEAN #defines from dolphin code.
...
Wrap dinput.h in a header defining DIRECTINPUT_VERSION instead of repeating it multiple places.
2014-08-23 10:48:48 -07:00
Pierre Bourdon
6a5188c9bc
Merge pull request #839 from Tilka/emitter
...
x64Emitter: small source-level fixes
2014-08-23 19:37:24 +02:00
Pierre Bourdon
f7102faae7
Merge pull request #853 from lioncash/memmap
...
Core: Simplify Memory::GetString
2014-08-23 19:19:09 +02:00
Fiora
59c1a46ab1
JIT: faster PPC_FP code
...
The PPC_FP conversion code can be made a lot simpler with the observation
that the only values that need to be sent through the slow x87 path are
denormals.
A whole bunch faster: 708->678 seconds on POV-RAY.
2014-08-23 07:44:42 -07:00
Lioncash
6a74f5e8f6
Merge pull request #817 from archshift/disabledcolor
...
Fixed toolbar's disabled button color.
2014-08-23 05:08:26 -04:00
Lioncash
41577f044a
Merge pull request #844 from lioncash/wx-hotkey
...
DolphinWX: Get rid of unnecessary hotkey code.
2014-08-22 19:52:18 -04:00
Jasper St. Pierre
1e464d1a25
Frame: Actually call UpdateTitle
...
This was obviously what I meant to do, but due to a typo, called
SetTitle instead, causing the main game list title to be set instead.
2014-08-22 17:28:02 -04:00
Ryan Houdek
db039d1440
Merge pull request #850 from lioncash/unused-headers
...
Core: Removed blank headers Boot_ELF.h and Boot_WiiWAD.h
2014-08-22 02:07:10 -05:00
Lioncash
130f57df91
Core: Simplify Memory::GetString
2014-08-22 01:22:58 -04:00
Ryan Houdek
fc5a73d62e
Merge pull request #849 from FioraAeterna/fixppcanalyzer
...
PPCAnalyzer: move num_instructions initialization to correct place
2014-08-22 00:14:11 -05:00
Lioncash
48f52b9662
Merge pull request #789 from archshift/linuxvideo
...
Fix for black screen on Linux upon starting a game
2014-08-21 15:55:29 -04:00
archshift
7e2534ee47
Fixed black screen on game start for X11 contexts.
2014-08-21 12:50:42 -07:00
Lioncash
de9edbeebf
Core: Removed blank headers Boot_ELF.h and Boot_WiiWAD.h
2014-08-21 15:30:51 -04:00
Lioncash
25e29c323d
Merge pull request #842 from lioncash/jit
...
Coding style clean up for the Jit, JitARM and JitIL
2014-08-21 15:25:43 -04:00
Fiora
5c0145f71b
PPCAnalyzer: move num_instructions initialization to correct place
...
Much of the PPC Analyzer code (e.g. instruction reordering for merging
branches) wasn't actually being run.
2014-08-21 11:19:23 -07:00
Lioncash
f17dcd2019
Merge pull request #764 from magcius/new-nogui-2
...
Rewrite GLInterface
2014-08-21 14:14:54 -04:00
Shawn Hoffman
9ac5d7ecd5
msvc: skip copying Data dir and precompiled dlls to Binary dir if they are already there (unless the source files are newer).
...
Also fix a bug which was preventing DolphinWX/AfterBuild target from being completely skipped.
2014-08-20 16:57:34 -07:00
Charles Rozhon
965b1f1f2c
Removed the typedefs for Elf32 word types
2014-08-20 15:21:41 -05:00
Charles Rozhon
d84b2f3be4
Changed unsigned ints and chars to cstdint counterparts
2014-08-20 14:52:01 -05:00
Lioncash
77ce389bb0
DolphinWX: Get rid of unnecessary hotkey code.
2014-08-20 14:43:08 -04:00
Lioncash
b5337ea1b5
Merge pull request #826 from lioncash/wx-events
...
DolphinWX: Use the typesafe equivalents for declaring wx event types
2014-08-20 14:34:17 -04:00
Lioncash
20f8ec9afa
Core: Join a few if statements in IR.cpp
2014-08-20 14:26:16 -04:00
Lioncash
99ae79f7f9
Core: Better assert messages for stx op
2014-08-20 14:16:05 -04:00
Lioncash
d694637938
Core: Clean up brace/body placements for JitIL
2014-08-20 14:04:01 -04:00
Lioncash
b005ba2797
Core: Clean up body/brace placements in JitArm32
2014-08-20 14:03:46 -04:00
Lioncash
6145ced5f7
Core: Change "unsigned result" to "u32 result" in rlwinmx for Jit64
2014-08-20 12:51:30 -04:00
Lioncash
e7f49692e8
Core: Clean up body/brace placements in Jit64 and JitCommon
2014-08-20 12:50:42 -04:00
Shawn Hoffman
a9c33075f2
msvc: enable compiler warnings as errors.
2014-08-19 22:33:49 -07:00
Shawn Hoffman
d9fcc855a7
msvc: resolve all warnings in DolphinWX.
...
Also, bring WiiSaveCrypted closer to modern dolphin coding style.
2014-08-19 22:33:48 -07:00
Shawn Hoffman
5471c71819
msvc: resolve all warnings in VideoBackends/OGL.
2014-08-19 22:33:47 -07:00
Shawn Hoffman
fd16065979
msvc: resolve all warnings in VideoBackends/Software.
2014-08-19 22:33:47 -07:00
Shawn Hoffman
4bf031c064
msvc: resolve all warnings in VideoCommon.
2014-08-19 22:33:46 -07:00
Shawn Hoffman
043ea31f14
msvc: resolve all warnings in Core.
...
Note: vs14 will support empty macro parameter as used by MMIO.
2014-08-19 22:33:46 -07:00
Shawn Hoffman
317e63e7ba
msvc: disable compiler warnings when building all Externals (cl /W0), except for wxWidgets, where all warnings are fixed.
...
Note warnings may still be generated by code in Externals if it is included into warning-enabled code (this is the case for libusb).
Also, quiet an intellisense warning in wxWidgets caused by using __w64 for an inapplicable type.
2014-08-19 22:33:42 -07:00
Shawn Hoffman
9df2127865
msvc: enable strictStrings solution-wide for release.
...
strictStrings is not supported by debug libraries, and indeed breaks the build.
Drop wbemidl.h (incompatible with strictStrings) dependency by using SDL-style search for XInput GUIDs.
2014-08-19 20:33:24 -07:00
Tillmann Karras
80be585fef
x64Emitter: remove redundant "Gen::"
2014-08-20 02:56:07 +02:00
Tillmann Karras
a363f4fa3e
x64Emitter: make 'packed' parameter a bool
2014-08-20 02:54:30 +02:00
Lioncash
a013830b4f
Core: Fix vertical alignment of a table in DSPTables.cpp
2014-08-19 13:58:59 -04:00
Jasper St. Pierre
6dbafa9238
Core: Move the titlebar / statusbar abstraction to DolphinWX
...
The concept of a "title bar" / "status bar" shouldn't be a core concept,
so remove the Host_UpdateStatusBar function, and move the code handles
whether to update the status bar or titlebar into DolphinWX.
2014-08-19 10:37:47 -04:00
Jasper St. Pierre
3bad4bcfdb
PPCSymbolDB: Don't show any messages in the status bar
...
These don't really help anybody. We don't even have a status bar
in MainNoGUI -- status bar text should be controlled by the UI, not the
core code!
2014-08-19 10:09:33 -04:00
Jasper St. Pierre
4a16211bae
Core: Don't display messages in the titlebar / statusbar
...
We already put them on-screen, that should be good enough.
2014-08-19 10:07:59 -04:00
Jasper St. Pierre
271efb450c
Add back X11 support to EGL
...
Refactor the EGL backend to provide a platform separation here, which is
better abstracted away than the old EGL/X11 implementation.
2014-08-19 10:06:26 -04:00
Jasper St. Pierre
e39543b963
X11_Util: Don't specify a background pixel
...
This causes flickering when resizing the window, which looks horrid
and we shouldn't do it.
2014-08-19 10:06:25 -04:00
Jasper St. Pierre
2d974b6086
GLInterface: Destroy GLWin
...
Everything is now safely tucked inside each individual GLInterface.
2014-08-19 10:06:25 -04:00
Jasper St. Pierre
63f1a16969
Core: Remove UpdateFPSDisplay
...
This is effectively unused, as the window handles that we pass to the
GLInterface are window handles for the frame which isn't ever a real
toplevel window. Host_UpdateTitle is what actually sets the proper title
on the render window.
2014-08-19 10:05:58 -04:00
Jasper St. Pierre
7ca8d8dfc7
Core: Don't pass through a reference to the window handle
...
Now that MainNoGUI is properly architected and GLX doesn't need to
sometimes craft its own windows sometimes which we have to thread back
into MainNoGUI, we don't need to thread the window handle that GLX
creates at all.
This removes the reference to pass back here, and the g_pWindowHandle
always be the same as the window returned by Host_GetRenderHandle().
A future cleanup could remove g_pWindowHandle entirely.
2014-08-19 10:05:58 -04:00
Jasper St. Pierre
6e312dce91
Core: Remove Core::GetWindowHandle
...
Finally, it's unused. Whoa.
2014-08-19 10:05:58 -04:00
Jasper St. Pierre
e2e3f2a20b
EGL: Stop the window_handle shuffling as well
2014-08-19 10:05:58 -04:00
Jasper St. Pierre
e7471958e4
X11_Util: Resize the GLX window by listening to events on the parent
...
We now have two cases: the GLX window is parented into a frame, or it's
parented into the MainNoGUI host. In both cases, the GLX window should
be locked to the size of the parent, so just sync it up based on that.
2014-08-19 10:05:58 -04:00
Jasper St. Pierre
d6f4f4df42
MainNoGUI: Move a majority of the event handling from the GLX backend
...
The only reason the GLX backend handled this at all was because
MainNoGUI didn't make its own window before. This is unused in DolphinWX
builds.
2014-08-19 10:05:58 -04:00
Jasper St. Pierre
0dd7f6f5ea
MainNoGUI: Supply a window in Host_GetRenderHandle
...
Our existing code was relying on the GLX backend to create the GLX
window properly, and for the rest of the code to patch that up, sort
of. If we rely on Host_GetRenderHandle() returning a valid window, we
can do a lot better about this.
Create a simple window inside MainNoGUI to make this happen.
2014-08-19 10:05:57 -04:00
Jasper St. Pierre
071e175a1d
X11Utils: Explicitly pass the window to fullscreen into ToggleFullscreen
...
MainNoGUI is going to create its own window soon, and we need to
fullscreen that one instead of the GLX window.
2014-08-19 10:05:57 -04:00
Jasper St. Pierre
2eacf229ed
X11Utils: Simplify the Fullscreen interface
...
Since we only use the toggle action, only keep that.
2014-08-19 10:05:57 -04:00
Jasper St. Pierre
09eb30ea3b
MainNoGUI: Remove old OS X backend that doesn't work, rearchitect
2014-08-19 10:05:57 -04:00
Jasper St. Pierre
e3a9ba30e3
GLX: Remove evdpy / dpy split
...
Move to one display. There's no reason to have two displays here -- the
comment stated that one should touch GLX and one should touch window
events, and that they should be touched from different threads, but the
current code wasn't this careful.
Just use one Display connection.
2014-08-19 10:05:57 -04:00
Jasper St. Pierre
12f073c56b
Remove support for EGL under X11
...
Now, the only supported EGL platform is Android. We might eventually add
back support for EGL/X11 or EGL/Wayland, but it will have to be
architected differently.
2014-08-19 10:05:57 -04:00
Jasper St. Pierre
8bd4b9d2f9
Remove support for Wayland
...
Yes, this is a fancy new feature, but our Wayland support was
particularly bitrotten, and ideally this would be handled by a platform
layer like SDL. If not, we can always add this back in when GLInterface
has caught up. We might be able to even support wxWidgets and GL
together with subsurfaces!
2014-08-19 10:05:56 -04:00
Ryan Houdek
355f7b366b
Merge pull request #831 from FioraAeterna/cleanupimm
...
JIT: cleanup unnecessary immedate size-checking logic
2014-08-19 04:15:22 -05:00
Dolphin Bot
2bcc8d414c
Merge pull request #807 from FioraAeterna/avoidpcstore
...
JIT: avoid saving the PC on every store
2014-08-19 11:12:54 +02:00
Dolphin Bot
961c1db116
Merge pull request #746 from FioraAeterna/fastermtcrf
...
Improve performance of CR functions in JIT64
2014-08-19 11:10:18 +02:00
Fiora
a1655a0e3c
JIT: avoid saving the PC on every store
...
Modify the backpatcher to store the PC in the trampolines.
Should be ~3.5% faster overall (measured on POV-RAY benchmark).
2014-08-19 02:08:53 -07:00
Matthew Parlane
7246ea9616
Merge pull request #792 from booto/dsp-cleanup
...
DSP cleanup
2014-08-19 20:28:51 +12:00
Ryan Houdek
bac9634fde
Merge pull request #803 from ChuckRozhon/cast_from_double_to_u8_warnings
...
Removed warnings by explicitly casting to `u8` for controllers
2014-08-18 17:01:02 -05:00
Fiora
1a36210093
JIT: cleanup unnecessary immedate size-checking logic
...
We do this in the emitter now, so this code isn't needed anymore.
2014-08-18 08:20:46 -07:00
Shawn Hoffman
8c81ea0aad
Windows: Enable /Zc:rvalueCast solution-wide.
2014-08-18 00:04:31 -07:00
Ryan Houdek
859564a2d0
Merge pull request #829 from Sonicadvance1/qualcomm-fixed-rotation
...
Qualcomm fixed screen rotation in their latest v66 development drivers.
2014-08-18 01:29:45 -05:00
Ryan Houdek
7d90a00bbe
Qualcomm fixed screen rotation in their latest v66 development drivers.
...
The framebuffer is no longer rotated the wrong way around in Qualcomm's latest development drivers.
They did something right, only took them over a year.
2014-08-18 00:17:09 -05:00
Ryan Houdek
2d624780c0
Catch broken configurations inside of the Post Processing shaders.
...
This catches most instances of configuration failures that can happen in a post processing shader.
Gives a user a helpful error message that lets them know what they have failed to set up correctly
2014-08-17 23:59:21 -05:00
Shawn Hoffman
bd7f856424
Rewrite raw memcard threading code. Intended to fix issue 7484.
...
EXI memcard code now doesn't know specifics of how data is flushed to whatever backing storage is used.
GC raw memcard now flushes every 15 seconds if dirty, and on memcard destruction.
GCI folder now flushes only on memcard destruction.
2014-08-17 21:52:40 -07:00
Shawn Hoffman
87c324c55a
Add Common::Event::WaitFor(), which has the same semantics as std::condition_variable::wait_for() (with millisecond units).
2014-08-17 21:52:40 -07:00
Shawn Hoffman
375be67158
Add Common/Event.h to the VS project files.
2014-08-17 21:52:40 -07:00
Ryan Houdek
32fb61816b
Fixes PP-shaders on !Mesa targets.
...
Seems mesa has a quirk where
define THING(x) (#x)
is the same as
define THING(x) (##x)
Didn't realize I messed it up since it just worked since I only tested on Mesa.
2014-08-17 21:28:59 -05:00
Lioncash
6a8dfda0ea
DolphinWX: Use the typesafe equivalents for declaring wx event types
...
The others were used when wx 2.4 was around
2014-08-17 16:18:58 -04:00
Pierre Bourdon
9e2fbaf405
Merge pull request #823 from KScorp/depthmatrixshaders
...
Fixed depth matrix shaders in OpenGL and Direct3D to be more precise.
2014-08-17 22:08:42 +02:00
archshift
b7f3797689
Wx: further cleanup to toolbar creation process
2014-08-17 12:57:44 -07:00
archshift
b74a34795b
Fixed toolbar's disabled button color.
2014-08-17 12:57:44 -07:00
Lioncash
15a3b30e27
Merge pull request #790 from lioncash/ogl-cleanup
...
Small OGL cleanup
2014-08-17 15:17:04 -04:00
Ryan Houdek
e3e1869493
Merge pull request #825 from FioraAeterna/x64emitter
...
x64Emitter: refactor to support longer opcodes
2014-08-17 13:07:56 -05:00
Fiora
802b28daf9
x64Emitter: refactor to support longer opcodes
...
Also add some new SSE4 opcodes.
2014-08-17 04:48:17 -07:00
KScorp
97dce14368
Fixed depth matrix shaders in OpenGL and Direct3D to be more precise. Fixes some graphical glitches in some games.
2014-08-17 04:43:11 -05:00
Ryan Houdek
7222eb11e0
Merge pull request #822 from FioraAeterna/integerflush2
...
JIT: flush *after* the merged branch, not before
2014-08-17 02:34:15 -05:00
Fiora
75279881cc
JIT: flush *after* the merged branch, not before
...
More correct and should avoid lots of redundant stores.
2014-08-17 00:02:00 -07:00
Lioncash
66a30d0fc6
Merge pull request #820 from RachelBryk/movie-includes
...
Remove a couple unneeded includes from Movie.cpp.
2014-08-17 02:24:37 -04:00
Lioncash
4759510f70
Get rid of instances of "using namespace std;" in the project
2014-08-17 02:05:33 -04:00
Lioncash
6ee2267b2d
Merge pull request #771 from lioncash/32bit-cruft
...
Core: Remove leftover Windows 32-bit functions in MemArena.cpp
2014-08-17 01:40:23 -04:00
Dolphin Bot
1d88091e0b
Merge pull request #821 from FioraAeterna/fixjitcompare
...
Debugger: fix JIT block viewer PPC view
2014-08-17 07:29:25 +02:00
Fiora
a317dac089
Debugger: fix JIT block viewer PPC view
...
The JIT block compare code didn't set the same options for the PPCAnalyzer
as the actual JIT did, which made the PPC side of the JIT block viewer stop
at the first branch instead of the end of the block.
2014-08-16 22:25:49 -07:00
Lioncash
6bfe3714c4
Merge pull request #819 from lioncash/preproc
...
OGL: Removed some unnecessary preprocessor directives from Render.cpp.
2014-08-17 00:00:36 -04:00
Lioncash
f0743e2571
OGL: Removed some unnecessary preprocessor directives from Render.cpp.
...
scrshotThread was also unused so that is removed as well.
Also added the algorithm header, since we use min and max here.
2014-08-16 23:57:06 -04:00
Rachel Bryk
d8baf64747
Remove a couple unneeded includes from Movie.cpp.
2014-08-16 23:54:11 -04:00
Lioncash
1b92c68f05
Common: Add Flag.h to the Visual Studio project.
2014-08-16 23:33:28 -04:00
Lioncash
d18d3e1f3e
Common: Get rid of StdConditionVariable, StdMutex, and StdThread.
...
All of the compilers we support have support for these now.
2014-08-16 23:33:19 -04:00
shuffle2
2270c3e90a
Merge pull request #797 from shuffle2/msvc-pch
...
Windows: Use a shared precompiled header for dolphin code under Source/
2014-08-16 14:58:28 -07:00
Charles Rozhon
6f34a8ac47
Removed warnings by assigning to bool
2014-08-16 14:16:10 -05:00
Lioncash
07f72b1afc
Merge pull request #811 from FioraAeterna/fixblowup
...
Debugger: fix blowup calculation again
2014-08-16 12:42:27 -04:00
degasus
a64b0bf499
VertexLoader: cache NativeVertexFormat
...
This fix a performance regression of PR #672 .
2014-08-16 12:58:52 +02:00
Ryan Houdek
7a2fe73310
Merge pull request #816 from Sonicadvance1/fix-not-button
...
Fix the Not button showing up in the advanced control dialog.
2014-08-15 20:25:56 -05:00
Ryan Houdek
239e04db02
Merge pull request #757 from Tilka/ps_sum0
...
Jit64: re-enable ps_sum0
2014-08-15 20:25:14 -05:00
Ryan Houdek
9afc16961f
Fix the Not button showing up in the advanced control dialog.
...
The Not button isn't supposed to show up on outputs to controllers.
When we generate the button it still shows up if it isn't added to the sizer since the parent window still owns it.
Fixes this issue report https://forums.dolphin-emu.org/Thread-linux-ui-bug-in-gc-pad-configuration-menu?pid=335269#pid335269
2014-08-15 20:09:35 -05:00
Dolphin Bot
444e47a07a
Merge pull request #812 from FioraAeterna/fixundefined
...
JIT: don't rely on undefined behavior for constant overflow checking
2014-08-16 00:36:08 +02:00
Fiora
1cb50c9609
JIT64: faster implementation of mtcrf and mcrxr
2014-08-15 14:09:28 -07:00
Fiora
c936984c96
JIT64: faster + branchless crxxx
2014-08-15 14:09:28 -07:00
Fiora
8c71703098
JIT64: faster implementation of mfcr
2014-08-15 14:09:27 -07:00
Lioncash
f11e587fa4
OGL: Get rid of an unnecessary WIN32 ifdef in main.cpp
2014-08-15 16:16:53 -04:00
Lioncash
4c406cc4a1
Merge pull request #814 from lioncash/jitwindow
...
Core: Kill off Host_ShowJitResults
2014-08-15 15:26:45 -04:00
Lioncash
cf46ac7dc9
Core: Kill off Host_ShowJitResults
...
Another host function that can be killed off by simple wx event handling
2014-08-15 15:18:28 -04:00
Fiora
1669b361a2
JIT: don't rely on undefined behavior for constant overflow checking
...
I have no idea what the compiler does with these, and this code probably
isn't triggered in most games, but it's probably better not to taunt the
undefined behavior demon.
2014-08-15 11:26:10 -07:00
Charles Rozhon
3baea48bba
Removed warning caused by calling std::min<int> with size_t values
2014-08-15 13:23:19 -05:00
Lioncash
7e3d1050f0
OGL: Add static to a function in NativeVertexFormat
2014-08-15 14:16:04 -04:00
Lioncash
32953fd968
OGL: Clean up parameters for some functions.
2014-08-15 14:15:23 -04:00
Lioncash
960b54670c
OGL: Fix brace and body placements
...
Also got rid of void argument specifiers. These are a carryover from C.
2014-08-15 14:12:29 -04:00
Fiora
56cc0227c3
Debugger: fix blowup calculation again
...
Wasn't quiiite right in 3c2567 either.
2014-08-15 10:24:35 -07:00
Lioncash
7fd5e4300a
InputCommon: Don't base default radius of analog sticks off of their name.
2014-08-15 13:06:56 -04:00
lioncash
77ccfa1967
DolphinWX: Fix variable styling in BreakpointView
2014-08-15 09:51:29 -04:00
Lioncash
2848ff342f
DolphinWX: More readable variable names in BreakpointView
...
Also doesn't make everything rely on a single temp variable.
2014-08-15 09:49:09 -04:00
Lioncash
f6dd2ff3cb
Merge pull request #795 from ChuckRozhon/correct_pointer_style_tasinputdlg
...
Placed ampersands and asterisks against type name
2014-08-15 08:40:37 -04:00
Shawn Hoffman
8801289149
Windows: Add /Zc:inline to compiler options.
2014-08-15 01:17:10 -07:00
Shawn Hoffman
f1b82a34b2
Windows: Use a shared precompiled header for dolphin code under Source/
2014-08-14 23:51:13 -07:00
archshift
846a21440b
FrameTools.cpp: Alignment of long lists
2014-08-14 23:10:00 -07:00
Lioncash
001c9a18fa
Merge pull request #782 from RachelBryk/radius
...
Set the default radius to 100 for non-gcpad analog sticks.
2014-08-14 17:15:03 -04:00
Lioncash
16a7e6dce5
Merge pull request #787 from archshift/fs-toolbar
...
Hides toolbar upon using fullscreen and rendering to main window.
2014-08-14 17:13:06 -04:00
Lioncash
3c2567cc37
Merge pull request #804 from FioraAeterna/fixblowup
...
Debugger: fix blowup calculation
2014-08-14 17:12:11 -04:00
Fiora
6741cdbe84
Debugger: fix blowup calculation
2014-08-14 13:40:34 -07:00
Charles Rozhon
a8c31d134b
Removed warnings by explicitly casting to `u8` for controllers
2014-08-14 14:44:10 -05:00
Charles Rozhon
97f68be70a
Changed GCPadStatus struct to use cstdint types instead of char, short etc.
2014-08-14 14:14:07 -05:00
Ryan Houdek
64697abe48
Merge pull request #798 from FioraAeterna/integerflush
...
JIT: Don't needlessly flush register state in merged integer+branch code
2014-08-14 12:21:03 -05:00
Fiora
97beea1963
JIT: Don't needlessly flush register state in merged integer+branch code
...
The actual branch code doesn't flush the register state, so it doesn't make
much sense for the merged optimization to do so either.
2014-08-14 09:55:11 -07:00
Fiora
a4b23d80b7
JIT: correctly set skipNext even if conditional-continue is off
...
Part 2: I missed the other branch-merging case in the first commit.
2014-08-14 09:31:35 -07:00
Ryan Houdek
7f3458e957
Merge pull request #800 from FioraAeterna/showdebugjit
...
Debugger: make "PPC to x86" open JIT window
2014-08-14 10:41:42 -05:00
Fiora
c1f7b0ddc9
Debugger: make "PPC to x86" open JIT window
...
The button just silently did nothing if the window wasn't open, with no hint
as to how to make it work.
2014-08-14 08:37:33 -07:00
Ryan Houdek
e6fa582753
Merge pull request #799 from FioraAeterna/mergebranchfix
...
JIT: correctly set skipNext even if conditional-continue is off
2014-08-14 10:12:19 -05:00
Fiora
75cc8917a1
JIT: correctly set skipNext even if conditional-continue is off
2014-08-14 07:57:55 -07:00
Pierre Bourdon
7b6b9b0945
Merge pull request #735 from Armada651/d3dfullscreen_fixes
...
Fix hotkeys in Linux and Mac OS X (properly this time).
2014-08-14 15:27:21 +02:00
booto
34bf0a4ab7
DSP: General cleanup. No behaviour change.
2014-08-14 09:45:05 +08:00
Charles Rozhon
2d920965c0
Placed ampersands and asterisks against type name
2014-08-13 16:42:11 -05:00
kamiyo
e4c7cce412
updated frametools
2014-08-13 13:10:08 -04:00
Shawn Hoffman
66fdbdd18d
Windows: Give SCMRevGen a configuration for x64 instead of Win32.
2014-08-13 03:57:10 -07:00
booto
72179f98b6
DSP: Use completion event for ARAM interrupt
2014-08-13 18:26:02 +08:00
archshift
7af80c7712
Disable toolbar toggle in main window fullscreen
2014-08-13 02:21:21 -07:00
Ryan Houdek
287758f15d
Add the configuration dialog for post processing configuration options.
...
Only enables the config button when the shader options available to it
2014-08-13 01:05:15 -05:00
Ryan Houdek
cced3b4a18
Change OpenGL's post processing to use the new VideoCommon PP object.
...
Let's OpenGL's PostProcessing namespace be changed to a class inheriting from VideoCommon's PostProcessing class.
2014-08-13 01:05:15 -05:00
Ryan Houdek
b8a21b3744
Add the PostProcessing class object to RenderBase in VideoCommon.
...
Backends will initialize this variable with their own inherited PostProcessing class object.
2014-08-13 01:05:14 -05:00
Ryan Houdek
6bdc32c54a
Add the VideoCommon PostProcessing class.
...
This class loads all the common PP shader configuration options and passes those options through to a inherited class that OpenGL or D3D will have.
Makes it so all the common code for PP shaders is in VideoCommon instead of duplicating the code across each backend.
2014-08-13 01:05:10 -05:00
Ryan Houdek
3a657fe33c
Add TryParseVector to StringUtil.
...
Adds a nice way to have options be in a vector for results
2014-08-12 23:45:14 -05:00
Pierre Bourdon
e4e44909d5
Merge pull request #762 from booto/dma-audio-3
...
DSP: DMA behaviour adjustments to fix regressions
2014-08-12 18:18:51 -07:00
archshift
b451f561ba
Hide toolbar upon going fullscreen, rendering to main window.
2014-08-12 17:47:25 -07:00
shuffle2
7b9c8da468
Merge pull request #726 from Armada651/ogl-exclusive
...
CFrame: Add fullscreen window styles to enable exclusive mode in OpenGL.
2014-08-12 14:55:18 -07:00
shuffle2
6a336f66a8
Merge pull request #569 from RyDroid/desktop-file-without-translation
...
Minor improvement of the desktop file
2014-08-12 14:51:55 -07:00
shuffle2
d704ebdb40
Merge pull request #691 from Armada651/veto_fix
...
CFrame: Handle close events that can't be vetoed.
2014-08-12 14:46:01 -07:00
shuffle2
d1702b1160
Merge pull request #676 from lioncash/zelda-ratio
...
Core: Remove the ratio parameter in Zelda UCode's SizeForResampling func
2014-08-12 14:43:32 -07:00
shuffle2
43010818fa
Merge pull request #785 from lioncash/string
...
Common: Fix AsciiToHex returning true on overflow values
2014-08-12 14:43:02 -07:00
shuffle2
9f4008c5bc
Merge pull request #760 from lioncash/swap
...
Common: Use the OSX equivalent byte-swap functions
2014-08-12 14:31:32 -07:00
shuffle2
b8d126c101
Merge pull request #754 from FioraAeterna/immediateopt
...
x64Emitter: optimize immediate sizes
2014-08-12 14:19:31 -07:00
shuffle2
fe2321e117
Merge pull request #748 from lioncash/null
...
Core: Default initialize a pointer to nullptr in gdsp_do_dma()
2014-08-12 13:56:54 -07:00
shuffle2
4e73dd2d0c
Merge pull request #722 from lioncash/casts
...
Fix a cast warning when compiling with MSVC
2014-08-12 13:45:31 -07:00
booto
adf2ae2ac9
DSP: Add minor delay to initial AIDMA interrupt
...
When AIDMA begins, the first thing it does is load the source address
and length into internal registers. It then triggers the AID interrupt.
Some begin the AIDMA process without all the data necessary for the
interrupt callback being set up already - they require a few more cycles
to set it up (the delay between the DMA being set to begin and the
interrupt firing). The value of this delay was approximated by tests on real
hardware.
2014-08-13 00:20:13 +08:00
Tony Wasserka
d03e91962e
Merge pull request #779 from lioncash/software-cleanup
...
Small software backend cleanup.
2014-08-12 11:59:21 +02:00
shuffle2
a46151e146
Merge pull request #786 from shuffle2/fix-toolbar-toggle
...
Fix regression with toggling the toolbar from PR761
2014-08-12 01:13:32 -07:00
Shawn Hoffman
27f496fa34
Fix regression with toggling the toolbar from PR761
2014-08-12 01:04:51 -07:00
Lioncash
5afb9cc5c4
Common: Fix AsciiToHex returning true on overflow values
...
We should be checking errno against ERANGE.
2014-08-12 02:49:04 -04:00
archshift
c0008b2012
Removed Tracer.h/cpp from VS files
2014-08-11 23:25:04 -07:00
archshift
9aa7a4ddae
Removed unused Tracer.h/cpp
2014-08-11 23:06:44 -07:00
shuffle2
36af1b518d
Merge pull request #777 from shuffle2/vs2013-update3
...
Use official flag for detailed symbols. Require VS2013 with update 3 or later to build.
2014-08-11 20:12:52 -07:00
shuffle2
0b27e0f3f0
Merge pull request #761 from archshift/better-toolbar
...
Changed main toolbar to be flush with the rest of the window.
2014-08-11 20:12:24 -07:00
shuffle2
edf660f21f
Merge pull request #776 from shuffle2/improve-xsaveworkaround
...
Windows: Improve XSaveWorkaround to behave correctly when XSAVE processor feature is enabled, but AVX support isn't available for whatever reason.
2014-08-11 12:47:39 -07:00
Rachel Bryk
35ae1b4ee2
Set the default radius to 100 for non-gcpad analog sticks.
...
The previous default of 70 was determined based on gc controllers, and is not right at all for the wii extensions.
2014-08-11 13:58:47 -04:00
Jasper St. Pierre
dd2e9d1fc7
X11_Util: Fix build when using EGL
...
We forgot to remove the reference to GLWin.width / GLWin.height here.
2014-08-10 23:57:48 -04:00
Lioncash
bcd10bfda6
Software: Fix function casing in SWRenderer
2014-08-10 22:28:18 -04:00
Lioncash
f9f46f33d6
Software: Fix some if-statement body placements
2014-08-10 22:28:17 -04:00
Lioncash
34eb0c6e1c
Software: Fix over-indentation of SetupQuad()
2014-08-10 22:28:16 -04:00
Lioncash
4129cdeb4d
Software: Apply static to some functions
2014-08-10 22:28:15 -04:00
Lioncash
568bdec598
Software: Fix function casing in TextureEncoder
2014-08-10 22:28:14 -04:00
Lioncash
2918f46d8b
Software: Fix the formatting and function casing in Vec3.h
2014-08-10 22:28:04 -04:00
Lioncash
6625d9cba5
Software: Fix various brace styling errors
2014-08-10 21:18:38 -04:00
Lioncash
b95d9b43de
Software: Make an enum into a static constant in DebugUtil.cpp
2014-08-10 20:51:10 -04:00
Lioncash
b050657322
Software: Make constants char_width and char_height private in RasterFont
2014-08-10 20:48:28 -04:00
Shawn Hoffman
d0c3e46c80
Windows: Improve XSaveWorkaround to behave correctly when XSAVE processor feature is enabled, but AVX support isn't available for whatever reason.
2014-08-10 14:50:29 -07:00
Shawn Hoffman
5eccc08c7e
Use official flag for detailed symbols. Require VS2013 with update 3 or later to build.
2014-08-10 14:47:29 -07:00
Lioncash
a141819241
Merge pull request #768 from lioncash/hex-view
...
DolphinWX: Fix scrolling in hex mode for the memory view
2014-08-10 14:58:48 -04:00
booto
a4bc15e7ba
DSP: Do updates to DSP interrupt bits asap
...
This was being scheduled on the next possible event, which caused
timing issues (in FFCC, AI interrupt would fire before DSP interrupt)
2014-08-11 02:04:08 +08:00
booto
92064d1025
DSP: Fixes behaviour for audio dmas of length 0
...
This behaviour was tested on a real (wii) console.
2014-08-11 02:02:18 +08:00
Lioncash
eb10899b53
Core: Remove leftover Windows 32-bit functions in MemArena.cpp
2014-08-10 05:35:14 -04:00
Lioncash
9a61cfc650
Core: Actually show MemoryUtil.cpp allocation error messages on Linux
2014-08-10 05:28:00 -04:00
Lioncash
be3428cf8e
Core: Fix case where a panic alert wouldn't be shown in MemoryUtil.cpp
2014-08-10 04:50:58 -04:00
Lioncash
6b49ddfec9
Software: Get rid of an unnecessary format string in SWmain.cpp
2014-08-10 04:38:12 -04:00
Lioncash
a04809b4d1
DolphinWX: Fix scrolling in hex mode for the memory view
...
Prior to this after painting the hex values, it would increment the curAddress by 32. This is not only a bug, but unnecessary, since the OnMouseDownL and OnScrollWheel functions should be the only things to handle address incrementing for scrolling purposes.
2014-08-10 03:06:06 -04:00
Lioncash
11f730fd1e
Core: Get rid of C-style struct typedefs
2014-08-09 21:58:08 -04:00
Lioncash
a899d2b5dd
Merge pull request #763 from lioncash/ar
...
Core: Get rid of function prototypes in ActionReplay.cpp
2014-08-09 21:05:08 -04:00
archshift
d46ca557b8
Re-ordered initialization of m_ToolBar and m_SavedPerspectives
2014-08-09 14:51:59 -07:00
Lioncash
6faed31a44
Core: Get rid of calls to mem_fn in thread instantiations
...
These are not necessary for the same behavior.
2014-08-09 12:46:05 -04:00
archshift
a02a86fde9
Fixed assertion when creating new perspective.
...
Wx was attempting to format a string with specifier %d (integer) with a
size_t.
2014-08-09 03:40:57 -07:00
archshift
b81617fba1
Removed TBDebug, using TBMain instead. Fixed debugger assert.
2014-08-09 03:40:56 -07:00
archshift
b8b72861b5
Removed AuiTB, moved functions to menubar (Debug->Perspectives)
2014-08-09 03:40:56 -07:00
Lioncash
e266635f40
Merge pull request #740 from lioncash/host
...
Core: Kill off a few Host interface functions.
2014-08-09 00:50:14 -04:00
Lioncash
5fb0090fcf
Core: Get rid of function prototypes in ActionReplay.cpp
...
Also marked said functions static
2014-08-09 00:19:03 -04:00
Lioncash
dc2bc621a4
GLX: Remove all Host_GetRenderWindowSize calls.
...
Also remove x, y, width and height from the GLInterface, since it's only
used in GLX, which no longer uses them
2014-08-08 19:21:45 -04:00
Lioncash
7692f5a5ce
AGL: Remove the call to Host_GetRenderWindowSize().
...
Just uses platform-specific ways to do the same thing.
2014-08-08 19:21:43 -04:00
Lioncash
df67a18c42
WGL: Get rid of the use of the Host_GetRenderWindowSize() call.
...
Just use the Windows API to accomplish the same thing (this is what is done in Update()).
This makes the backing window handle the correct data-type for Windows for easier use in function calls.
2014-08-08 19:21:42 -04:00
Lioncash
2b341bb267
D3D: Remove an unnecessary call to Host_GetRenderWindowSize()
2014-08-08 19:21:41 -04:00
Lioncash
7bf82f1989
Core: Kill off Host_UpdateLogDisplay()
...
This was actually never used as far as I can tell. There was no wx event handling done whatsoever for the global ID, So this is basically a dead function.
2014-08-08 19:21:40 -04:00
Lioncash
a0a533d3a3
UnitTests: Get rid of now-nonexistent Host_GetInstance() within StubHost
2014-08-08 19:21:39 -04:00
Lioncash
d4eb0684f7
Core: Kill off Host_UpdateBreakPointView()
...
Uses wxWidgets event propagation to the parent window which then appropriately handles the breakpoint list updating.
2014-08-08 19:21:29 -04:00
archshift
6cd0ebab93
Included toolbar headers, preventing forward-decl errors
2014-08-08 15:04:58 -07:00
archshift
67d67884a1
Allow toggling the toolbar in the menu
2014-08-08 14:36:20 -07:00
archshift
400a7bd612
Switch play/pause button icons when necessary
2014-08-08 13:47:04 -07:00
lioncash
85ace9751e
Common: Use the OSX equivalent byte-swap functions
2014-08-08 13:26:26 -04:00
lioncash
47274ab992
Core: Fix two more potential memory leaks within IOdarwin.mm
2014-08-08 13:14:18 -04:00
archshift
019d5aee49
Changed toolbar to be static, increasing UI integration
2014-08-08 03:43:13 -07:00
Fiora
75b3e425fd
x64Emitter: optimize immediate sizes
...
A nice alternative than trying to do it throughout the JIT.
2014-08-07 13:07:27 -04:00
Pierre Bourdon
b38022df43
Merge pull request #750 from lioncash/leak
...
Core: Fix a leak on OSX that could occur in IOdarwin.mm
2014-08-07 09:56:36 -07:00
Tillmann Karras
8058baa3da
Jit64: re-enable ps_sum0
...
The issue seems to have been fixed in the mean time.
https://code.google.com/p/dolphin-emu/issues/detail?id=3471
2014-08-07 04:50:42 +02:00
Dolphin Bot
8cfbbb357e
Merge pull request #756 from magcius/remove-unused
...
VideoBackendBase: Remove unused stub Initialize implementation
2014-08-07 04:48:10 +02:00
Lioncash
e0c5e05805
Merge pull request #755 from magcius/clean-up-nogui
...
Allow building MainNoGUI and MainGUI simultaneously
2014-08-06 22:39:57 -04:00
Ryan Houdek
88934fdef8
Merge pull request #751 from FioraAeterna/fixsignext
...
JIT64: correctly sign-extend immediate RC values
2014-08-06 20:50:35 -05:00
Jasper St. Pierre
cd641bd0e3
DolphinWX: Allow building both GUI and NoGUI at the same time
...
Restructure our build system so we have multiple targets. Right now we
only build MainNoGUI if we are using X11, since that's the only truly
supported backend: the OS X code actually doesn't compile, according to
comments made on IRC.
2014-08-06 21:38:57 -04:00
Jasper St. Pierre
2b8a476a05
X11Utils: Don't depend on wx
...
We want to have two build targets: Main and MainNoGUI, and this code
will be linked against in both cases, so the ifdef isn't enough for
this case.
Just append to a vector of strings, and then convert it after the fact.
2014-08-06 21:38:47 -04:00
Jasper St. Pierre
c54fef5496
VideoBackendBase: Remove unused stub Initialize implementation
...
Both D3D and OGL have their own overrides, so this isn't used.
2014-08-06 21:35:52 -04:00
Tillmann Karras
f927af20f2
Fix more warnings from #579
2014-08-07 03:24:42 +02:00
Jasper St. Pierre
354f223f77
X11Utils: Remove unneeded SendButtonEvent / SendKeyEvent utilities
...
This was used to send fake button or key events to every backend to
implement freelook. When I ported these to be based on wx events in
commit 5248211
, I didn't realize that these were now unused, so I didn't
remove them. Do that now.
2014-08-06 15:07:25 -04:00
Fiora
047cf23f51
JIT64: correctly sign-extend immediate RC values
2014-08-06 14:21:56 -04:00
lioncash
f21d50e104
Core: Fix a leak on OSX that could occur in IOdarwin.mm
...
If a bluetooth connection isn't able to be opened with a Wiimote, then a memory leak would occur as we don't release cbt
2014-08-06 12:34:40 -04:00
lioncash
3c5326fd38
Core: Default initialize a pointer to nullptr in gdsp_do_dma()
...
The if-statement implies that this could fail in the switch statement somehow. If it does fail, then we'd be comparing with an uninitialized pointer.
2014-08-06 12:10:09 -04:00
Tony Wasserka
cb178679f1
Merge pull request #737 from neobrain/master
...
Restore Wayland compatibility.
2014-08-06 09:02:20 +02:00
Lioncash
42354035e2
Core: Remove unused file DSPJitUtil.h
2014-08-05 23:55:34 -04:00
Lioncash
95f15ac313
Merge pull request #743 from RolandMunsil/fix-ar-code-warning
...
Fix "bad wxCheckListBox index" warning when trying to create AR Code
2014-08-05 23:46:39 -04:00
RolandMunsil
b94069b5af
Update ISOProperties.cpp
2014-08-05 20:45:18 -07:00
Rachel Bryk
71ce63f819
Don't spam PanicAlerts on wii save exports.
2014-08-05 23:34:03 -04:00
RolandMunsil
b0fc4b6ac9
Fix "bad wxCheckListBox index" warning when trying to create AR Code
...
Fixes issue
[7060](https://code.google.com/p/dolphin-emu/issues/detail?id=7060 )
2014-08-05 20:07:23 -07:00
Rachel Bryk
9bd28aa6d1
Give file count in decimal rather than hex when exporting all wii saves.
2014-08-05 22:43:34 -04:00
Tony Wasserka
90d5e31731
Merge pull request #738 from lioncash/i18n
...
DolphinWX: Make the software renderer text translateable
2014-08-05 11:07:04 +02:00
Lioncash
e1701951b2
Merge pull request #739 from delroth/vertex-loader-fix
...
VertexLoader: do not prepare for vertices if we need to skip them
Fixes issue [7542](https://code.google.com/p/dolphin-emu/issues/detail?id=7542 )
2014-08-04 23:51:59 -04:00
Pierre Bourdon
16f180524c
VertexLoader: do not prepare for vertices if we need to skip them
2014-08-04 20:47:02 -07:00
Pierre Bourdon
b7d4481081
Merge pull request #736 from FioraAeterna/fixdirt
...
JIT: Don't assume the reserved bits in GQRs are zero
2014-08-04 20:32:08 -07:00
Lioncash
7e083f39be
DolphinWX: Make the software renderer text translateable
2014-08-04 21:36:08 -04:00
Fiora
133e04541a
JIT: Don't assume the reserved bits in GQRs are zero
...
While the unused bits in the GQR SPR are probably not supposed to be set, some
games set them anyways (e.g. Dirt 2), which broke the JIT code.
2014-08-04 14:22:00 -04:00
Tony Wasserka
fa5588e103
UnitTests: Disable VertexLoader tests if EGL is enabled.
...
Interface design issues prevent this test from linking correctly. Until this issue is resolved, we'll disable the tests for now.
2014-08-04 18:40:39 +02:00
Tony Wasserka
0d989ea82b
Restore Wayland compatibility.
...
It was broken by e15ec56bf0
because it wasn't deemed important. However chances are people will eventually start using Dolphin on that configuration, so we shouldn't frivolously drop compatibility without good reason.
2014-08-04 18:26:03 +02:00
Fiora
c9be85b079
Fix quant/dequant table bug
...
1<<31 is not 2^31 because 1 is a signed int in C; this bug affected both the
JIT and interpreter quantized store implementations, though I don't know if
any games were actually affected.
2014-08-04 10:08:42 -04:00
Jules Blok
9818bd3edf
CFrame: Render to a child on Linux and Mac OS X.
...
This is needed to fix the hotkeys on those platforms.
2014-08-04 13:22:41 +02:00
Tony Wasserka
99dc069b9a
Merge pull request #597 from sigmabeta/android-studio-gitignore
...
[Android] Add a bunch of gradle/AS related stuff to gitignore.
2014-08-04 12:06:29 +02:00
Lioncash
933a7c2fac
Merge pull request #734 from lioncash/debug
...
DolphinWX: Ensure the code view string vector is always a size of two.
2014-08-04 03:18:14 -04:00
Lioncash
c051ae3338
DolphinWX: Ensure the code view string vector is always a size of two.
...
This way if any entries are not populated, then an empty string will be used.
2014-08-04 03:15:29 -04:00
Lioncash
fbd2e43ac3
Revert "Fix hotkeys in Linux and Mac OS X"
2014-08-04 01:56:08 -04:00
Pierre Bourdon
6befa34b60
Merge pull request #647 from lioncash/disasm
...
Common: Introduce the new Gekko disassembler to Common.
2014-08-03 21:52:08 -07:00
Pierre Bourdon
7ba400bea2
Revert "Jit64: Fix immediates being zero-extended to cr_val instead of sign-extended."
2014-08-03 21:50:12 -07:00
Lioncash
0718937237
Common: Introduce the new Gekko disassembler to Common.
...
This moves the Gekko disassembler to Common where it should be. Having it in the Bochs disassembly Externals is incorrect.
Unlike the PowerPC disassembler prior however, this one is updated to have an API that is more fitting for C++. e.g. Not needing to specify a string buffer and size. It does all of this under the hood.
This modifies all the DebuggingInterfaces as necessary to handle this.
2014-08-04 00:45:07 -04:00
Pierre Bourdon
b1553b42ce
Merge pull request #542 from Parlane/weird_buffering
...
Remove weird buffering from WII_IPC_HLE_Device_sdio_slot0.cpp
2014-08-03 21:30:35 -07:00
Pierre Bourdon
497de04c52
Merge pull request #671 from lioncash/non-panic
...
DolphinWX: Use a regular wxMessageBox instead of a PanicAlert for non-panic errors.
2014-08-03 21:27:27 -07:00
Pierre Bourdon
95a8c24841
Merge pull request #723 from lioncash/warnings
...
Core: Fix two sets of warnings when compiling on Linux.
2014-08-03 21:25:44 -07:00
Pierre Bourdon
87e7c1ee46
Merge pull request #724 from lioncash/mem_fn
...
AudioCommon: Get rid of some unnecessary mem_fn calls
2014-08-03 21:25:24 -07:00
Pierre Bourdon
15920d0f10
Merge pull request #394 from degasus/d3d_lighting_fix
...
VideoCommon: normalize light direction
2014-08-03 21:21:23 -07:00
Pierre Bourdon
4c42b38de1
Merge pull request #428 from Sonicadvance1/x86_32-removal
...
Remove x86_32 support from Dolphin.
2014-08-03 21:17:28 -07:00
Pierre Bourdon
e15ec56bf0
Merge pull request #716 from delroth/vertex-loader
...
Make vertex loader testable
2014-08-03 21:14:59 -07:00
Lioncash
3aba909b25
Core: Get rid of Host_GetInstance()
2014-08-03 23:47:29 -04:00
Lioncash
847504f327
Merge pull request #725 from lioncash/unnecessary-param
...
AudioCommon: Remove an unnecessary parameter from the OpenALStream constructor
2014-08-03 22:43:19 -04:00
Lioncash
1515262be9
Merge pull request #710 from Armada651/d3dfullscreen_fixes
...
CFrame: Only re-assign focus when "Render to main" is enabled.
2014-08-03 22:40:02 -04:00
Lioncash
d8d99f919c
Merge pull request #683 from Armada651/linux_hotkeys
...
Fix hotkeys in Linux and Mac OS X
2014-08-03 22:36:46 -04:00
Lioncash
a66a7e1344
Isolate D3D and Software Renderer from wxWidgets code
2014-08-03 20:28:50 -04:00
Pierre Bourdon
ae27d36961
Jit64: Fix immediates being zero-extended to cr_val instead of sign-extended. Thanks to konpie for finding this issue.
2014-08-03 16:00:41 -07:00
Jules Blok
b67ec4ea58
CFrame: Always exit fullscreen before showing the stop dialog.
2014-08-03 23:38:20 +02:00
Jules Blok
857c116210
CFrame: Add fullscreen window styles to enable exclusive mode in OpenGL.
...
This is not implemented within the backend, but relies purely on driver heuristics.
2014-08-03 23:36:54 +02:00
Lioncash
1b7d933072
Fix a cast warning when compiling with MSVC
...
Would previously give a C4800 warning.
2014-08-03 17:33:24 -04:00
Ryan Houdek
0c24e1dcf2
Remove the rest of x86_32 support from Common.
2014-08-03 13:49:46 -05:00
Ryan Houdek
a70fad4dcb
Removes x86_32 from Visual Studio Base properties.
2014-08-03 13:48:53 -05:00
Ryan Houdek
e004c8ff2d
Remove x86_32 from x64MemTools
2014-08-03 13:48:53 -05:00
Ryan Houdek
8a123b4d75
Remove x86_32 from the JIT block "profiler."
2014-08-03 13:48:53 -05:00
Ryan Houdek
e357fea279
Remove x86_32 from JitCommon.
2014-08-03 13:48:53 -05:00
Ryan Houdek
f2457bbe9d
Remove x86_32 from Jit64IL.
2014-08-03 13:47:56 -05:00
Ryan Houdek
1d5281068d
Remove x86_32 from Jit64.
2014-08-03 13:45:54 -05:00
Ryan Houdek
d9b5482840
Remove x86_32 from VertexLoader.
2014-08-03 13:44:37 -05:00
Ryan Houdek
35bebe9ce0
Remove x86_32 from the DSP JIT.
2014-08-03 13:44:37 -05:00
Ryan Houdek
21ee61d7fc
Remove x86_32 from DolphinWX.
2014-08-03 13:44:37 -05:00
Jules Blok
b6e7e0d57f
CFrame: Only re-assign focus when "Render to main" is enabled.
...
It may cause fullscreen loops and since m_RenderFrame == m_RenderParent now it's not necessary to re-assign focus anymore.
2014-08-03 13:37:19 +02:00
Lioncash
47847bc8dd
AudioCommon: Remove an unnecessary parameter from the OpenAL constructor
...
This wouldn't even be saved to anything.
2014-08-02 23:48:26 -04:00
Lioncash
17e79a966a
AudioCommon: Get rid of some unnecessary mem_fn calls
2014-08-02 23:42:34 -04:00
Lioncash
e1192bc64b
Core: Fix usages of NULL and 0 literals for pointers in GCMemcardDirectory
2014-08-02 18:55:37 -04:00
Lioncash
10d3b7f8e9
Core: Fix formatting warnings in DSPJitRegCache
2014-08-02 18:48:10 -04:00
Lioncash
0bcebd81f6
Merge pull request #721 from lioncash/netplay-unused-param
...
Core: Kill off an unused parameter for NetPlayServer::StartGame
2014-08-02 18:31:38 -04:00
Lioncash
a77d397312
Merge pull request #717 from lioncash/unused
...
Core: Remove unused parameters in Movie
2014-08-02 18:30:18 -04:00
Lioncash
44a157fc09
Core: Kill off an unused parameter for NetPlayServer::StartGame
2014-08-02 18:28:26 -04:00
Pierre Bourdon
9f8e1e2a0d
Merge pull request #720 from booto/dma-audio-fix2
...
DSP: copy audio dma samples as early as possible
2014-08-02 15:13:26 -07:00
booto
35dfe57bc1
DSP: copy audio dma samples as early as possible
2014-08-03 05:24:19 +08:00
Pierre Bourdon
35654513c1
VertexLoader: Add more tests, including a few small benchmarks
2014-08-02 14:02:38 -07:00
Lioncash
a46a500b94
Core: Fix warnings on Linux related to the JIT
2014-08-02 16:15:20 -04:00
Lioncash
a89416306a
DolphinWX: Remove an unused variable from ISOProperties
...
Was used for when we still had the toggle for projection hacks in the UI.
2014-08-02 15:23:31 -04:00
Lioncash
41af9a81a5
Core: Remove unused parameters in Movie
2014-08-02 15:07:13 -04:00
Lioncash
0ed29e1fac
DolphinWX: Use a regular wxMessageBox instead of a PanicAlert for non-panic errors.
2014-08-02 13:49:51 -04:00
Pierre Bourdon
da2833c0e6
Merge pull request #679 from lioncash/ucode-update-params
...
Core: Remove the unused cycle parameter from DSPHLE update calls
2014-08-02 10:37:19 -07:00
Pierre Bourdon
8f768e5a54
Merge pull request #714 from lioncash/gen
...
Core: Remove using namespace statements from the Jit and Interpreter headers
2014-08-02 10:36:31 -07:00
Pierre Bourdon
c39ef56db5
VertexLoader: Add very basic unit testing to get started
2014-08-02 09:34:39 -07:00
Pierre Bourdon
6f715a1fbe
VertexLoader: Remove more global state dependencies (this time IndexGenerator and VertexManager)
2014-08-02 09:34:39 -07:00
Pierre Bourdon
8b26d7bf1e
UnitTests: make it possible to build tests for code that has global dependencies
2014-08-02 09:34:39 -07:00
Pierre Bourdon
226a9c2392
Move GLInterface around to remove VideoBackends dependency on DolphinWX
2014-08-02 09:34:39 -07:00
Lioncash
a723fd39df
Merge pull request #715 from lioncash/interp
...
Core: Clean up coding style in the Interpreter
2014-08-02 08:39:11 -04:00
Jules Blok
6ab6d07948
FrameTools: Add a wxPanel as the child of the RenderFrame.
...
Needed for hotkeys to be captured on Linux.
2014-08-02 13:55:23 +02:00
Lioncash
8467c82f79
Core: Clean up coding style in the Interpreter
2014-08-02 07:49:11 -04:00
Lioncash
afb539699e
Core: Remove using statements from the Jit and Interpreter headers
2014-08-02 01:48:02 -04:00
Ryan Houdek
7e83a0ea9b
Merge pull request #700 from jimbo1qaz/master
...
Fix D3D Real XFB texture sampling.
2014-08-01 22:57:44 -05:00
Lioncash
b8e64716be
Merge pull request #713 from lioncash/cast
...
Core: Remove now redundant assert conditions in some DSPJitRegCache functions
2014-08-01 22:55:52 -04:00
Lioncash
77c2b6829a
Merge pull request #702 from lioncash/netplay-version
...
Common: State OS instead of 32/64 bit in the netplay lobby
2014-08-01 22:51:30 -04:00
Lioncash
44f751f752
Merge pull request #692 from booto/dma-audio-fix
...
DSP: latch dma parameters
2014-08-01 22:19:50 -04:00
Lioncash
899bc84e98
Core: Remove now redundant assert conditions in some DSPJitRegCache functions
2014-08-01 20:49:48 -04:00
Lioncash
005004dfa5
Core: Fix cast warnings in DSPJitRegCache
2014-08-01 20:44:38 -04:00
Lioncash
4e2f487741
Core: Get rid of a cast in JitRegCache.cpp
2014-08-01 20:25:39 -04:00
Lioncash
6c923b776e
Merge pull request #695 from lioncash/ipl-string
...
Core: Use a std::string in EXI_DeviceIPL instead of a char buffer
2014-08-01 19:59:56 -04:00
booto
47ba8cc4c1
DSP: latch dma parameters
2014-08-02 05:59:36 +08:00
Lioncash
4b32dcbc33
Merge pull request #707 from lioncash/strip
...
Common: Simplify StripTailDirSlashes
2014-08-01 16:01:37 -04:00
Pierre Bourdon
0380bb61fa
Merge pull request #708 from lioncash/drum-axis
...
Core: Fix Y-data not being assigned in Drums.cpp
2014-07-31 22:20:40 -07:00
Lioncash
31e9b1ebdd
Core: Fix Y-data not being assigned in Drums.cpp
...
Prior to this we were overwriting the x-axis with y-axis data.
2014-08-01 01:18:39 -04:00
Pierre Bourdon
f6995d1eff
Merge pull request #704 from lioncash/pjhack-removal
...
DolphinWX: Remove the Projection Hack UI
2014-07-31 20:20:02 -07:00
Lioncash
1dc5294629
Common: Simplify StripTailDirSlashes
2014-07-31 22:18:45 -04:00
degasus
5205d7baa6
ogl: fix rasterfont
2014-07-31 19:03:18 +02:00
Lioncash
c5188c76b3
Merge pull request #705 from Sonicadvance1/fix-memoryutil-check
...
Fixes a check for what mmap returns.
2014-07-31 03:06:00 -04:00
Lioncash
5bb9a74759
Merge pull request #527 from delroth/flags-opt
...
[RFC] PowerPC flags emulation optimization
2014-07-31 02:51:48 -04:00
Ryan Houdek
33450c80c3
Fixes a check for what mmap returns.
...
On error mmap returns MAP_FAILED(-1) not null.
FreeBSD was checking the return correctly, Linux was not.
This was noticed by triad attempting to run Dolphin under valgrind and not getting a memory space under the 2GB limit(Because -1 wraps around on
unsigned obviously)
2014-07-31 00:53:00 -05:00
Ryan Houdek
fda2190a37
Support the 64bit CR flags in the ARM JIT.
2014-07-30 21:41:18 -07:00
Ryan Houdek
3627bd21f1
Remove JitArmIL files from the project.
...
Due to how the new CR-flags work, it isn't possible without some hefty work in the JITIL backend to support this on 32bit systems.
2014-07-30 21:41:17 -07:00
magumagu
f27940478d
JitIL: Attempt to constant-fold more aggressively.
2014-07-30 21:41:17 -07:00
magumagu
79ecdf5fd0
JitIL: Misc small optimizations.
2014-07-30 21:41:17 -07:00
magumagu
c8dd557dde
JITIL: compare instruction folding.
2014-07-30 21:41:17 -07:00
magumagu
5bb428c685
JITIL: optimize branches.
2014-07-30 21:41:17 -07:00
magumagu
79cc000d62
JITIL: Optimize compare instruction.
2014-07-30 21:41:17 -07:00
magumagu
1429fccb97
Initial unoptimized JITIL flag optimization.
2014-07-30 21:41:17 -07:00
Pierre Bourdon
5506e57ab8
CR: Replace some magic values with constants.
2014-07-30 21:41:17 -07:00
Pierre Bourdon
0ff1481494
Optimize PPC CR emulation by using magic 64 bit values
...
PowerPC has a 32 bit CR register, which is used to store flags for results of
computations. Most instructions have an optional bit that tells the CPU whether
the flags should be updated. This 32 bit register actually contains 8 sets of 4
flags: Summary Overflow (SO), Equals (EQ), Greater Than (GT), Less Than (LT).
These 8 sets are usually called CR0-CR7 and accessed independently. In the most
common operations, the flags are computed from the result of the operation in
the following fashion:
* EQ is set iff result == 0
* LT is set iff result < 0
* GT is set iff result > 0
* (Dolphin does not emulate SO)
While X86 architectures have a similar concept of flags, it is very difficult
to access the FLAGS register directly to translate its value to an equivalent
PowerPC value. With the current Dolphin implementation, updating a PPC CR
register requires CPU branching, which has a few performance issues: it uses
space in the BTB, and in the worst case (!GT, !LT, EQ) requires 2 branches not
taken.
After some brainstorming on IRC about how this could be improved, calc84maniac
figured out a neat trick that makes common CR operations way more efficient to
JIT on 64 bit X86 architectures. It relies on emulating each CRn bitfield with
a 64 bit register internally, whose value is the result of the operation from
which flags are updated, sign extended to 64 bits. Then, checking if a CR bit
is set can be done in the following way:
* EQ is set iff LOWER_32_BITS(cr_64b_val) == 0
* GT is set iff (s64)cr_64b_val > 0
* LT is set iff bit 62 of cr_64b_val is set
To take a few examples, if the result of an operation is:
* -1 (0xFFFFFFFFFFFFFFFF) -> lower 32 bits not 0 => !EQ
-> (s64)val (-1) is not > 0 => !GT
-> bit 62 is set => LT
!EQ, !GT, LT
* 0 (0x0000000000000000) -> lower 32 bits are 0 => EQ
-> (s64)val (0) is not > 0 => !GT
-> bit 62 is not set => !LT
EQ, !GT, !LT
* 1 (0x0000000000000001) -> lower 32 bits not 0 => !EQ
-> (s64)val (1) is > 0 => GT
-> bit 62 is not set => !LT
!EQ, GT, !LT
Sometimes we need to convert PPC CR values to these 64 bit values. The
following convention is used in this case:
* Bit 0 (LSB) is set iff !EQ
* Bit 62 is set iff LT
* Bit 63 is set iff !GT
* Bit 32 always set to disambiguize between EQ and GT
Some more examples:
* !EQ, GT, LT -> 0x4000000100000001 (!B63, B62, B32, B0)
-> lower 32 bits not 0 => !EQ
-> (s64)val is > 0 => GT
-> bit 62 is set => LT
* EQ, GT, !LT -> 0x0000000100000000
-> lower 32 bits are 0 => EQ
-> (s64)val is > 0 (note: B32) => GT
-> bit 62 is not set => !LT
2014-07-30 21:41:17 -07:00
Lioncash
f507827399
Merge pull request #681 from phire/non-sse4_1
...
Fix PPC_FP on non-sse4.1 code paths.
2014-07-31 00:31:02 -04:00
Scott Mansell
8c857b45f8
Fix PPC_FP on non-sse4.1 code paths.
...
The Invalid bit on the x87 fpu is sticky, so once a single NaN goes
through the old code on CPUs without sse4.1 all future floats are
mutilated.
Patch to emulate PTEST by Fiora.
Fixes issue 7237 and issue 7510.
2014-07-31 16:00:27 +12:00
Eder Bastos
33f848c78c
Add a bunch of gradle/AS related stuff to gitignore.
2014-07-30 22:27:38 -04:00
Lioncash
cd37af8590
DolphinWX: Remove the Projection Hack UI
2014-07-30 19:32:41 -04:00
Pierre Bourdon
83838a645f
Merge pull request #690 from Armada651/d3dfullscreen_fixes
...
Exclusive fullscreen fixes
2014-07-30 16:28:56 -07:00
Pierre Bourdon
9b9817f927
x64Emitter: Fix REX encoding for SETcc
...
Previously using the new "lower 8 bits" registers (SIL, SPL, ...) caused SETcc
to write to other registers (for example, SETcc SIL would generate SETcc DH).
2014-07-30 06:41:29 -07:00
Jules Blok
3b5625c76b
VideoConfig: Ignore Borderless Fullscreen setting when the backend does not support exclusive fullscreen.
...
This was expected to be handled by VerifyValidity(), but that only verifies the validity of the INI files.
2014-07-30 12:15:58 +02:00
Jules Blok
5bbd34637b
CFrame: Don't check the video config fullscreen setting.
...
Checking this flag could sometimes incorrectly have the UI assume fullscreen is already off when we're still exiting.
2014-07-30 12:15:32 +02:00
Jules Blok
4501aeefbe
CFrame: Check borderless fullscreen setting before enabling exclusive fullscreen in the video config.
...
Fixes a bug where "Use Fullscreen" would initialize into exclusive fullscreen regardless of the borderless fullscreen setting.
Also relieves the need for the video renderer to check the borderless fullscreen setting each time.
2014-07-30 12:15:26 +02:00
Lioncash
22e9d6977b
Common: State OS instead of 32/64 bit in the netplay lobby
2014-07-30 02:04:17 -04:00
Matthew Parlane
5516b0382c
Merge pull request #699 from lioncash/enum
...
Core: Use an enum for the Gekko exception flags instead of defines
2014-07-30 13:53:58 +12:00
Matthew Parlane
a3ca3b0424
Merge pull request #696 from lioncash/more-forward-decls
...
Convert some more header inclusions into forward declarations
2014-07-30 13:53:48 +12:00
Lioncash
ad3ade1510
Core: Use an enum for the Gekko exception flags instead of defines
2014-07-29 21:51:30 -04:00
Pierre Bourdon
4b66c6c65a
Merge pull request #698 from lioncash/missed-workaround
...
Really get rid of the MSVC 2005 workaround completely
2014-07-29 18:23:04 -07:00
Lioncash
b03c12764d
Really get rid of the MSVC 2005 workaround completely
2014-07-29 21:20:43 -04:00
jimbo1qaz
fe9b7fa4f3
Fix D3D Real XFB texture sampling.
2014-07-29 18:15:01 -07:00
Lioncash
abc7845e0c
Android: Remove an unused variable from MainAndroid.cpp
2014-07-29 21:05:57 -04:00
Lioncash
522a5c35ad
Convert some more header inclusions into forward declarations
2014-07-29 20:55:07 -04:00
Lioncash
3d95ed93f5
Core: Use a std::string in EXI_DeviceIPL instead of a char buffer
...
Allows getting rid of extra code.
2014-07-29 20:05:57 -04:00
Pierre Bourdon
c0e8d9879a
Merge pull request #678 from lioncash/overflow
...
Fix a possible overflow in EXI_DeviceIPL.
2014-07-29 16:42:58 -07:00
Lioncash
412196a055
Core: Remove defines used to work around an MSVC 2005 bug
2014-07-29 19:33:08 -04:00
Jules Blok
e07c06cb16
CFrame: Handle close events that can't be vetoed.
...
This can happen during shutdown.
As long as we don't call event.Skip() the CFrame won't be closed yet, so even if we can't veto the shutdown will still happen in the correct order.
2014-07-29 12:36:10 +02:00
Pierre Bourdon
8ff3cf1838
Merge pull request #684 from lioncash/forward-decls
...
Core: Turn some includes into forward declarations.
2014-07-28 20:50:27 -07:00
Pierre Bourdon
062bce8b7e
Merge pull request #659 from Parlane/classic_controller_fix2
...
Classic controller fix
2014-07-28 20:34:00 -07:00
Oussama Danba
313a743cee
Update framelimit tooltip text because the Audio option has been removed.
2014-07-28 19:08:43 +02:00
Tony Wasserka
3fb829ca73
Merge pull request #589 from LPFaint99/gcifolder-fifo
...
Gcifolder use correct region for fifologs
2014-07-28 14:44:01 +02:00
Tony Wasserka
9c7d4b6408
Merge pull request #667 from RachelBryk/remove-audio-limit
...
Remove audio frame limit.
2014-07-28 14:38:35 +02:00
Matthew Parlane
3554a15180
Merge pull request #680 from lioncash/fakepoll-removal
...
Remove fakepoll.h
2014-07-28 21:06:37 +12:00
Lioncash
e225e3679a
Merge pull request #685 from lioncash/invalid-reg
...
Core: Use the enum constant for an invalid reg in JitRegCache
2014-07-27 19:37:43 -04:00
Lioncash
0bb84a1f65
Core: Use the enum constant for an invalid reg in JitRegCache
2014-07-27 19:29:52 -04:00
Lioncash
eb3a1de3f6
Core: Turn some includes into forward declarations.
2014-07-27 13:37:09 -04:00
Tony Wasserka
38c8a4efb2
MMIO: Cleanup Mapping class by using templates instead of macros.
2014-07-27 19:23:19 +02:00
Lioncash
4fa71dd59e
Remove fakepoll.h.
...
It was only used for Windows XP and lower.
This also bumps the _WIN32_WINNT define in the stdafx precompiled headers to set the minimum version as Windows Vista.
2014-07-26 22:53:40 -04:00
Lioncash
551cf4b2a2
Core: Remove the unused cycle parameter from DSPHLE update calls
2014-07-26 20:04:15 -04:00
Lioncash
0b8a6f852b
Core: Use character literals within EXI_DeviceIPL
2014-07-26 19:07:19 -04:00
Lioncash
70ba8cfbc2
Core: Fix a possible overflow in EXI_DeviceIPL
...
m_szBuffer has a size of 256, but addressable range is 0 - 255
2014-07-26 19:06:23 -04:00
Jules Blok
1f24122d35
Frame: Only prevent exclusive fullscreen switches when the emulator is paused.
...
This fixes the "Use Fullscreen" setting in which case the switch is done while the emulator is uninitialized.
2014-07-27 00:08:27 +02:00
Lioncash
c1673824bd
Core: Remove the ratio parameter in Zelda UCode's SizeForResampling func
...
It's only ever passed PB.RatioInt
2014-07-26 17:39:26 -04:00
Pierre Bourdon
957a39942e
Merge pull request #675 from lioncash/movie-params
...
Core: Use param padState instead of a global in SetInputDisplayString
2014-07-26 23:30:26 +02:00
Lioncash
d1e487ae00
Core: Use param padState instead of a global in SetInputDisplayString
2014-07-26 17:14:54 -04:00
Lioncash
40273634a4
Merge pull request #674 from lioncash/loldsp
...
Core: Get rid of the void handle parameter for DSP initialization
2014-07-26 17:00:02 -04:00
Lioncash
e8d0a910da
Core: Get rid of the void handle parameter for DSP initialization
2014-07-26 16:54:36 -04:00
Dolphin Bot
30962ec361
Merge pull request #664 from booto/dtk-surgery
...
DTK: Adjustments attempting to increase accuracy
2014-07-26 21:26:33 +02:00
booto
a6a4229865
DTK: Adjustments attempting to increase accuracy
2014-07-27 03:15:52 +08:00
Pierre Bourdon
6bd5fb3a67
Merge pull request #666 from booto/audio-dma-sampling
...
AudioCommon/Mixer: Allow input sample rate changes
2014-07-26 19:22:37 +02:00
Jules Blok
ec402a0d5f
FPSCounter: Initialize members.
2014-07-26 14:37:18 +02:00
Jules Blok
ed2c74a024
D3D: Set s_last_fullscreen_mode when constructing the renderer.
2014-07-26 13:47:11 +02:00
Pierre Bourdon
8e865f3848
Merge pull request #506 from Armada651/d3dfullscreen
...
D3D: Add exclusive fullscreen support.
2014-07-26 13:22:11 +02:00
Jules Blok
06b13f12d3
D3D: Make the global swapchain static again.
2014-07-26 13:04:46 +02:00
Jules Blok
6724ce6275
Cosmetic changes based on feedback on PR #506 .
2014-07-26 13:04:39 +02:00
Jules Blok
eea7086b23
CFrame: Prevent fullscreen switches if the renderer is halted.
2014-07-26 12:45:19 +02:00
Jules Blok
bd9953d97e
Remove the 3D Vision hack.
...
The hack was needed because the Nvidia 3D Vision heuristics are documented to only support surfaces that are the same size as the backbuffer. This would be the case if you enabled the hack and selected the "Auto (Window Size)" internal resolution.
However, on recent drivers the same effect is achieved by selecting the "Auto (Multiple)" internal resolution. Therefore the hack is no longer required.
2014-07-26 12:45:10 +02:00
Pierre Bourdon
906b05cb1c
Merge pull request #672 from delroth/vertex-loader
...
Vertex loader: reduce dependency on global state
2014-07-26 02:03:03 +02:00
Pierre Bourdon
73f9a22e2e
VertexLoader: Remove global state dependency on g_nativeVertexFmt
2014-07-26 01:35:09 +02:00
Rachel Bryk
acaac51077
Remove audio frame limit.
...
It serves no purpose and causes bugs and confusion for users.
2014-07-25 12:17:10 -04:00
Tony Wasserka
5c4e5e9f8a
Merge pull request #660 from lioncash/warning
...
DolphinWX: Fix a double truncation warning in InputConfigDiagBitmaps
2014-07-25 18:11:40 +02:00
Lioncash
4189703b40
Merge pull request #662 from lioncash/log-comment
...
Clarify that WiimoteEmu::Spy is intended for debugging purposes
2014-07-25 08:46:52 -04:00
Fog
250cc9d5a0
Fixed last tick count not being set on movie load
2014-07-24 20:56:27 -04:00
Lioncash
cefea9a1a1
Core: Fix the license headers for Memmap.h and SystemTimers.h/.cpp
2014-07-24 20:15:43 -04:00
Pierre Bourdon
264459457e
Merge pull request #665 from lioncash/cisms
...
Get rid of a few C-style struct declarations
2014-07-25 01:30:29 +02:00
Lioncash
6186a293f6
InputCommon: Include the algorithm header in ForceFeedbackDevice
...
Also simplified the casting within a std::max call
2014-07-24 18:55:12 -04:00
booto
7d920bbb3a
AudioCommon/Mixer: Allow input sample rate changes
2014-07-24 22:42:29 +08:00
Lioncash
5767691f4e
Get rid of a few C-style struct declarations
2014-07-23 20:36:45 -04:00
Pierre Bourdon
78c3a22060
VertexLoader: take the VAT object directly for RunVertices
2014-07-24 01:51:37 +02:00
Pierre Bourdon
069801a7d1
VertexLoader: Simplify SetVAT
2014-07-24 01:25:23 +02:00
Pierre Bourdon
20369743a4
VertexLoaderUID: remove global state dependency
2014-07-24 01:12:12 +02:00
Moshe Kaplan
cd8b65bd8a
Prevent potential buffer overflow in sscanf
2014-07-23 10:03:49 -04:00
Matthew Parlane
008b907bf0
Merge pull request #655 from lioncash/crashes
...
Fix two possible crashes related to the debugger.
2014-07-23 21:24:03 +12:00
Pierre Bourdon
257d2a6faf
Merge pull request #661 from delroth/dolphinbar
...
Fix WiiMote issues causing DolphinBar to not work
2014-07-23 05:26:38 +02:00
Pierre Bourdon
e51c459406
IOWin: rework _IOWrite OVERLAPPED/bytes written handling.
...
CheckDeviceType_Write uses an OVERLAPPED structure to make sure some bytes
were written to the device for a given _IOWrite operation. However, the
OVERLAPPED structure is only used for the BlueSoleil stack, not the MS stack
(which goes through an alternate HID path instead of WriteFile, and does not
have an equivalent async operation).
Make _IOWrite return the number of written bytes instead, since it knows
about the Bluetooth stack being used.
2014-07-23 05:17:04 +02:00
Lioncash
7f55d36013
Clarify that WiimoteEmu::Spy is intended for debugging purposes
2014-07-22 22:38:31 -04:00
Pierre Bourdon
ff61158466
IOWin: Make error 0x1F less noisy.
...
This error code is used by third-party WiiMote adapters to signal the
absence of a WiiMote connected to their virtual HID port. Ignoring it
removes some log spamming and doesn't change anything in terms of
behavior.
2014-07-23 03:32:15 +02:00
Lioncash
8a7640f8b4
DolphinWX: Fix a double truncation warning in InputConfigDiagBitmaps
2014-07-22 06:58:32 -04:00
Shawn Hoffman
c3eb45f7bc
Revert "Merge pull request #473 from Tilka/frsp"
...
This reverts commit d369627d70
, reversing
changes made to 67ff926f1e
.
2014-07-21 20:40:21 -07:00
Matthew Parlane
cee07ff16e
Use new stick/trigger constants for Classic.cpp
2014-07-22 12:16:34 +12:00
Matthew Parlane
82ee68663f
Add stick and trigger radius/center/range consts
2014-07-22 12:14:47 +12:00
Matthew Parlane
e30f4576c9
Revert "Use new stick/trigger constants for Classic.cpp"
...
Added using github, Parlane is an idiot.
This reverts commit 954e61949f
.
2014-07-22 00:08:10 +00:00
Matthew Parlane
954e61949f
Use new stick/trigger constants for Classic.cpp
2014-07-22 11:57:12 +12:00
Jules Blok
4b3d579573
Renderer: Only notify the host when exiting fullscreen
2014-07-21 20:50:50 +02:00
Jules Blok
0c81494c89
Frame: Make the fullscreen transitions more reliable.
2014-07-21 20:50:49 +02:00
Jules Blok
009b4dd376
Exit exclusive fullscreen when the stop confirmation is shown.
...
Also have the renderer remember its own fullscreen state. This is done to prevent a case where we exit exclusive fullscreen through the configuration and a focus shift at the same time. In this case the renderer would fail to detect that the fullscreen state was changed.
2014-07-21 20:50:48 +02:00
Lioncash
d369627d70
Merge pull request #473 from Tilka/frsp
...
Jit64: implement frsp
2014-07-21 14:35:40 -04:00
Jules Blok
36ea1890c8
Let the Renderer decide when to exit fullscreen.
...
This ensures the transition from/to exclusive mode happens while the RenderFrame is fullscreen.
This prevents fullscreen loops and relieves us of having to restore the window size after we exit fullscreen.
2014-07-21 17:11:13 +02:00
booto
0d2bef2743
GCPadStatus: coalescing magic numbers into consts
2014-07-21 19:56:05 +08:00
Matthew Parlane
38d5197a2c
Merge pull request #646 from lioncash/warnings
...
Core: Fix warnings in JitRegCache
2014-07-21 20:43:41 +12:00
Jules Blok
cd94ff1966
VideoConfig: Add "Borderless Fullscreen" option.
...
This option will disable exclusive fullscreen for users who prefer the old behaviour.
2014-07-20 22:02:57 +02:00
Shawn Hoffman
cfc7bb35c2
Windows: Also look for git.exe in the registry (for Git Extensions installs).
2014-07-20 12:33:56 -07:00
Lioncash
298425920a
DolphinWX: Fix a possible crash when setting debugger memory values.
2014-07-19 19:59:44 -04:00
Lioncash
44e43fe5c3
Core: Make CPU_POWERDOWN the initial CPU state.
...
This isn't a correct state for the CPU to begin in when starting the application.
Also CPU_STEPPING as an initial state causes the emulator to crash if you use any of the debugger stepping buttons, since it checks if the CPU is in the CPU_STEPPING state before performing their functions.
2014-07-19 19:43:53 -04:00
Pierre Bourdon
963e1a698c
Merge pull request #581 from TotalNerd/memcard-emu
...
Emulate GameCube memory card speeds
2014-07-20 00:12:47 +02:00
Lioncash
fa2944898f
DolphinWX: Move some public variables to be private in CodeView
...
It's not used outside of the class, and it also shouldn't be modified
outside of it either (considering it holds all the blr instructions inserted by the user).
2014-07-19 17:23:43 -04:00
Jules Blok
3400871992
Renderer: Don't attempt to switch to exclusive fullscreen if "render to main" is enabled.
2014-07-19 21:14:49 +02:00
Jules Blok
9064bf147d
D3D: Don't set the windowed mode size when we initialize in fullscreen.
2014-07-19 21:14:48 +02:00
Jules Blok
d00e76b3ef
Cosmetic changes based on feedback on PR #506 .
2014-07-19 21:14:47 +02:00
Jules Blok
5837b35add
Renderer: Restore exclusive mode after focus has been regained.
2014-07-19 21:14:47 +02:00
Jules Blok
5f04e9c526
D3D: Make the swapchain available outside of the namespace.
...
This commit reverts a part of pull request #579 .
2014-07-19 21:14:46 +02:00
Jules Blok
643c9ff173
D3D: Initialize the renderer in exclusive fullscreen mode if it is enabled.
2014-07-19 21:14:46 +02:00
Jules Blok
961076a3d5
D3D: Return to windowed mode before destroying the swapchain.
2014-07-19 21:14:45 +02:00
Jules Blok
77bc879384
D3D: Add exclusive fullscreen support.
2014-07-19 21:14:44 +02:00
Jules Blok
d72375fdfa
D3D: Request desktop resolution before overriding the buffer size.
...
This fixes issues where the wrong refresh rate is selected for some monitors.
2014-07-19 21:14:44 +02:00
Jules Blok
c323b386ae
Prevent DXGI from making changes to the window.
...
Prevents DXGI from responding to Alt+Enter and messing up our fullscreen handling.
2014-07-19 21:14:43 +02:00
Jules Blok
8d76dca30d
Frame: Make RendererHasFocus() compatible with the new window structure.
2014-07-19 21:14:38 +02:00
Jules Blok
66fec6d0bd
Remove CPanel.
...
Let the RenderFrame handle those messages.
2014-07-19 21:13:15 +02:00
Dolphin Bot
5df45dfbba
Merge pull request #650 from lioncash/scrolling
...
DolphinWX: Implement scrolling in the memory views
2014-07-19 19:31:41 +02:00
Jules Blok
1b70bebb5a
Don't create a Panel for a seperate render window.
...
Instead of setting RenderParent to null and raising complexity RenderFrame can be its own parent.
2014-07-19 15:56:49 +02:00
booto
631a361cc8
GCPadEmu: stop sticks wrapping at extreme values
2014-07-19 19:22:05 +08:00
LPFaint99
da99e0448b
GCI Folder: no need to force reload sysmenu to get version
...
causes crash with larger gci folders as we pull the loader out from under the ppc
2014-07-18 20:34:26 -07:00
Lioncash
a00c7bdb9e
DolphinWX: Implement scrolling in the memory views
2014-07-18 22:42:03 -04:00
TotalNerd
b2ac65bb21
Revised channel access from EXI_DeviceMemoryCard
2014-07-18 20:06:03 -05:00
Ryan Houdek
bc9ef95643
Support Sampler binding in the shader.
...
In the cases where we support the binding layout keyword, use it for more than binding UBO location.
This changes it so it is supported for samplers as well.
Instances when this is enabled is if a device supports GL_ARB_shading_language_420pack, or if it supports GLES 3.10.
2014-07-18 17:04:03 -05:00
Dolphin Bot
b9dc69105d
Merge pull request #595 from Armada651/pref_log
...
FPSCounter: Flush the logs every second and close them when the renderer is shut down.
2014-07-18 12:59:04 +02:00
Jules Blok
eaa7460636
FPSCounter: Remove redundant destructor.
2014-07-18 12:49:40 +02:00
Pierre Bourdon
a180cd60ee
Merge pull request #640 from lioncash/debugger
...
DolphinWX: Enable certain Code View context options only when the core is running.
2014-07-18 09:15:03 +02:00
Pierre Bourdon
8085b3d264
Merge pull request #638 from lioncash/bound-check
...
Core: Fix bounds checking within GCMemcard.cpp.
2014-07-18 09:14:27 +02:00
Pierre Bourdon
4db84c5188
Merge pull request #637 from lioncash/unused
...
Core: Remove unused function Callback_ISOName()
2014-07-18 09:14:06 +02:00
Pierre Bourdon
2fbdc03572
Merge pull request #642 from phire/vs-constants
...
VideoSoftware: Use the same max XFB size as VideoCommon.
2014-07-18 09:12:36 +02:00
Lioncash
98f352a4e6
Core: Fix warnings in JitRegCache
2014-07-18 02:44:29 -04:00
Tillmann Karras
771a30da36
Jit64: implement frsp
2014-07-17 23:22:41 +02:00
TotalNerd
f602372885
Redo timing in DMAWrite/DMARead
2014-07-17 10:57:34 -05:00
TotalNerd
8a0093de23
Emulate GameCube memory card speeds
2014-07-17 10:57:34 -05:00
Scott Mansell
7aff56bef5
Implement the correct method for determining field order.
...
Based on advice from tueidj we implement this method based on how
TVs actually determin the field order.
Removes spammy messages about "Invalid field order"
2014-07-17 23:56:23 +12:00
Pierre Bourdon
d44fc48295
SW: Call OnFrameEnd in the FifoPlayer XFB hack. Required to dump DFF frames.
2014-07-17 13:20:13 +02:00
Scott Mansell
2be83c13be
VideoSoftware: Use the same max XFB size as VideoCommon.
...
And lets just use the same constant as videocommon, so if it ever
increases (again) VideoSoftware will be automatically updated.
2014-07-17 22:39:09 +12:00
Lioncash
bc172f4883
DolphinWX: Enable certain Code View context options only when the core is running.
...
Prior to this, attempting to execute these contextual menu options would
crash the application.
2014-07-17 04:50:53 -04:00
Scott Mansell
48afab2685
Correct left/right volume for padded samples.
2014-07-17 18:41:18 +12:00
Scott Mansell
a0101c5d29
Audio Mixer: move Static variable to a member variable.
...
The two instances of this class were sharing a frac variable causing
audio glitches when both were running (which is now all the time).
Fixes issue 7463 (Since DTK merge, audio has staic in it).
2014-07-17 18:26:21 +12:00
Lioncash
7ca8a834c1
Core: Fix bounds checking within GCMemcard.cpp.
...
Prior to this 127 would be an allowed numeric index. However There is only an addressable range from 0-126.
2014-07-17 01:33:47 -04:00
LPFaint99
19c94de6e0
Gcifolder use correct region for fifologs and homebrew
2014-07-16 21:41:09 -07:00
Lioncash
041445a155
Core: Remove unused function Callback_ISOName()
2014-07-16 20:44:17 -04:00
Sean
304d9ccd58
[Android] Enable filtering onscreen buttons
2014-07-16 20:29:10 -04:00
Dolphin Bot
51dff5a74e
Merge pull request #622 from phire/sw-fix-frame-dump
...
Fixed Frame dumping in VideoSoftware.
2014-07-17 02:04:03 +02:00
Scott Mansell
92eed47213
Fixed Frame dumping in VideoSoftware.
...
Old code dumped the efb, which was no-longer relevant since the
backend gained xfb support.
New code dumps the colour texture which is about to be rendered to
the screen so correctly reflects the bypassXFB option.
2014-07-17 11:43:59 +12:00
Pierre Bourdon
8cf21cdcdb
Merge pull request #633 from magcius/wip/input-focus-fix
...
Fix input focus issues
2014-07-17 01:21:31 +02:00
Lioncash
30e4366d28
Merge pull request #580 from SeannyM/smaller-b
...
[Android] User configurable input overlay scaling
2014-07-16 19:04:35 -04:00
Pierre Bourdon
9481af886b
Merge pull request #632 from lioncash/dolwx
...
DolphinWX: Mild readability clean up of CodeView.
2014-07-16 23:46:47 +02:00
Pierre Bourdon
ebec4b01ef
Merge pull request #634 from degasus/pixelshader-align
...
PixelShaderGen: fix indentation
2014-07-16 23:43:36 +02:00
Jules Blok
3b978f7c27
Turn the FPSCounter namespace into a class.
2014-07-16 20:40:40 +02:00
Tony Wasserka
2daa83da48
Merge pull request #372 from Tilka/fctiwzx
...
Jit64: implement fctiwx/fctiwzx
2014-07-16 17:41:21 +02:00
degasus
01fd96ab31
PixelShaderGen: fix indentation
2014-07-16 17:24:43 +02:00
Jasper St. Pierre
44307c9508
Host: Add a new "UIHasFocus" hook to determine if the UI has focus
...
We can't use RendererHasFocus for this purpose because of some issues
with exclusive fullscreen, and the new RendererHasFocus implementation
didn't work for non-Render to Main Window cases, since the renderer
window wasn't managed by wx.
2014-07-16 10:27:21 -04:00
Jasper St. Pierre
ee087f5953
Revert "Frame: Fix RendererHasFocus"
...
This reverts commit ff918df889
.
This changed it from "RendererHasFocus" to "UIHasFocus", which is
wrong. Specifically, it broke for non-Render to Main Window cases where
the renderer window isn't managed by wx. It also broke the pending
exclusive fullscreen support, which checks this function to determine if
the renderer is on top so it can full-screen it.
We'll add a new hook, "UIHasFocus", in the next commit.
2014-07-16 10:26:06 -04:00
Lioncash
48ca800b13
DolphinWX: Mild readability clean up of CodeView.
...
- Gets rid of the underscore in some function names
- Appends the 'm_' prefix to class member variables.
Now it isn't a pain to see what is being modified in terms of state. Especially in the OnPaint call.
2014-07-15 23:01:17 -04:00
Dolphin Bot
57a4bfb835
Merge pull request #631 from lioncash/scrolling
...
DolphinWX: Implement scrolling in the code view and DSP disassembly view.
2014-07-16 03:53:53 +02:00
Lioncash
9c1b427687
DolphinWX: Implement scrolling in the code view and DSP disassembly view.
2014-07-15 21:35:11 -04:00
Lioncash
6c57457f9f
Core: Correct some function casings.
2014-07-15 19:41:50 -04:00
Tillmann Karras
6521929f99
Jit64: implement fctiw/fctiwz
2014-07-15 23:58:09 +02:00
Tillmann Karras
6df48ed432
x64Emitter: add CVTTPD2DQ
2014-07-15 23:53:56 +02:00
Rachel Bryk
ed5169c5eb
Fix leaking exi devices.
2014-07-15 16:15:38 -04:00
Sean
cd9a0b6f4d
[Android] Onscreen controls better resemble GC and user configurable scaling
2014-07-15 16:14:27 -04:00
Lioncash
ebd029973a
Merge pull request #604 from magcius/wip/emu-cleanup-2
...
Start cleaning up the input interface
2014-07-15 12:11:17 -04:00
Lioncash
01cd90deef
Merge pull request #544 from LPFaint99/memcard
...
GCI Folder fix compatibility with games that relocate the save after first use
2014-07-15 12:09:56 -04:00
Lioncash
0720a36c99
Merge pull request #624 from phire/fix-334-issue
...
Fix another protential issue with casting.
2014-07-15 12:04:16 -04:00
Lioncash
79eb0f8d0c
Merge pull request #623 from phire/sw-xfb-clamping
...
Fix incorrect clamping in SWRenderer.
2014-07-15 12:04:06 -04:00
Lioncash
35b97ed732
Merge pull request #558 from sigmabeta/game-list-fixes
...
A few tweaks to implementation of the game list screen.
2014-07-15 11:31:26 -04:00
Scott Mansell
b8695a57da
Fix incorrect clamping in SWRenderer.
...
A previous PR changed a whole lot of min/maxes to std::min/std::max
but made a mistake here and used a templated min which cast it's
arguments to unsigned instead of casting return value.
This resulted in glitchy artifacts in bright areas (See issue 7439)
I rewrote the code to use a proper clamping function so it's cleaner
to read.
2014-07-15 21:15:49 +12:00
Lioncash
8cc11de94a
Merge pull request #625 from lioncash/logging
...
Remove some unnecessary defines in Log.h
2014-07-15 02:37:16 -04:00
Tillmann Karras
4063694d20
VideoCommon: fix ifdef expression
2014-07-15 04:15:49 +02:00
Eder Bastos
36821cb117
Display file size in GiB instead of bytes.
2014-07-14 21:52:52 -04:00