Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Houdek e60f0b3cf0 Merge pull request #3551 from RisingFog/videodump_proper_delay
Properly Handle Video Dumping from Power On
2016-03-03 10:38:36 -05:00
Ryan Houdek 46b5b07883 Merge pull request #3703 from Sonicadvance1/android_case_insensitive
[Android] Make sure the file extension check isn't case sensitive
2016-03-03 09:44:00 -05:00
Ryan Houdek b57cb30c41 [Android] Make sure the file extension check isn't case sensitive 2016-03-03 08:29:51 -06:00
Ryan Houdek ee6104d1cd Remove mbedtls header install target. 2016-03-01 17:14:09 -06:00
Ryan Houdek 36b476ed76 Merge pull request #3683 from Sonicadvance1/aarch64_fix_fcmp
[AArch64] Fix fcmp.
2016-03-01 09:29:56 -05:00
Ryan Houdek 344a4ddc9b Merge pull request #3685 from degasus/arm
JitArm64: Optimize addi
2016-03-01 09:29:42 -05:00
Ryan Houdek c9743c2f14 Merge pull request #3689 from degasus/EGL
EGL: Also check for higher GL versions.
2016-03-01 09:22:18 -05:00
Ryan Houdek c82feb6c08 Merge pull request #3626 from Sonicadvance1/more_robust_gcadapter
Improve stability of the Wii U Gamecube Controller adapter under Android.
2016-02-29 09:54:01 -05:00
Ryan Houdek 9212f35b4c Merge pull request #3681 from degasus/arm
JitArm64: Don't generate the carry if it's not used any more.
2016-02-28 16:23:04 -05:00
Ryan Houdek abaa8fc24d [AArch64] Fix fcmp.
Fixes Luigi's head vanishing. Was due to a mishandling of nans.
Confirmed fixed by hardware test.
2016-02-28 13:15:47 -06:00
Ryan Houdek a0c51806ec Merge pull request #3629 from degasus/arm
JitArm64: Single precision tracking.
2016-02-25 18:10:15 -05:00
Ryan Houdek 0e7401f350 Merge pull request #3639 from ASSympt0te/toggle-frame-limit-changes-fixes
Reword "Toggle Frame Limit" to better explain function
2016-02-24 12:15:11 -05:00
Ryan Houdek 6513062144 Merge pull request #3596 from Sonicadvance1/fix_android_crash
[Android] Fix crash when we don't have access to a folder.
2016-02-22 16:15:54 -05:00
Ryan Houdek d4dfbbf214 Make sure to get the right function pointer for DSA+buffer_storage 2016-02-15 06:05:38 -06:00
Ryan Houdek 64cb57c5ee Disable a few OpenGL 4.5 functions that AMD fails to expose. 2016-02-15 06:05:09 -06:00
Ryan Houdek 2685ebaed1 Add support for GL 4.3 2016-02-14 20:35:38 -06:00
Ryan Houdek e253fafe42 Add support for GL 4.4 2016-02-14 20:16:33 -06:00
Ryan Houdek 87afa2c277 Add support for GL 4.5 2016-02-14 20:15:40 -06:00
Ryan Houdek 23787f709c Change GL 4.2 defines over to the proper naming convention. 2016-02-14 20:01:02 -06:00
Ryan Houdek cafc879b7c Merge pull request #3617 from degasus/arm
JitArm64: Merge FP functions.
2016-02-13 18:57:01 -05:00
Ryan Houdek 6cc40b1235 Improve stability of the Wii U Gamecube Controller adapter under Android.
Under failure conditions of the GC Adapter, When interface count is zero and we can't open the device.
Then there were race conditions on shutdown of the threads which could result in crashing.

