|
aa45af7f
|
2019-06-28T16:05:20
|
|
Android: explicitly expand Android_GLES_MakeCurrent/Android_GLES_CreateContext
from SDL_egl_c.h
|
|
57e08c27
|
2019-06-26T13:21:43
|
|
cocoa: Check for capslock in -[NSResponder flagsChanged], not with IOKit.
Using IOKit for this pops up a warning at startup on macOS 10.15 ("Catalina"),
asking the user to authorize the app to listen to all keyboard input in the
system, which is unacceptable.
I _think_ we were using IOKit under incorrect presumptions here; the Stack
Overflow link mentioned in it was complaining about not being able to use
flagsChanged to differentiate between left and right mod keys, but that's not
an issue for capslock.
It's also possible this code was trying to deal with capslock changing when
the window didn't have focus, but we handle this elsewhere now, if we didn't
at the time.
|
|
0beadea5
|
2019-06-26T01:29:01
|
|
windows: Call GetWindowText() with the correct parameters (thanks, Zebediah!)
GetWindowText() wants you to tell it the size of the buffer--including the
terminating NULL char--but we weren't counting that last char, losing the
last char of the string in the process. This was only seen with the special
case of SDL_CreateWindowFrom() to use an existing native window, not
the usual SDL_CreateWindow() codepath.
Fixes Bugzilla #4696.
|
|
ccba8d46
|
2019-06-24T18:08:11
|
|
Android: export Lock/Unlock activity API
|
|
31bb95f1
|
2019-06-21T15:07:39
|
|
direct3d: Use D3DPOOL_DEFAULT for vertex buffers after all, release correctly.
Fixes Bugzilla #4679.
Fixes Bugzilla #4537.
|
|
e681623c
|
2019-06-20T19:51:00
|
|
direct3d: Fix dirty textures failing to update
Even if the texture itself has not changed since last time, the data may have
so we must call UpdateDirtyTexture() to handle that possibility.
|
|
f3226457
|
2019-06-19T17:11:20
|
|
Fixed bug 4672 - Warnings in SDL_LogEvent()
|
|
be6cda9f
|
2019-06-19T15:54:21
|
|
Rolling back GameCube HIDAPI support
It causes the HIDAPI devices to always be opened on enumeration, which causes crashes in the Windows drivers when multiple applications are reading and writing at the same time. We can revisit this after 2.0.10 release.
|
|
56e2b9a4
|
2019-06-19T06:43:54
|
|
Handle GameCube WaveBird controller differences
Make wireless GameCube controllers use unknown power level instead of
wired and don't allow rumble (it doesn't have hardware for it).
|
|
6f63c1c3
|
2019-06-19T06:43:36
|
|
Make GameCube controllers only rumble if both USB cables are connected
The Nintendo USB GameCube Adapter has two USB connectors. Black for data
and grey for additional power for rumble. The Wii U and other software
require both cables to use rumble. The rumble is weaker without the
second USB cable. Other than that I don't know if there is any negative
side affects from using rumble with only one cable.
|
|
b23cce28
|
2019-06-19T06:43:04
|
|
Fix GameCube controller power level being reset to unknown
HIDAPI_DriverGameCube_OpenJoystick() set power level to wired and then
it was set to unknown in SDL_JoystickOpen().
|
|
bd952900
|
2019-06-19T06:40:50
|
|
Use SDL C runtime functions
|
|
faed7f83
|
2019-06-19T10:11:38
|
|
KMSDRM: fix inverted strcmp, remove useless if test (Bug 4624)
|
|
5998c513
|
2019-06-19T09:16:53
|
|
KMSDRM: fix compilation on linux, no d_namlen (Bug 4624)
|
|
d0fa93d6
|
2019-06-19T00:52:34
|
|
wayland: Fixed C99-style variable declaration inside for-loop.
|
|
7162649f
|
2019-06-18T18:58:39
|
|
opengl: Be more robust in failing cases.
Load all possible symbols, not just until one fails, in case they get used
during shutdown, etc.
Fixes Bugzilla #4093.
|
|
8ab907ba
|
2019-06-18T14:24:26
|
|
Only warp the mouse to set focus if we're definitely going into relative mode
|
|
14e8b93e
|
2019-06-18T14:24:24
|
|
Fixed compiler warning
|
|
99abcbb2
|
2019-06-18T14:15:10
|
|
Fixed bug 4624 - KMS/DRM fails on FreeBSD because /dev/dri/card* nodes are symlinks
Jan Martin Mikkelsen
Patch to scan /dev/dri based on names rather than file type
Loading KMS/DRM on FreeBSD fails because the "available" code in the driver checks for character device nodes under /dev/dri and the /dev/dri/card* files are symlinks rather than device nodes nodes on FreeBSD. The symlink points to /dev/drm/0.
The attached patch counts /dev/dri/card* entries rather than directory entries which are character devices.
|
|
d3bedda4
|
2019-06-18T16:53:49
|
|
cocoa: Patched to compile and also handle possible malloc failure.
|
|
3e720d2a
|
2019-06-18T13:41:38
|
|
Fixed potential double-free in mouse cleanup code
|
|
5dcac4cc
|
2019-06-18T10:08:19
|
|
Fixed 4669 - Using the software SDL_Renderer on Android leads to GL errors & black screen when window resizes
Sylvain
I think what happening with the software renderer is:
* you're somehow in background (so texture creation is not possible)
* it resizes and wants to push a SDL_WINDOWEVENT_SIZE_CHANGED
It call:
https://hg.libsdl.org/SDL/file/a010811d40dd/src/render/SDL_render.c#l683
* GetOutputSize
* SW_GetOutputSize
* SW_ActivateRenderer
* SDL_GetWindowSurface
* SDL_CreateWindowFramebuffer which is mapped to SDL_CreateWindowTexture
and it ends up re-creating the surface/a texture, while being in background
|
|
e96d4760
|
2019-06-18T18:53:58
|
|
Android: resize with software rendering, reverted again (Bug 4669)
|
|
12b92260
|
2019-06-18T18:40:40
|
|
Android: try to fix resize with software rendering (bug 4669)
|
|
8a20d40d
|
2019-06-18T18:22:18
|
|
Android: revert commit SW_GetOutputSize, again (Bug 4669)
|
|
98cc7589
|
2019-06-18T10:41:11
|
|
Android: prevent using SW_GetOutputSize with software renderer (Bug 4669)
|
|
a55c0e14
|
2019-06-18T10:23:19
|
|
Android: revert previous commit (Bug 4669)
(Refs #1)
|
|
f2157b6c
|
2019-06-17T22:31:36
|
|
Fixed bug 4669: Android software renderer, black screen when window resizes
Using the software SDL_Renderer on Android leads to GL errors & black screen when window resizes
|
|
6c4765a1
|
2019-06-17T11:10:20
|
|
Removed extraneous fprintf() call
|
|
67c67f3a
|
2019-06-17T10:13:28
|
|
Updated version to 2.0.10
|
|
93a5e4ce
|
2019-06-17T08:38:33
|
|
Fixed bug 4667 - Build errors on Linux when building without Threads support
Manuel Sabogal
There is an issue on the latest commit of the mercurial repo when SDL_THREADS_DISABLED is set:
src/core/linux/SDL_threadprio.c:79:28: error: unknown type name 'Sint64'; did you mean 'int'
|
|
9306ef9b
|
2019-06-16T14:10:30
|
|
Fix synthetically generated mouse events getting lost forever after the device orientation changes (or the window is otherwise resized) while a finger is touching the screen.
|
|
f4625f52
|
2019-06-16T13:52:27
|
|
iOS: remove some code which could affect the state of UIViews that aren't owned by SDL.
It was originally added to work around an input event problem in the code of a specific app which mixed SDL and native UIViews, but that app solved its problems in a better manner since then.
|
|
fffa791f
|
2019-06-14T22:29:13
|
|
assert: Another attempt to quiet compiler warnings.
|
|
59e510b0
|
2019-06-14T21:39:51
|
|
assert: Possibly fixing compiler warning on Android.
|
|
ed8b78d3
|
2019-06-14T21:18:53
|
|
cocoa: ignore compiler warnings about OpenGL being deprecated.
|
|
90e2dc98
|
2019-06-14T18:23:51
|
|
A few minor changes to placate static analysis.
|
|
4eb3c0c3
|
2019-06-14T13:56:52
|
|
Added support for Xbox and PS4 wireless controllers on iOS and tvOS
Also implemented SDL_JoystickGetDevicePlayerIndex() on iOS and tvOS, and added support for reading the new menu button state available in iOS and tvOS 13.
|
|
1213fe79
|
2019-06-14T13:56:42
|
|
Worked around "Undefined symbol: ___isPlatformVersionAtLeast()" link error on Xcode 11 beta
|
|
289d1092
|
2019-06-14T16:52:42
|
|
audio: Attempt to fix build on ARM versions of Visual Studio.
|
|
33b235f4
|
2019-06-14T15:52:48
|
|
audio: Fix ARM NEON audio converter bugs.
(Patch from Sylvain, I'm just applying it.)
Fixes Bugzilla #4186.
|
|
5c56c888
|
2019-06-14T15:47:32
|
|
audio: patched to compile.
|
|
5bd9b8b1
|
2019-06-14T09:51:22
|
|
Check src alignment for S32_to_F32 conversions
|
|
d9a2eff2
|
2019-06-13T21:31:03
|
|
cocoa: Another attempt at synthesized mouse/touch events.
|
|
29457464
|
2019-06-13T01:57:13
|
|
cocoa: Revised synthesized mouse/touch event strategy.
I _think_ I understand what Sylvain is working on here now, so hopefully I
got this right.
Fixes Bugzilla #4576.
(I think!)
|
|
50f51231
|
2019-06-12T19:57:30
|
|
macOS: Fix the coordinate space of SDL_GetDisplayUsableBounds (thanks Tim!)
Fixes bug #4518.
|
|
74e86a51
|
2019-06-12T19:15:56
|
|
iOS: Remove didAddSubview override in NSWindow, its code breaks things which rely on focus changing within SDL's UIWindow (bug #4659).
|
|
2fa33d6f
|
2019-06-12T15:43:08
|
|
wave: Fixed static analysis warning about dead assignment.
(technically, this function never returns an error at this point, but since
it _does_ have an "uhoh, is this corrupt data?" comment that it ignores, we
should probably make sure we handle error cases in the future. :) )
|
|
32ead2cb
|
2019-06-12T15:37:07
|
|
vulkan: Fixed use-after-free bug.
|
|
b530d75a
|
2019-06-12T15:35:06
|
|
assert: Fixed some compiler warnings.
|
|
747df96e
|
2019-06-12T10:38:49
|
|
Better patch to make it more clear what's going on
|
|
3fbaa5da
|
2019-06-12T10:35:47
|
|
The hat index passed to the application should be zero-based with no holes
|
|
a1a2f9b9
|
2019-06-12T10:32:36
|
|
Fixed bug 4486 - Segfault when pressing a trigger on the Steam Controller (Linux)
Matteo Beniamino
Pressing a trigger button on a Steam Controller causes a segmentation fault both with stable version and latest mercurial head on Linux. I'm using the recent hid_steam kernel module with lizard_mode disabled (that is no keyboard/mouse emulation). I suspect this is what's happening: the driver exposes two hats. The two hats have indices 0 and 2. Inside linux/SDL_sysjoystick.c two hats are allocated in allocate_hatdata for joystick->hwdata->hats. In HandleHat function the hat parameter (that can be 2) is directly used as the index of the array that only has two elements, causing an out of bounds access. SDL is not expecting to have "holes" between hats indices.
The index 2 is calculated in HandleInputEvents() as (ABS_HAT2X - ABS_HAT0X) / 2 where ABS_HAT2X is the value associated to the hat inside the hid_steam module.
|
|
d01150ab
|
2019-06-12T07:55:48
|
|
Fixed bug 4665 - Add support for single touch evdev devices
Jan Martin Mikkelsen
The attached patch adds support for single-touch evdev devices.
These devices report ABS_X, ABS_Y and BTN_TOUCH events. This patch sets them up as MT devices with a single slot and handles the appropriate messages.
|
|
cd011bb1
|
2019-06-12T10:42:02
|
|
SDL_Wave: missing field 'length' initializer
|
|
f5a34785
|
2019-06-11T21:57:30
|
|
assert: mark SDL_ExitProcess as SDL_NORETURN again.
Put in a hack to (hopefully) make MingW happy.
Fixes Bugzilla #4100.
|
|
69d27a69
|
2019-06-11T18:13:46
|
|
Fixed bug 4570 - Support Vulkan Portability rather than MoltenVK specifically
Dzmitry Malyshau
Current code, search paths, and error messages are written to only consider MoltenVK on macOS as a Vulkan Portability implementation. It's not the only implementation available to the users. gfx-portability [1] has been shown to run a number of titles well, including Dota2, Dolphin Emulator, and vkQuake3, often out-performing MoltenVK in frame rate and stability (see Dolphin benchmark [2]).
There is no reason for SDL to be that specific, it's not using any MVK-specific functions other than the WSI initialization ("VK_MVK_macos_surface"). gfx-portability exposes this extension as well, and a more generic WSI extension is in process. It would be good if SDL was written in a more generic way that expect a Vulkan Portability library as opposed to MoltenVK specifically.
[1] https://github.com/gfx-rs/portability
[2] https://gfx-rs.github.io/2019/03/22/dolphin-macos-performance.html
|
|
797b2813
|
2019-06-12T00:55:05
|
|
wayland: HiDPI support
|
|
04b50f6c
|
2019-06-11T16:19:01
|
|
cocoa: Backed out CVDisplayLink code for macOS vsync.
This was to deal with broken vsync support in macOS 10.14, which we assumed
would remain broken indefinitely, but a later 10.14 released fixed it.
This is a loss of late-swap support, but there are several subtle problems
in our CVDiplayLink code that are also evaporating, to be fair.
Fixes Bugzilla #4575.
(Backed out changeset 8760fed23001)
|
|
3e9bf284
|
2019-06-11T15:06:35
|
|
software: Fixed compiler warning and dos2unix'd the endlines.
|
|
04fedce0
|
2019-06-11T14:09:53
|
|
software: Correctly track viewport and cliprect.
Fixes Bugzilla #4457.
|
|
a2f2b735
|
2019-06-11T13:02:56
|
|
direct3d: Use D3DPOOL_MANAGED for vertex buffers.
Fixes Bugzilla #4537.
|
|
aa80d279
|
2019-06-11T08:33:30
|
|
Fix build with the 10.10 SDK
|
|
f7b7a972
|
2019-06-11T10:12:47
|
|
direct3d: Fixed SDL_RenderSetClipRect usage.
Fixes Bugzilla #4459.
|
|
4f59d372
|
2019-06-11T09:29:48
|
|
direct3d: don't dereference bogus pointer if current texture was destroyed.
Fixes Bugzilla #4460.
|
|
a6af0b82
|
2019-06-11T02:31:57
|
|
direct3d: Fixed more compiler warnings on Visual Studio 64-bit builds.
|
|
5fb20b30
|
2019-06-11T02:14:59
|
|
video: fixed compiler warning on Visual Studio.
|
|
254eb677
|
2019-06-11T02:08:31
|
|
windows: Don't let Visual Studio insert an implicit dependency on memset().
Fixes Bugzilla #4662.
|
|
399df540
|
2019-06-11T01:14:24
|
|
windows: Drop WM_ACTIVATE when window is hidden, but only if being activated.
Fixes Bugzilla #4571.
|
|
f9a9193e
|
2019-06-10T21:58:03
|
|
Android: add MinimizeWindow function (Bug 4580, 4657)
shouldMinimizeOnFocusLoss is un-activated (return false)
|
|
d8da33c0
|
2019-06-10T08:49:26
|
|
Fixed bug 4662 - SDL failed to build due to error LNK2019: unresolved external symbol _memset referenced in function _IMA_ADPCM_Decode with MSVC on Windows
LinGao
We build SDL with Visual studio 2017 compiler on Windows Server 2016, but it failed to build due to error LNK2019: unresolved external symbol _memset referenced in function _IMA_ADPCM_Decode on latest default branch. And we found that it can be first reproduced on ca7283111ad0 changeset. Could you please help have a look about this issue? Thanks in advance!
|
|
781692c0
|
2019-06-09T19:27:25
|
|
cocoa: report proper input IDs for mouse/touch events.
Otherwise, we generate incorrect mouse events for MacBook trackpads (which
are also multitouch devices), etc.
Partially fixes Bugzilla #4576.
|
|
e43550c0
|
2019-06-09T14:08:18
|
|
Fixed bug 4658 - iOS 12 fullscreen flag and SDL_HINT_IOS_HIDE_HOME_INDICATOR not working
Caleb Cornett
On iOS 12, creating a window with the SDL_WINDOW_FULLSCREEN flag does not dim the home indicator or defer system gestures. The same goes for setting the SDL_HINT_IOS_HIDE_HOME_INDICATOR to "2" -- it has no effect at all.
I've tracked down the source of this misbehavior to a timing issue. The initial `setNeedsUpdate...` calls were happening too early and getting applied to the launch screen by mistake. In the attached patch, I've added a call to those functions right after the launch screen is hidden so that they apply to the main view controller instead. This appears to fix the issue, at least on my iPhone 6s Plus.
|
|
762b788f
|
2019-06-09T12:46:10
|
|
Cleanup on bug 3894 - Fuzzing crashes for SDL_LoadWAV
Simon Hug
Attached is a minor cleanup patch. It changes the option name of one hint to something better, puts one or two more checks in, and adds explicit casting where warnings could appear otherwise.
I hope the naming of the hints and their options is acceptable. It would be kind of awkward to change them after they get released with an official SDL version.
|
|
b5e9ebba
|
2019-06-08T19:12:05
|
|
Fixed compiler warning
warning C4018: '<' : signed/unsigned mismatch
|
|
a21b5b30
|
2019-06-08T19:09:43
|
|
Fixed build
|
|
990e166a
|
2019-06-08T19:02:42
|
|
Fixed bug 3894 - Fuzzing crashes for SDL_LoadWAV
Simon Hug
I had a look at this and made some additions to SDL_wave.c.
The attached patch adds many checks and error messages. For some reason I also added A-law and ?-law decoders. Forgot exactly why... but hey, they're small.
The WAVE format is seriously underspecified (at least by the documents that are publicly available on the internet) and it's a shame Microsoft never put something better out there. The language used in them is so loose at times, it's not surprising the encoders and decoders behave very differently. The Windows Media Player doesn't even support MS ADPCM correctly.
The patch also adds some hints to make the decoder more strict at the cost of compatibility with weird WAVE files.
I still think it needs a bit of cleaning up (Not happy with the MultiplySize function. Don't like the name and other SDL code may want to use something like this too.) and some duplicated code may be folded together. It does work in this state and I have thrown all kinds of WAVE files at it. The AFL files also pass with it and some even play (obviously just noise). Crafty little fuzzer.
Any critique would be welcome. I have a fork of SDL with a audio-loadwav branch over here if someone wants to use the commenting feature of Bitbucket:
https://bitbucket.org/ChliHug/SDL
I also cobbled some Lua scripts together to create WAVE test files:
https://bitbucket.org/ChliHug/gendat
|
|
48ac92af
|
2019-06-08T18:40:11
|
|
Fixed bug 4041 - Android, SDL_Renderer OpenGLES 1 is loading GLESv2 library
Sylvain
On Android, if you set no attribute using SDL_GL_SetAttribute(), and try to create a SDL Render OpenGLES 1:
- it loads first by default GLESv2 libraries
- creates the rendere OpenGLES 1
- recreates the Window to have a context 1.1 ( https://hg.libsdl.org/SDL/file/4db4cfd59470/src/render/opengles/SDL_render_gles.c#l298 )
But it doesn't unload libraries, then reload GLESv1 lib. So the SDL_Renderer OpenGLES 1 is working with GLES 2 libs, which seems inconsistent.
If you, at first, set
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1);
It will correctly load GLES v1 libraries.
Here's a small patch to reload egl libs when SDL_RecreateWindow() is called.
It fixes the issue, also the case from bug 4042
( SDL_RecreateWindow() is used by SDL_Renderer gl, gles1, gles2. )
|
|
31765242
|
2019-06-08T18:22:18
|
|
Fixed bug 4294 - Audio: perform more validation on conversion request
janisozaur
There are many cases which are not able to be handled by SDL's audio conversion routines, including too low (negative) rate, too high rate (impossible to allocate).
This patch aims to report such issues early and handle others in a graceful manner. The "INT32_MAX / RESAMPLER_SAMPLES_PER_ZERO_CROSSING" value is the conservative approach in terms of what can _technically_ be supported, but its value is 4'194'303, or just shy of 4.2MHz. I highly doubt any sane person would use such rates, especially in SDL2, so I would like to drive this limit further down, but would need some assistance to do that, as doing so would have to introduce an arbitrary value. Are you OK with such approach? What would a good value be? Wikipedia (https://en.wikipedia.org/wiki/High-resolution_audio) lists 96kHz as the highest sampling rate in use, even if I quadruple it for a good measure, to 384kHz it's still an order of magnitude lower than 4MHz.
|
|
3f19a6d5
|
2019-06-08T18:07:58
|
|
CVE-2019-7578: Fix a buffer overread in InitIMA_ADPCM
If IMA ADPCM format chunk was too short, InitIMA_ADPCM() parsing it
could read past the end of chunk data. This patch fixes it.
CVE-2019-7578
https://bugzilla.libsdl.org/show_bug.cgi?id=4494
Signed-off-by: Petr P?sa? <ppisar@redhat.com>
|
|
316ff384
|
2019-06-08T17:43:23
|
|
Fixed bug 4526 - replace SDL_RW* macros with functions for using in bindings
ace
I got this bug in SDL_ttf:
https://bugzilla.libsdl.org/show_bug.cgi?id=4524
Sylvain proposed solution:
SDL_RWseek(RWops, 0, RW_SEEK_SET);
And it works, but i can use it my project, because it written in C# with SDL2-CS wrapper and there not export for macroses:
#define SDL_RWsize(ctx) (ctx)->size(ctx)
#define SDL_RWseek(ctx, offset, whence) (ctx)->seek(ctx, offset, whence)
#define SDL_RWtell(ctx) (ctx)->seek(ctx, 0, RW_SEEK_CUR)
#define SDL_RWread(ctx, ptr, size, n) (ctx)->read(ctx, ptr, size, n)
#define SDL_RWwrite(ctx, ptr, size, n) (ctx)->write(ctx, ptr, size, n)
#define SDL_RWclose(ctx) (ctx)->close(ctx)
Therefore, I suggest replacing this macros with functions so that they can be exported and used in bindings
|
|
2b6473dc
|
2019-06-08T15:10:20
|
|
Fixed bug 4533 - Update ANGLE to load d3dcompiler_47.dll instead of d3dcompiler_46.dll
msmshazan
Update ANGLE Libraries to support d3dcompiler_47.dll since chrome does not ship with d3dcompiler_46.dll and d3dcompiler_43.dll
|
|
a73dacbf
|
2019-06-08T14:58:49
|
|
Backed out Ben's chinese Xbox controller patch, as the generic catch-all for Xbox controllers should handle it.
|
|
8728ce44
|
2019-06-08T14:54:37
|
|
Fixed bug 4557 - SDL_SIMDAlloc and *Free should be in the public interface
Martin Gerhardy
These functions are really useful and should get exposed imo.
|
|
56b7f4cf
|
2019-06-08T14:40:27
|
|
Fixed bug 4583 - PollAllValues appears to use an incorrect index for all axes above 0x18
Noam Preil
In src/joystick/linux/SDL_sysjoystick.c:
The ConfigJoystick function's axes detection starts with a for loop using an index i for Linux's axes names. When i gets to ABS_HAT0X, it's set to ABS_HAT3Y and a continue statement appears, to skip the hats. This makes sense, as SDL handles hats separately from axes.
However, in PollAllValues, *two* indices are used: a and b. Both start out the same, and remain so until the hats are reached. At that point, a becomes identical to the i from ConfigJoystick's loop, but b is equal to a - (ABS_HAT3Y - ABS_HAT0X), or a - 8.
While all the joystick->hwdata->abs_* structures in ConfigJoystick used i - which would here be a - as both the index and the ioctl argument, PollAllValues uses b for the structure index and a as the ioctl argument.
It would appear, however, that no joystick HAS such axes, and that the b index is entirely unnecessary.
I tested three separate joysticks, and while that was far from a complete listing, I was unable to find a joystick with an axis above 0x08.
|
|
d97387cc
|
2019-06-08T14:32:19
|
|
Fixed bug 4600 - Dualshock 4 touchpad press is not detectable with SDL_JoystickGetButton
Dexter Friedman
When using a Dualshock 4 controller (model numbers CUH-ZCT1U and CUH-ZCT2U), pressing anywhere on the center touchpad does not send an SDL_JOYBUTTONDOWN event. I have verified this with testjoystick:
Repro steps:
1. Plug in a DS4 over USB
2. Compile testjoystick and run: testjoystick.exe 0
3. Press and hold the touchpad. Observe that no lime green box appears
Expected behavior:
A lime green box appears while the touchpad is pressed.
Notes:
I've attached a patch here that works on my PC and produces the expected behavior in testjoystick, for both DS4 model numbers I listed earlier.
If I understand correctly, by exposing this as a joystick button, the gamecontroller API mapping can be modified with a change to gamecontrollerdb.txt in the future.
|
|
8a37848d
|
2019-06-08T13:41:46
|
|
Fixed bug 4605 - WASAPI_WaitDevice hang
Matt Brocklehurst
We've noticed that if you are playing audio on Windows via the WASAPI interface and you unplug and reconnect the device a few times the program hangs.
We've debugged the problem down to
static void
WASAPI_WaitDevice(_THIS)
{
... snip ...
if (WaitForSingleObjectEx(this->hidden->event, INFINITE, FALSE) == WAIT_OBJECT_0) {
... snip ...
}
This WaitForSingleObjectEx does not havbe a time out defined, so it hangs there forever.
Our suggested fix we found was to include a time out of say 200mSec
We have done quite a bit of testing with this fix in place on various hardware configurations and it seems to have resolved the issue.
|
|
82af4276
|
2019-06-08T13:36:59
|
|
hidapi: Use GameCube adapter controller port for player index
The Nintendo USB GameCube adapter has four controller ports. Return
the port number as 0 to 3 from SDL_JoystickGetPlayerIndex() and
SDL_JoystickGetDevicePlayerIndex().
|
|
15bae953
|
2019-06-08T13:03:36
|
|
Fixed bug 4642 - Rework SDL_netbsdaudio to improve performance
Nia Alarie
The NetBSD audio driver has a few problems. Lots of obsolete code, and extremely bad performance and stuttering.
I have a patch in NetBSD's package system to improve it. This is my attempt to upstream it.
The changes include:
* Removing references to defines which are never used.
* Using the correct structures for playback and recording, previously they were the wrong way around.
* Using the correct types ('struct audio_prinfo' in contrast to 'audio_prinfo')
* Removing the use of non-blocking I/O, as suggested in #3177.
* Removing workarounds for driver bugs on systems that don't exist or use this driver any more.
* Removing all usage of SDL_Delay(1)
* Removing pointless use of AUDIO_INITINFO and tests that expect AUDIO_SETINFO to fail when it can't.
These changes bring its performance in line with the DSP audio driver.
|
|
f2c8d8e9
|
2019-06-08T10:47:43
|
|
Fixed bug 4443 - Incorrect scan code reported for numpad 5
bplu4t2f
When num lock is on, the scancode reported for numpad 5 is SDL_SCANCODE_KP_5, which is correct. However, when num lock is off, windows reports the VK_CLEAR virtual key code, which is incorrectly translated into SDL_SCANCODE_CLEAR inside of the VKeytoScancode(WPARAM vkey) function.
|
|
b1100ec1
|
2019-06-08T10:23:52
|
|
Fixed Android build warning
|
|
03cf2416
|
2019-06-08T10:21:38
|
|
OpenSL ES audio cleanup and added a note with low latency audio discussion
|
|
166d15fd
|
2019-06-07T15:09:15
|
|
Fixed surround sound channel setup for Android OpenSL ES audio driver
|
|
23a2b477
|
2019-06-07T09:00:26
|
|
Protect against NULL device in the Android hidapi implementation
|
|
9261e473
|
2019-06-07T09:00:24
|
|
Potential fix for a crash we're seeing on Android that should in theory never happen.
|
|
20ec8664
|
2019-06-06T08:20:53
|
|
Added support for the Rotor Riot gamepad, and upcoming Xbox and PS4 controller support on iOS and tvOS
Patch contributed by Nat Brown
|
|
23569362
|
2019-06-05T12:01:26
|
|
Use SDL sized types
|
|
3e329464
|
2019-06-05T08:54:07
|
|
Fixed bug 4656 - SDL_evdev.c uses Linux specific integer types
Jan Martin Mikkelsen
The file src/core/linux/SDL_evdev.c uses the Linux specific types __u32 and __s32. This breaks things on FreeBSD when building with evdev.
|
|
723d0143
|
2019-06-04T17:32:15
|
|
Fixed bug 4171 - SDL_GetQueuedAudioSize is broken with WASAPI
Cameron Gutman
I was trying to use SDL_GetQueuedAudioSize() to ensure my audio latency didn't get too high while streaming data in from the network. If I get more than N frames of audio queued, I know that the network is giving me more data than I can play and I need to drop some to keep latency low.
This doesn't work well on WASAPI out of the box, due to the addition of GetPendingBytes() to the amount of queued data. As a terrible hack, I loop 100 times calling SDL_Delay(10) and SDL_GetQueuedAudioSize() before I ever call SDL_QueueAudio() to get a "baseline" amount that I then subtract from SDL_GetQueuedAudioSize() later. However, because this value isn't actually a constant, this hack can cause SDL_GetQueuedAudioSize() - baselineSize to be < 0. This means I have no accurate way of determining how much data is actually queued in SDL's audio buffer queue.
The SDL_GetQueuedAudioSize() documentation says: "This is the number of bytes that have been queued for playback with SDL_QueueAudio(), but have not yet been sent to the hardware." Yet, SDL_GetQueuedAudioSize() returns > 0 value when SDL_QueueAudio() has never been called.
Based on that documentation, I believe the current behavior contradicts the documented behavior of this function and should be changed in line with Boris's patch.
I understand that exposing the IAudioClient::GetCurrentPadding() value is useful, but a solution there needs to take into account what of that data is silence inserted by SDL and what is actual data queued by the user with SDL_QueueAudio(). Until that happens, I think the best approach is to remove the GetPendingBytes() call until SDL is able to keep track of queued data to make sense of it. This would make SDL_GetQueuedAudioSize() possible to use accurately with WASAPI.
|
|
b5d3b6fc
|
2019-05-28T17:39:13
|
|
test: unify all the command line usage logging.
|