43125 Commits

Author SHA1 Message Date
gblues
39e4167df6 Start work on DualShock 3 driver
== DETAILS

The WiiU GC adapter is working!

Next up: DualShock 3

I have the skeleton of the driver started, need to work out the
activation packet.

== TESTING

The DS3 driver is broke as hell right now.
2018-03-30 23:00:14 -07:00
gblues
d65bd90e67 Fix GC pad button mapping 2018-03-30 18:57:34 -07:00
gblues
5060c2aac4 More fixes, GC pad kinda sorta works
== DETAILS

- Added a new method to the joypad_connection_t interface for
  getting a single button
- wired everything into the hidpad driver
- for testing purposes, hacking the top-level joypad driver
  so that kpad isn't used
- add a new RARCH_LOG_BUFFER method to verbosity for logging the
  contents of a binary buffer (useful for writing/debugging pad drivers)
- fix a few bugs in the wiiu GC pad driver

The button mapping isn't quite right, and I'm not sure what's
going wrong.
2018-03-29 23:37:11 -07:00
gblues
89c1ba7929 Keep HID pads from clobbering gamepad/wiimotes
== DETAILS

Trying to do weird pad math just wasn't working so I bit the bullet and just
let it allocate all 16 pads in the slot list, then just mark 0-4 as
connected so that the slot allocator would start at 5.

I can see it detect the pad, but no idea if it works. Out of time for
today.
2018-03-29 23:37:11 -07:00
gblues
1eea48d0c8 Fix crash on exit bug
== DETAILS

Turns out freeing memory that's already been freed is.. bad.

Fix two double-free instances; one due to over-freeing and the other
due to wrong order-of-operations causing a double free.

Also updated logging a little.

== TESTING

The GC adapter still clobbers slot 0, but the "emergency exit" sequence
works to quit RA cleanly.
2018-03-29 23:37:11 -07:00
gblues
6b43defc98 Less verbose logging 2018-03-29 23:37:11 -07:00
gblues
8a4c5086fb Finish HID implementation for WiiU GCA adapter
== DETAILS

(I think)

- Uncomment the call in the read loop to start feeding packets to the
  driver
- implement the GCA packet driver
- implement the pad interface
- fix indentations in GCA driver

== TESTING
Compiles. Haven't tested yet.
2018-03-29 23:37:11 -07:00
gblues
180d6a28bf Fix up HID device driver initialization
== DETAILS
Turns out the cause of the crash was a bad cast, resulting in a
function call to nowhere.

Also, I think the DSI exception handler only works on the primary core;
when this was happening in the background thread, I got a black
screen error instead.

Next up: finishing up the GCA driver.
2018-03-29 23:37:11 -07:00
gblues
dc6f4c23ed Rename hid_driver_instance members for clarity 2018-03-29 23:37:11 -07:00
gblues
4b9d5c0ab7 Start implementing "detach" code path
== DETAILS
We're at a point where we need to do more than just
clean up a local data structure, so I've started
implementing the "detach" part of the code so that
everything gets cleaned up properly.

Also, added error handling inside the polling
thread.

== TESTING

Have not tested yet.
2018-03-29 23:37:11 -07:00
gblues
0100d58ffb WIP: evolve driver implementation
== DETAILS

I've created the concept of a hid_driver_instance_t which is basically
a central place to store the hid pad driver, hid subsystem driver,
the pad list, and the instance data for the above in a central location.

The HID pad device drivers can use it to perform HID operations in a
generic manner.

This is more-or-less a pause point so I can catch up with upstream.

== TESTING

Haven't tested this yet. Compiles without warnings though!
2018-03-29 23:37:11 -07:00
gblues
41ce8853d7 Add name for hid device; implement detect
== DETAILS

- detect() methods in device_* files now check for VID/PID
  instead of just returning false
- add "name" field on hid device, mainly for logging purposes