Make adapter opening more robust like the Mayflash DolphinBar.
Make shutdown more robust by making the read thread control the write thread.
Make sure that there is actual data to be written when kicking the write thread. So it doesn't attempt a write a shutdown.
Make a toast on screen to tell the user that the adapter needs to be unplugged and plugged back in again for it to work.
2016-02-13 08:17:20 -06:00
Ryan Houdek 1257ab49e4 Merge pull request #3621 from Sonicadvance1/support_static_ffmpeg
Extend libav check to find versions without pkg-config
2016-02-13 08:13:51 -05:00
Ryan Houdek b2b0959f23 Geometry shader bug isn't fixed in 11.1.2 for Intel Sandy Bridge 2016-02-12 07:04:09 -06:00
Ryan Houdek 494938365f Extend libav check to find versions without pkg-config 2016-02-11 15:34:34 -06:00
Ryan Houdek cf6f9de350 Both Intel and Radeon Mesa geometry shader bugs are fixed in 11.1.2 2016-02-11 12:55:55 -06:00
Ryan Houdek b8628433f2 Merge pull request #3603 from sigmabeta/android-wiimote
[Android] Add UI support for newly-implemented DolphinBar support
2016-02-09 00:31:33 -05:00
Ryan Houdek 32dcb4c37c Merge pull request #3610 from Aestek/fix/netplay-ifaddr-segfault
Fix: segfault in NetPlayServer::GetInterfaceListInternal for ifa_addr-less interfaces
2016-02-08 16:27:50 -05:00
Ryan Houdek 35d7c2bc78 Merge pull request #3593 from Sonicadvance1/Android_Mayflash_adapter
[Android] Implement support for real Wiimotes with the DolphinBar
2016-02-07 15:51:33 -05:00
Ryan Houdek fe53461611 [Android] Implement support for real Wiimotes with the DolphinBar
This is the only way to get Wiimotes working under Android now.
This, just like the Wii U Gamecube Controller Adapter, completely goes around Android's limitations and talks with the device directly through USBManager.

Couple notes.
Continuous scanning must be enabled otherwise the Wiimotes won't be seen.
The UI doesn't expose support for this yet. One must change the Wiimote source and continuous scanning settings manually.

Testing up to two wiimotes in Taiko No Tatsujin, no reason to believe all four won't work.
2016-02-07 05:31:48 -06:00
Ryan Houdek 36af9981c7 Merge pull request #3595 from Sonicadvance1/Android_headless
[Android] Headless support
2016-02-06 20:08:58 -05:00
Ryan Houdek d5836dfd5b Merge pull request #3600 from Sonicadvance1/remove_mbedtls_install
Remove mbedtls install target
2016-02-06 19:07:19 -05:00
Ryan Houdek ab0091b156 Remove mbedtls install target
Fixes 5.0 blocker bug #9208
2016-02-06 02:43:50 -06:00
Ryan Houdek 07434e3a65 [Android] Fix crash when we don't have access to a folder. 2016-02-05 22:03:33 -06:00
Ryan Houdek 2f7e3ae58e CMakeLists cleanup and enable Android headless building. 2016-02-05 11:24:11 -06:00
Ryan Houdek 6305f09467 Use cmake to determine if we are enabling the Android Controller Interface 2016-02-05 10:54:17 -06:00
Ryan Houdek 018625e54f Rearrange GLInterface interface generation.
This will be important when we enable headless on Android
2016-02-05 10:53:32 -06:00
Ryan Houdek 38cb6ba6dc Fix a bug in the Common CMakeLists file
We were overwriting the LIBS variable. Effectively dropping libiconv from the libs.
2016-02-05 10:51:56 -06:00
Ryan Houdek 19cd9ecf16 Fix a few missing includes 2016-02-05 10:50:08 -06:00
Ryan Houdek 2282651fdb Merge pull request #3584 from sigmabeta/android-settings-text-fix
[Android] Change SettingsActivity label to "Settings" instead of "CPU Settings"
2016-02-01 10:26:15 -05:00
Ryan Houdek 31523b7e80 Merge pull request #3572 from Sonicadvance1/egl_support_headless
Egl support headless
2016-01-30 11:15:07 -05:00
Ryan Houdek 8e8e6f3234 Merge pull request #3581 from sigmabeta/android-input-config
[Android] Implement Gamecube Input setting screen
2016-01-30 10:55:11 -05:00
Ryan Houdek f1ca95eec7 Merge pull request #3553 from Sonicadvance1/more_android_gc_adapter
Implement requesting permission for using the GC Wii U Adapter.
2016-01-29 23:12:37 -05:00
Ryan Houdek 5edc7705fe Merge pull request #3550 from Sonicadvance1/egl_support_core_profile
Support the OpenGL core profile in EGL.
2016-01-29 19:37:24 -05:00
Ryan Houdek c50efb17e5 Merge pull request #3546 from Sonicadvance1/egl_shared_context
Implement shared contexts in the EGL context.
2016-01-29 19:33:52 -05:00
Ryan Houdek ea3a457091 Merge pull request #3573 from degasus/fifoplayer
Fifoplayer: Fix dual core
2016-01-29 16:39:32 -05:00
Ryan Houdek e086928806 Merge pull request #3579 from Sonicadvance1/GLExtesions_gl_4_2
Implement support for GL 4.2 in GLExtensions
2016-01-28 19:25:17 -05:00
Ryan Houdek 88c232aa1b Merge pull request #3580 from Tilka/fix_warnings
Fix warnings
2016-01-28 19:12:22 -05:00
Ryan Houdek e1f21602fd Merge pull request #3426 from Sonicadvance1/ES_fix_framedump
Add support for framedumping to OpenGL ES.
2016-01-28 18:24:32 -05:00
Ryan Houdek b846ec084e Implement requesting permission for using the GC Wii U Adapter. 2016-01-27 15:08:45 -06:00
Ryan Houdek 628e9bad92 Support a headless EGL option.
This is a new option to support completely headless running of Dolphin without X11 on systems that can properly support it.
2016-01-27 15:04:14 -06:00
Ryan Houdek 184a7a3e0d Include the EGL defines we need for KHR_create_context ourselves.
This is because Google decided it was in their best interest to update eglext.h for android-21/arch-arm only and completely neglect all the other
architectures.
Sucks to suck.
2016-01-27 14:54:44 -06:00
Ryan Houdek 34d0e7835b Support the OpenGL core profile in EGL.
This should make our Mesa EGL users happy.
2016-01-27 14:54:32 -06:00
Ryan Houdek 921c7139c5 Implement support for GL 4.2 in GLExtensions 2016-01-27 13:58:34 -06:00
Ryan Houdek aed693eded Implement shared contexts in the EGL context.
This is being implemented here first under EGL since the infrastructure is already in place for this due to the Android code requiring some bits.
The rest of the interfaces will come in a little bit.

