Commit graph

14546 commits

Author SHA1 Message Date
Ryan Houdek
ed008c3a69 [AArch64] Change the vertex loader over to using unscaled loadstores.
In nearly all direct loadstore cases we can use unscaled loadstores.
Still have a fallback in case we hit a situation that we /can't/ do a unscaled loadstore.
2015-02-16 22:03:09 -06:00
Ryan Houdek
120df4c688 [AArch64] Implement loadstore unscaled. 2015-02-16 22:00:43 -06:00
magumagu
77a0bfdd8f Merge pull request #2055 from magumagu/fakevmem-code
Allow executing code out of FakeVMEM.
2015-02-16 19:13:14 -08:00
magumagu
cce503c879 Disable an IsCPUThread() assert in Release builds.
IsCPUThread is extremely slow at the moment, and this code runs
frequently.
2015-02-16 19:07:42 -08:00
Jasper St. Pierre
e53268be1b WiimoteEmu: Add back the calibrated accel data to the EEPROM
It seems that games actually read this to determine how to act, which
isn't particularly strange. I was imagining it was more for the
Wiimote's internal normalization, but I was wrong.
2015-02-16 15:16:23 -08:00
Ryan Houdek
2ebe57ed3f Convert our vertex loader unit test to the new RunVertices arguments arrangement. 2015-02-16 16:51:39 -06:00
Ryan Houdek
f54a0d3ff4 [AArch64] Minor floating point loadstore improvements.
These use the Vector x Element FMUL instruction to improve speeds slightly.
Should give ~3cycle improvement per quantized loadstore done.
2015-02-16 16:51:39 -06:00
Ryan Houdek
b4b03641b3 [AArch64] Implement vertex loader recompiler.
Shows a noticeable reduction in time spent in the vertex loader.
2015-02-16 16:51:32 -06:00
magumagu
5b6a947e8f Merge pull request #2035 from magumagu/remove-bat-option
Remove the BAT checkbox/setting/implementation.
2015-02-15 17:27:18 -08:00
Scott Mansell
43dfec07c9 Cleanup DotProduct function to make it more readable. 2015-02-16 13:53:58 +13:00
Scott Mansell
7add7b685f Remove unneeded spaces from code.
Line now matches the style of the rest of the function.
2015-02-16 12:59:45 +13:00
Lioncash
16a6392308 Merge pull request #2054 from lioncash/disable
DolphinWX: Change Enable(false) calls into Disable() where possible
2015-02-15 13:26:44 -05:00
Markus Wick
f38b3ace38 Merge pull request #2038 from magumagu/disable-thread-safety-checks
Disable thread safety assertions added in PR1987.
2015-02-15 10:33:19 +01:00
skidau
d601657c99 Merge pull request #2045 from greyrogue/master
Add Datel AGP save commands for SRAM/FRAM.  Improve EEPROM.
2015-02-15 12:57:58 +11:00
Pierre Bourdon
b7916f9655 Merge pull request #2057 from lioncash/busy
DolphinWX: Remove unnecessary wxBeginBusyCursor and wxEndBusyCursor calls
2015-02-15 01:54:59 +00:00
greyrogue
2d4aa2a195 Add save commands for SRAM/FRAM. Improve EEPROM.
Handle possible endian file read issues at file access time instead of
using Swap64 on every access.
Code comments and clean up.
2015-02-14 20:36:26 -05:00
skidau
72e8e78ec8 Merge pull request #2037 from magumagu/illegal-inst-handling
Improve illegal instruction handling.
2015-02-15 12:34:08 +11:00
skidau
32d8f887fe Merge pull request #2032 from mathieui/update-libusb-externals
Update the libusb in externals to 1.0.19 (latest)
2015-02-15 12:32:10 +11:00
Lioncash
537ad96ece DolphinWX: Remove unnecessary wxBeginBusyCursor and wxEndBusyCursor calls
The UI greys all buttons when shutting down, so it's sufficient as a visual cue
2015-02-14 19:43:59 -05:00
Pierre Bourdon
3500740dd4 Windows AVIDump: support "silent" frame dumping
When enabled, the silent option will avoid popping up dialog boxes for
overwrite confirmation or codec selection. The codec selection defaults to
uncompressed RGB.