== TESTING
Verified my WiiU GC adapter detected properly
2018-03-29 23:37:11 -07:00
gblues
ae19eed00f implement hid device search 2018-03-29 23:37:11 -07:00
Brad Parker
ecd42f1aa8 C89 buildfix, correct spacing 2018-03-29 22:15:16 -04:00
Twinaphex
05e34654c6
Update CHANGES.md 2018-03-30 03:03:03 +02:00
Twinaphex
50f19630bd
Update CHANGES.md 2018-03-30 03:00:58 +02:00
twinaphex
58df2e6427 update 2018-03-30 02:50:18 +02:00
Twinaphex
12bf69fa29
Update CHANGES.md 2018-03-30 02:44:06 +02:00
Twinaphex
33d9eee436
Update CHANGES.md 2018-03-30 02:41:40 +02:00
Twinaphex
e8a77e6b91
Update CHANGES.md 2018-03-30 02:41:09 +02:00
Twinaphex
d8787ef805
Update CHANGES.md 2018-03-30 02:37:07 +02:00
twinaphex
008900e73d (D3D11/D3D12) Fix crashes with completely black or white thumbnail
textures in XMB
2018-03-30 02:30:56 +02:00
Twinaphex
be5e0dfb1f
Merge pull request #6493 from bearoso/master
Prioritize _NET_WM_STATE_FULLSCREEN in true fullscreen mode
2018-03-30 01:52:45 +02:00
Brandon Wright
3bbff3c689 Use _NET_WM_STATE_FULLSCREEN as a first measure, only falling back to override-redirect when not supported. 2018-03-29 17:13:51 -05:00
Twinaphex
9ca3d40018
Merge pull request #6491 from bearoso/master
Allow compositor disabling on X11 fullscreen through _NET_WM_BYPASS_COMPOSITOR
2018-03-29 22:59:39 +02:00
Twinaphex
3c3f1a2661
Merge pull request #6481 from alfrix/right_thumb
Right thumbnail auto size
2018-03-29 22:55:08 +02:00
twinaphex
ef039c2c08 Cleanups 2018-03-29 22:39:41 +02:00
Brandon Wright
5da1aa0af7 Allow compositor disabling on X11 fullscreen through _NET_WM_BYPASS_COMPOSITOR.
Note: KWin doesn't bypass compositor on override-redirect windows, so enabling windowed fullscreen is necessary.
2018-03-29 15:20:14 -05:00
Twinaphex
dca622b4a8
Merge pull request #6490 from Dwedit/runahead_submission_4
more cleanup, remove malloc_zero, remove free_ptr
2018-03-29 21:14:27 +02:00
Dwedit
dd392dcdfb Remove malloc_zero, replace with calloc
Replace free_ptr with FREE macro
2018-03-29 13:22:20 -05:00
twinaphex
d04d1c0214 (Runahead) Fix for mingw as suggested by Dwedit 2018-03-29 20:01:34 +02:00
twinaphex
1103f4f630 (input_overlay.c) Cleanups 2018-03-29 19:43:04 +02:00
twinaphex
54636ea5f3 (OSX PPC) Define HAVE_RUNAHEAD 2018-03-29 19:35:26 +02:00
alfrix
647abd6aba Buildfix 2018-03-29 14:07:22 -03:00
alfrix
0777a6d625 Do not draw the thumbnail if there is no space available 2018-03-29 13:45:54 -03:00
alfrix
5076569c81 Limit right thumb width 2018-03-29 13:45:54 -03:00
twinaphex
25e99ba75b Cleanups 2018-03-29 18:41:19 +02:00
twinaphex
65909fd1db free_file no longer necessary 2018-03-29 18:36:53 +02:00
twinaphex
8703ad8374 Get rid of free_str 2018-03-29 18:29:25 +02:00
Twinaphex
2db0c21f52 Fix C11 typedef redefinition issues 2018-03-29 18:10:28 +02:00
twinaphex
e85f11ea38 (runahead) Remove unused variable 2018-03-29 18:05:52 +02:00
Twinaphex
425e1d9043 (OSX) Define HAVE_RUNAHEAD 2018-03-29 18:04:15 +02:00
twinaphex
8819b2a2f6 (MSVC 2005/2010/2013/2015/2017) Add HAVE_RUNAHEAD 2018-03-29 18:02:18 +02:00
twinaphex
adb2274fc6 - Enable HAVE_RUNAHEAD for MSVC 2003
- Remove some unreferenced labels
2018-03-29 17:55:06 +02:00
Twinaphex
254932af04
Merge pull request #6488 from Tatsuya79/master
XMB Left thumb dynamic positioning and scaling.
2018-03-29 17:47:29 +02:00
twinaphex
0712c0ba99 Fix call to filestream_write to filestream_write_file 2018-03-29 17:45:25 +02:00
twinaphex
67c3fd88f4 Buildfixes - wrong function names were used 2018-03-29 17:35:28 +02:00
Twinaphex
039820f367
Merge pull request #6487 from Dwedit/runahead_submission_3
Runahead cleanup
2018-03-29 17:17:22 +02:00
Dwedit
cbc18c74ea resolve conflicts 2018-03-29 09:52:14 -05:00
Tatsuya79
8859fa0213 XMB Left thumb dynamic positioning and scaling. 2018-03-29 16:39:38 +02:00