This will be required for threaded shader compiling in the near future.
2016-01-27 13:15:02 -06:00
Ryan Houdek 6e13496d8d Merge pull request #3554 from mathieui/netplay_devices
[netplay] Use the local type of each SI device
2016-01-23 16:03:25 -05:00
Ryan Houdek 1c3c36f285 Merge pull request #3533 from JosJuice/2x-resources
DolphinWX: Support 2x images for all resources
2016-01-23 12:52:05 -05:00
Ryan Houdek a62a9b8161 Fix a bug in GCAdapter_Android where the payload size would end up being crazy values on the opposite thread 2016-01-23 11:40:33 -06:00
Ryan Houdek df5bdbe279 Merge pull request #3547 from sigmabeta/android-config-rewrite
[Android] Rewrite settings UI.
2016-01-23 12:40:05 -05:00
Ryan Houdek ae4c7661d6 Merge pull request #3212 from mickdermack/pr-recalc-flags
JIT x64: Recalculate flags after add/sub
2016-01-22 12:45:52 -05:00
Ryan Houdek ba8dc2cef3 Merge pull request #3517 from sigmabeta/android-animation-refactor
[Android] Refactor animations
2016-01-22 06:24:57 -05:00
Ryan Houdek 7c3e4b34f3 Merge pull request #3541 from Sonicadvance1/fix_netplay_option_sending
Stops netplay clients from failing to send settings on game start
2016-01-21 08:51:11 -05:00
Ryan Houdek 1a20772ccd Stops netplay clients from failing to send settings on game start
Clients have no need to send their configuration information on start and the server straight out ignores it.
Not to mention it shouldn't try sending a struct as a null terminated string.