This is required for FifoCI on Windows which needs to drive Dolphin from the
command line exclusively.
2015-02-14 23:38:14 +01:00
magumagu
001bf9152e Allow executing code out of FakeVMEM.
Fixes regression from PR1856 (address translation).
2015-02-14 14:08:46 -08:00
Lioncash
50f600c834 DolphinWX: Change Enable(false) calls into Disable() where possible 2015-02-14 16:00:15 -05:00
Markus Wick
405444d4fe Merge pull request #1803 from lioncash/rgb
OnScreenDisplay: Allow for different colored messages
2015-02-14 10:47:47 +01:00
skidau
61b19bda3e Merge pull request #2042 from unknownbrackets/gcz-fix
DiscIO: On decompress to file, write last blocks correctly
2015-02-14 13:46:06 +11:00
Lioncash
e3b9be6dbb Core: Move several files into the correct VS directory filter 2015-02-13 20:57:23 -05:00
Tillmann Karras
a7cc36e711 Movie: reintroduce a local variable 2015-02-14 02:27:15 +01:00
Lioncash
6558704403 Merge pull request #2030 from lioncash/destroy
DolphinWX: Get rid of unnecessary Destroy calls
2015-02-13 20:22:01 -05:00
Rachel Bryk
b66df8424a Remove an unneeded global variable from Movie.cpp. 2015-02-13 20:11:44 -05:00
Pierre Bourdon
4ceae57713 Merge pull request #2015 from Stevoisiak/WAD-Version-Check
VolumeWad: Return version number for WADs
2015-02-13 22:09:30 +01:00
Ryan Houdek
15e41c67f8 Change RunVertices' function arguments.
This reduces some dumb state shuffling when calling the emitted vertex loaders.
2015-02-13 12:16:06 -06:00
Ryan Houdek
b989c2fd8f [AArch64] Fix another assert in the JIT register cache. 2015-02-13 12:16:06 -06:00
Ryan Houdek
814aaaf538 [AArch64] Implement a couple of emitter instructions.
These will be used with the vertex loader JIT recompiler.
2015-02-13 12:16:06 -06:00
Ryan Houdek
0252bbb33f [AArch64] Fix non-PCH build. 2015-02-13 12:16:05 -06:00
Ryan Houdek
8074d06270 [ARM] Fix poison memory functions.
We were poisoning 4x more data and overrunning our buffers. We don't want to do this.
2015-02-13 12:16:05 -06:00
Ryan Houdek
20dae1f210 [AArch64] Fix a bunch of emitter asserts.
Since I've added the msg handler. I found all these asserts that were backwards. So they were asserting on the correct arguments.
2015-02-13 12:16:05 -06:00
Ryan Houdek
57c66798fc [Android] Register panic alert handler.
This lets me see _assert_msg_ alerts on Android when passing dumb arguments to my AArch64 emitter.
2015-02-13 12:15:59 -06:00
Tillmann Karras
1b38800a67 DolphinWX: fix -e parameter 2015-02-13 10:34:18 +01:00
Tillmann Karras
d33e760c55 Jit64: turn short jmp into near jmp
Fixes a regression from #1856's ac54c6a.
2015-02-13 07:51:34 +01:00
Unknown W. Brackets
df5857b5af DiscIO: On decompress to file, write last blocks. 2015-02-12 20:30:11 -08:00
magumagu
6797718950 Merge pull request #2039 from magumagu/pr1856-typos
Fix typos from PR1856 (address translation).
2015-02-12 16:18:54 -08:00
magumagu
f9e8ad39fc Fix typos from PR1856 (address translation). 2015-02-12 12:11:33 -08:00
magumagu
98b809a05e Disable thread safety assertions added in PR1987.
We do a whole bunch of non-threadsafe stuff, especially in the UI, and I'm
probably not going to get around to implementing a threadsafe framework
for interaction between the UI and the CPU thread anytime soon.  See issue
8220.
2015-02-12 11:54:17 -08:00
magumagu
985087c7e2 Make all unknown opcodes behave consistently.
Consistently fall back to the interpreter for unknown instructions, and
make sure GetOpInfo() always returns a non-null pointer.
2015-02-11 22:18:33 -08:00
magumagu
e640ef9d7b Improve illegal instruction handling.
This should more reliably show an error message for illegal
instructions.
2015-02-11 21:01:00 -08:00
magumagu
aa40f750d4 Remove the BAT checkbox/setting/implementation.
The current version of the setting is useless, and the real implementation
(PR1882) will be always-on, and won't use any of the existing code.
2015-02-11 20:24:51 -08:00
Lioncash
c7c6bdbf5a Merge pull request #2027 from Buddybenj/change-wording
Change Wording
2015-02-11 23:23:22 -05:00
magumagu
49f223a211 Remove setting "BlockMerging".
It isn't hooked up to anything anymore, and it isn't the sort of thing we
want users messing with anyway.
2015-02-11 19:52:48 -08:00
magumagu
0e0a196a1c Merge pull request #1856 from magumagu/correct-translation-disable-2
Make address translation respect the CPU translation mode
2015-02-11 17:04:12 -08:00
Benjamin Przybocki
8cf4a57844 Change Wording
All of the other descriptions for drop-down menus use select.
2015-02-11 18:43:47 -06:00
Tillmann Karras
4fa38f0c02 Externals: update libusb to version 1.0.19 2015-02-12 01:04:43 +01:00
Pierre Bourdon
b7e455ece8 Merge pull request #2031 from degasus/master
ShaderGen: Fix pixel offset correction
2015-02-12 00:39:27 +01:00
magumagu
4193350d22 Memmap: add an explanation of Dolphin's memory layout. 2015-02-11 15:22:21 -08:00
skidau
4ff5ec7117 Merge pull request #1984 from mathieui/GCAdapter-fixes
Fix issues with the GC adapter handling code
2015-02-12 09:54:53 +11:00
magumagu
aaee23d1b4 Fix ARM64 build for address translation changes. 2015-02-11 13:56:38 -08:00
magumagu
e136c8a066 PowerPC: misc cleanup. 2015-02-11 13:56:36 -08:00
magumagu
ac54c6a4e2 Make address translation respect the CPU translation mode.
The PowerPC CPU has bits in MSR (DR and IR) which control whether
addresses are translated. We should respect these instead of mixing
physical addresses and translated addresses into the same address space.