Cleans up how the server sends the configuration slightly as well.
2016-01-21 07:20:21 -06:00
Ryan Houdek 70aa012fef Allow multiple GC adapters on one PC to be used with multiple Dolphin instances.
Previously we would iterate through every GC adapter plugged in to the PC and steal ownership of it.
This causes issues all over the place in the implementation if this happens.
Break on the first adapter we can get access to.
2016-01-20 15:20:17 -06:00
Ryan Houdek 3dda36bc5b Blacklist Sandy Bridge on mesa from using geometry shaders. 2016-01-20 12:13:21 -06:00
Ryan Houdek f4c1801c64 Merge pull request #3537 from Sonicadvance1/socially_accepted_stripping
Strip the Android shared library file.
2016-01-20 11:43:46 -05:00
Ryan Houdek c399eefdaa Strip the Android shared library file.
This cuts down the shared library size from ~11MB to ~5.5MB
2016-01-20 10:40:42 -06:00
Ryan Houdek d134858403 Merge pull request #3531 from Sonicadvance1/fix_exit_hotkey
Fix the Exit hotkey.
2016-01-19 03:08:54 -05:00
Ryan Houdek abb4c64c8f Fix the Exit hotkey.
We were constructing our wxCommandEvent incorrectly and using an ID as an event type instead of the ID.
Works properly now.
2016-01-19 02:04:45 -06:00
Ryan Houdek 7b9eeba168 Merge pull request #3479 from Sonicadvance1/fix_hotkeys
Fix hotkeys not reporting inputs.
2016-01-19 02:15:25 -05:00
Ryan Houdek f73961663e Fix a typo on the size passed in to the IPL descrambler.
Fixes issue #6081
2016-01-18 04:30:30 -06:00
Ryan Houdek 6754326c6b Fix debugger address lookup search control.
The dumb wxAUI stuff isn't fully implemented for GTK. So the wxAuiToolBar doesn't properly deduce the size it needs to be when it contains a
wxSearchCtrl object.
Force the manager to set its minimum size to something reasonable.
2016-01-16 08:05:24 -06:00
Ryan Houdek 185d4dbc76 Merge pull request #3511 from Armada651/ini-default
IniFile: Initialize with default value if key does not exist.
2016-01-13 17:06:13 -05:00
Ryan Houdek 0271f05ab8 Merge pull request #3492 from sigmabeta/android-update-build-tools
[Android] Update build tools + support libraries
2016-01-13 16:35:52 -05:00
Ryan Houdek d5d6226fbb Merge pull request #3503 from sigmabeta/android-rotation-bugfix
[Android] Don't show screenshot on rotation events
2016-01-12 10:38:44 -05:00
Ryan Houdek 8709e8d2c7 Merge pull request #3497 from sigmabeta/android-log-refactor
[Android] Refactor logging
2016-01-12 10:05:51 -05:00
Ryan Houdek bd31b1411b Merge pull request #3493 from sigmabeta/android-tv-screenshot-bugfix
[Android] Minor refactor + bugfix
2016-01-11 16:04:56 -05:00
Ryan Houdek 78bb37b29f Merge pull request #3494 from Sonicadvance1/android_rotation
[Android] Add support for rotation and minimizing the application
2016-01-11 01:18:37 -05:00
Ryan Houdek 77cef0c7bf Merge pull request #3491 from sigmabeta/android-mvp-platform-fragment
[Android] Refactor PlatformGamesFragment to MVP architecture
2016-01-10 21:35:39 -05:00
Ryan Houdek 5a549ef663 [Android] Add support for rotation and minimizing the application 2016-01-10 13:00:32 -06:00
Ryan Houdek 6448e5e5ee Add support to EGL to on the fly destroy the resulting surface 2016-01-10 12:28:05 -06:00
Ryan Houdek d17bcbb489 [Android] Pause and resume emulation using proper functions 2016-01-10 12:23:40 -06:00
Ryan Houdek 6e676cad66 Merge pull request #3488 from sigmabeta/android-mvp-main-activity
[Android] Refactor Tv/Main Activities to MVP architecture.
2016-01-10 11:40:37 -05:00
Ryan Houdek b4eb5d8e3f Disable geometry shaders on mesa AMD/ATI drivers.
Causes misrenderings in games that uses them.
2016-01-09 15:09:37 -06:00
Ryan Houdek 8c37498230 Fix typo in GLExtensions
I had changed a variable name and forgot to update it everywhere.
Should fix Adreno devices.
2016-01-09 15:06:36 -06:00
Ryan Houdek 54e4d90b6d Fix assert on reset button hit.
Fixes issue 9225.
2016-01-09 11:23:22 -06:00
Ryan Houdek 3f15aa4b57 Add support for framedumping to OpenGL ES. 2016-01-09 00:21:20 -06:00
Ryan Houdek 6862d7c7b2 Fix hotkeys not reporting inputs. 2016-01-08 23:25:36 -06:00
Ryan Houdek 74478addeb Move Android JNI bits from DolphinWX to the Android folder. 2016-01-06 15:36:44 -06:00
Ryan Houdek 7fcb5a803b Merge pull request #3359 from degasus/ini
VideoConfig: Use "GFX.ini" for both D3D and OGL.
2016-01-06 16:02:23 -05:00
Ryan Houdek e3da564418 Merge pull request #3440 from Sonicadvance1/Android_WiiU_Adapter
[Android] Disable screen lock when a title is running.
2016-01-06 15:42:25 -05:00
Ryan Houdek 0a42a0ab1b Merge pull request #3428 from Sonicadvance1/proper_glextensions
Make GLExtensions no longer require slghtly modified GL headers
2016-01-06 15:24:47 -05:00
Ryan Houdek 342496563d Merge pull request #3455 from Sonicadvance1/GC_adapter_android
[Android] Add support for the Wii U Gamecube adapter under Android.
2016-01-06 15:07:09 -05:00
Ryan Houdek b49683b2e8 Merge pull request #3357 from JosJuice/no-xpm
DolphinWX: Stop using XPM images
2016-01-06 13:37:03 -05:00
Ryan Houdek adffa5fbec Merge pull request #3457 from booto/si-sampling
[RFC] SI: Base SI sampling on VSync & horiz lines
2016-01-06 13:02:38 -05:00
Ryan Houdek 1a207b06ae [Android] Fix enabling and disabling Gamecube controllers. 2016-01-06 11:54:46 -06:00
Ryan Houdek e62503c873 [Android] Add support for the Wii U Gamecube adapter under Android.
No way to properly enable it from an end user perspective yet.
Doesn't require root.
This same sort of system can be used for the Dolphinbar in the future for real wiimote support.
2016-01-06 01:10:54 -06:00
Ryan Houdek 6e503bebc4 Add a stubbed GCAdapter namespace.
This cleans up a bunch of #ifdef checks in places.
2016-01-06 00:57:08 -06:00
Ryan Houdek af6a5ddafe Fixup typo in GCAdapter 2016-01-06 00:41:00 -06:00
Ryan Houdek 1dcc199a63 Fix GCPad recalibration shortcut.
Dolphin has supported the recalibration shortcut (X+Y+Start) for quite a long while. So if someont's axises are terrible, you could easily
recalibrate.
Games even get the initial calibration upon boot(Most of the time).

While changing over the GCAdapter code, I was testing to make sure the reset and calibration shortcuts still worked, turns out they didn't work at
all.
Looking in to the problem, we capture the combination properly, and we wait three seconds until we actually fire that off recalibration.
The problem is for Nintendo's SDK to properly handle recalibrating, we need to send back data saying that it needs to recalibrate.
On hardware this is done as part of the 64bits of data the controller sends back to us.
On holding of the controller, bit 61 of the return value is set, which the Nintendo SDK catches, and then signals immediately afterwards a CMD_ORIGIN
command in order to recalibrate the controller.
We were outright ignoring this bit, so the library wasn't ever recalibrating. I suspect in the past the class itself used to use the calibration data
to to offset the data, but somewhere along the lines it got munged out of existence.

The Gamecube adapter does this shortcut in a bit of a unique way, instead of sending the command and having the library support it and what have you.
Once holding the shortcut for the amount of time, the adapter reports back that the controller has actually been disconnected. Then when you let go of
the combination, the adapter states that a new device has been connected to that port, and the recalibration happens because a new device is
"connected."

This fixes controller calibration for both emulated GC controllers and also the Wii Gamecube Adapter.
2016-01-06 00:41:00 -06:00
Ryan Houdek 49410576e9 Make the Wii U Gamecube adapter work with less magic.
The Wii U Gamecube controller adapter setup has always been a bit weird. It tries to be as automatic as possible to make the user experience as easy
as possible.
The problem with this approach is that it brings a large disconnect in the user experience because you have the Gamecube controller setup with regular
gamepads and then for some reason below that you have a "direct connect" option which will cause the Gamecube Adapter to overwrite the regular inputs
if something was connected.
While this works and allows the user to only click one checkbox to get the device working, it breaks the user's experience because they don't really
know what "direct connect" means and won't look it up to figure out what it is. Just expecting the device to work (At least one occurence of this in
the IRC channel in the last week).

This way around also had the terrible nature of making the code more filthy than it needed to be. The GCAdapter namespace was parasitic and hooked in
to the regular GC Controller SI class to overwrite the data that it was getting from the default configuration.
Now instead we have a specific SIDevice class for the Wii U Gamecube adapter. This class is fairly simple and is a child of the regular SI Gamecube
Pad device and only reimplements what it needs to.
This also gives the ability to configure controllers individually, which allows the user to configure rumble individually per pad input.

Overall the code is cleaner, and it fits more in line with how the rest of Dolphin works.
2016-01-05 13:44:37 -06:00