This is mostly mass-renaming calls to memory accesses APIs from places
which expect address translation to use a different version from those
which do not expect address translation.

This does very little on its own, but it's the first step to a correct BAT
implementation.
2015-02-11 13:56:22 -08:00
degasus
c404e87226 ShaderGen: Fix pixel offset correction
We want to move the vertex by 1/12 pixel, but the old code
did miss the perspective division. So by multiplying with pos.w,
the position is moved correctly after the perspective division.
2015-02-11 20:54:15 +01:00
JosJuice
f9d6c17c08 Use CoreParameter's game INI functions in more places 2015-02-11 19:01:05 +01:00
JosJuice
e186104960 Don't use revision-specific unique ID strings outside of CoreParameter 2015-02-11 19:01:04 +01:00
JosJuice
47e67f9696 CoreParameter: Support game INIs that match all regions 2015-02-11 19:01:03 +01:00
JosJuice
8670f2a627 CoreParameter: Unify LoadDefaultGameIni and LoadLocalGameIni
A side effect of this is that user INIs now can specify revisions.
I don't think anyone will use it, but there's no reason to not allow it.
2015-02-11 19:01:03 +01:00
JosJuice
d73a6ea3b7 Move some BootManager game INI code to CoreParameter 2015-02-11 19:01:02 +01:00
Lioncash
9a6b6a99e8 DolphinWX: Get rid of unnecessary Destroy calls
Removes the requirement for stack allocated InputConfigDialogs to call Destroy. This shouldn't be necessary for wxDialog derivatives.
This also fixes a leak that would occur every time an InputConfigDialog is opened and closed. wxWindow subclasses (this includes wxDialog) only destroy child windows and sizers (including things in the sizers). So every wxTimer allocation would have resulted in a leak.
2015-02-11 09:38:38 -05:00
magumagu
d9988ee9b5 Merge pull request #1987 from magumagu/thread-safety
Cleanup usage of atomic/threadsafe functions
2015-02-10 13:48:12 -08:00
magumagu
0f96a0104e Merge pull request #1752 from Buddybenj/clean-up
Clean Up
2015-02-10 11:39:14 -08:00
magumagu
1acd80f23f Merge pull request #1779 from riking/pr-rename-boot-from-dvd
Reword "Boot from DVD Drive" -> "DVD Backup" menu option
2015-02-10 11:07:44 -08:00
Lioncash
07556b4849 WiimoteEmu: Change define into a variable and move it to where it's used. 2015-02-10 11:46:04 -05:00
Markus Wick
2aef84d80c Merge pull request #2025 from phire/be-neobrain
Remove VBeam Speed Hack.
2015-02-09 12:55:58 +01:00
Scott Mansell
4cb01673a0 Remove now useless NumFields Function which always returned 1. 2015-02-10 00:48:06 +13:00
Scott Mansell
8f416821ad Remove VBeam Speedhack. 2015-02-09 23:10:30 +13:00
Markus Wick
b79015186e Merge pull request #2023 from mrgreywater/d3d-efb-ms-crash-fix
D3D: Fixed crash rendering EFB textures with MSAA
2015-02-08 22:11:15 +01:00
mr.greywater
2434b531f3 D3D: Fixed crash rendering EFB textures with MSAA
Rendering EFB textures currently crashes with the D3D backend when MSAA is enabled, because the depth texture wasn't correctly resolved. An example for a crash would be starting Pokemon Snap with D3D and MSAA enabled.
2015-02-08 21:03:15 +01:00
Fiora
451c4f3c4b Merge pull request #1969 from JosJuice/dvd-decryption-optimization
VolumeWiiCrypted: Decryption optimization
2015-02-08 11:57:55 -08:00
mr.greywater
a1f8c232b2 Fix warning message when loading german discs
Added COUNTRY_GERMANY as EUR_DIR so it will not show the warning message that the GCM/ISO is invalid. Also refactors the code to remove duplicate code.
2015-02-08 16:38:35 +01:00
JosJuice
28b441ebea VolumeWiiCrypted: Replace some hardcoded values with constants 2015-02-08 10:31:17 +01:00
Lioncash
537b9e507b Merge pull request #1998 from FL-dolphinemu/align_g_HKData_struct
Vertical aligned all members of g_HKData struct.
2015-02-07 21:31:45 -05:00
Lioncash
9d5c6c55fe OnScreenDisplay: Allow for different colored messages 2015-02-07 17:35:21 -05:00
Lioncash
3767ddcacf Merge pull request #2019 from Buddybenj/website
Web Site -> Website
2015-02-07 17:06:23 -05:00
Fiora
73d65f3ad3 Merge pull request #1874 from magumagu/remove-unchecked-reads
JIT: cleanup instrction merging for idle loop and dcbst.
2015-02-07 13:48:22 -08:00
Benjamin Przybocki
e75b5165c2 Web Site -> Website 2015-02-06 16:13:35 -06:00
skidau
8f4bcf3ec3 Merge pull request #2012 from lioncash/memswitch
Memmap: Fix switch fallthroughs
2015-02-06 21:47:24 +11:00
skidau
66d80b75e2 Merge pull request #1939 from Sintendo/dspjit_ccnits
Minor DSP JIT optimizations
2015-02-06 13:53:09 +11:00
Stevoisiak
b578abfbaa VolumeWad: Return version number for WADs 2015-02-05 11:27:57 -05:00
JosJuice
3414f818cd DVDInterface: Get rid of DVDCommandResult struct
It's only used in one place and is no longer necesssary.
2015-02-05 15:10:31 +01:00
JosJuice
af4f872dfe DVDInterface: Schedule event in ExecuteCommand 2015-02-05 15:10:14 +01:00
mathieui
8e556603af Fix issues with the GC adapter handling code
If we successfully detach the kernel driver from the interface, we
should continue instead of aborting the setup.

And we should not use libusb_handle_events(), as the API says it is only
for backwards compatibility. Additionally, if the adapter thread is not
active, dolphin will take 60 seconds to close because the
libusb_handle_events() timeout is hardcoded to 60 seconds. Instead, use
libusb_handle_events_timeout_completed() with a timeout of 1 second.
Also, cancel the libusb transfers before the join(), to be able to close
the usb device without libusb screaming in the background (and
potentially crashing).

And finally, split the Init() and Shutdown() functions to avoid having
to init and exit libusb every time we neeed to detect the adapter.
2015-02-05 10:03:21 +01:00
Sintendo
46df8a5358 Correct clobber comments 2015-02-04 22:26:40 +01:00
Sintendo
ca0790e9c9 Merge Update_SR_Register64_Carry functions 2015-02-04 22:26:40 +01:00
Sintendo
34afe08de9 Minor DSP JIT optimizations 2015-02-04 22:26:39 +01:00
degasus
68c70be960 HotKey: fix warnings 2015-02-04 20:19:16 +01:00
Lioncash
e07679114b Use emplace_* functions where in-place construction is preferable 2015-02-04 11:39:08 -05:00
Lioncash
d7c6a7522d Memmap: Fix switch fallthroughs
Fixes a bug where out of range MEM2 accesses would hit the locked cache.
2015-02-04 08:28:52 -05:00
skidau
3709a1ce3a Fixed the crash which occurred when opening Wiimote configuration before a game was started. 2015-02-04 18:48:19 +11:00
skidau
fc8ea9c3b3 Ignore hotkeys if the game has not started. 2015-02-04 18:06:20 +11:00
skidau
b9fb6ad3e8 Initialised all controller interfaces together on CFrame construction to fix the crash that would occur if the controller config were opened before a game was started. 2015-02-04 18:05:22 +11:00
skidau
5e645732f2 Merge pull request #1949 from skidau/hotkey-input
Added the ability to map gamepad buttons to hotkeys.
2015-02-04 14:35:03 +11:00
skidau
c18c50a0e1 Merge pull request #1904 from magumagu/d3d-allow-nooutput-adapter
D3D: allow selecting adapters with no outputs.
2015-02-04 13:09:27 +11:00
Markus Wick
b2df8cb87f Merge pull request #2005 from magumagu/d3d-efb-depth
Fix regression for D3D EFB depth copies.
2015-02-03 20:50:20 +01:00
magumagu
57d94de2ad Fix regression for D3D EFB depth copies.
On D3D, we read from the depth buffer using the format
DXGI_FORMAT_R24_UNORM_X8_TYPELESS (essentially, the "r" component contains
the depth, and the other components contain nothing).
2015-02-03 11:27:27 -08:00
skidau
4e7d2ab893 Merge pull request #1985 from CarlKenner/accelerometers
Fix accelerometer wiimote/nunchuk emulation.
2015-02-02 12:15:43 +11:00