|
028716e7
|
2017-03-30T16:33:47
|
|
wasapi: deal with default device changes, and more robust failure recovery.
|
|
7891e72d
|
2017-03-30T06:52:34
|
|
__atomic_load_n() appears to be available in GCC 5 but not GCC 4
|
|
c85c57a0
|
2017-03-29T14:23:39
|
|
wasapi: Handle lost audio device endpoints.
This gracefully recovers when a device format is changed, and will switch
to the new default device if the current one is unplugged, etc.
This does not handle when a new default device is added; it only notices
if the current default goes away. That will be fixed by implementing the
stubbed-out MMNotificationClient_OnDefaultDeviceChanged() function.
|
|
f2179944
|
2017-03-29T12:04:17
|
|
Patched to compile on some platforms.
|
|
1dc9ae5c
|
2017-03-29T15:48:22
|
|
Use GCC's atomic loads in SDL_AtomicGet and SDL_AtomicGetPtr
This fixes errors reported by address sanitizer, and generates simpler
code on x86 architectures.
|
|
266816b4
|
2017-03-26T21:00:19
|
|
Removed newlines from error messages.
|
|
00da0824
|
2017-03-23T13:53:09
|
|
Updated axis/button mapping for Dualshock 3, for upcoming Sony driver changes
|
|
c35f46d0
|
2017-03-18T13:57:57
|
|
mir: Set the max/min w/h vs just setting the window w/h
|
|
22161480
|
2017-03-14T07:22:08
|
|
Compile fix for android.
"ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]"
Moving some variable declarations to the top of Android_SetScreenResolution()
|
|
6814f5db
|
2017-03-14T07:20:14
|
|
ALSA driver improvements:
* alsa hotplug thread is low priority
* give a chance for other threads to catch up when audio playback is not progressing
* use nonblocking for alsa audio capture
There is a bug with SDL hanging when an audio capture USB device is removed, because poll never returns
|
|
c4d54504
|
2017-03-14T07:16:56
|
|
differentiate between capture / playback audio thread names
|
|
763e1389
|
2017-03-09T16:09:16
|
|
Added an API to get the joystick instance ID before opening the device: SDL_JoystickGetDeviceInstanceID()
|
|
c1802ef6
|
2017-03-06T21:25:06
|
|
Fixed compile error with gcc -std=c99
|
|
72fdf629
|
2017-03-04T23:05:32
|
|
Mir: Fixed crash if creating default cursor failed.
Found by Cppcheck.
|
|
42d02890
|
2017-03-04T23:05:11
|
|
Linux: Fixed error message.
|
|
6aa17426
|
2017-03-03T16:38:45
|
|
video: Don't compile isAtLeastGL3() if we don't have OpenGL support _at all_.
|
|
ca0bf151
|
2017-03-03T16:38:17
|
|
Fix some more compiler warnings on armcc.
|
|
d526b8a1
|
2017-03-02T13:33:04
|
|
Some patches to make SDL compile with armcc (ARM's C compiler).
|
|
94a69443
|
2017-03-01T15:05:54
|
|
mistake: Revert the files that I did not mean to commit
|
|
7bbb13ea
|
2017-03-01T14:50:59
|
|
* Some refactoring and bug fixes. Thanks Micha? Kuchta!
|
|
bc877885
|
2017-02-28T19:48:52
|
|
raspberrypi: RPI_Destroy() should free the SDL_VideoDevice and its driverdata.
|
|
5a47ee03
|
2017-02-27T12:20:16
|
|
mir: Get ready for Mir 1.0, clean up deprecations. Thanks Micha? Kuchta!
|
|
e5d9b25d
|
2017-02-26T21:20:39
|
|
Fixed comment style.
|
|
a4249b48
|
2017-02-26T00:56:13
|
|
Patched to compile on C89 compilers.
|
|
07519a6b
|
2017-02-26T00:40:04
|
|
Removed a bunch of unnecessary #ifdefs.
|
|
3b9e4d0a
|
2017-02-26T00:39:22
|
|
audio: Try to keep callbacks firing at normal pace when device is lost.
|
|
a366c35f
|
2017-02-26T00:12:33
|
|
audio: run the audio callback even if device was lost.
We will throw away the data anyhow, but some apps depend on the callback
firing to make progress; testmultiaudio.c, if nothing else, is an example
of this.
Capture also will now fire the callback in these conditions, offering nothing
but silence.
Apps can check SDL_GetAudioDeviceStatus() or listen for the
SDL_AUDIODEVICEREMOVED event if they want to gracefully deal with
an opened audio device that has been unexpectedly lost.
|
|
5728cb20
|
2017-02-26T00:10:02
|
|
audio: Make sure the disk and dummy targets are the last ones we try to init.
|
|
b13c443c
|
2017-02-24T20:49:14
|
|
WinRT: removed buildbot debug code, pending further research
|
|
f7bfa3b7
|
2017-02-24T20:19:28
|
|
WinRT: more buildbot debug code
|
|
ecb1eb82
|
2017-02-24T19:59:57
|
|
WinRT: added code to help debug a buildbot error
|
|
71a4e8ed
|
2017-02-23T12:10:02
|
|
Stop CoreAudio from doing expensive audio rate conversion
|
|
a9762551
|
2017-02-20T11:02:35
|
|
Added config for the Razer Wildcat on Mac OS X
|
|
cfcec57f
|
2017-02-19T21:05:09
|
|
Fixed comment.
|
|
9428ff19
|
2017-02-17T17:46:58
|
|
Added support for the Razer Wildcat on Linux
|
|
0d647d35
|
2017-02-17T10:13:17
|
|
Emscripten: implement custom cursors
|
|
33bddcfd
|
2017-02-17T10:13:12
|
|
Emscripten: refactor cursor handling
|
|
613955b4
|
2017-02-17T10:13:07
|
|
Emscripten: only update pixel ratio if HiDPI is enabled
|
|
e8677a1b
|
2017-02-17T02:25:37
|
|
audio: Added basic WAVE_FORMAT_EXTENSIBLE support to .wav loader.
This is just enough to get you through a file that just used the extended
header for float or int data. It doesn't handle all the other things that
you expect from this header, like 24-bit samples inside a 32-bit container
or speaker masks.
|
|
1ed41d6d
|
2017-02-14T03:12:09
|
|
Patched to compile on Windows.
|
|
6046fd4c
|
2017-02-14T03:03:27
|
|
wasapi: Initial WASAPI support, for Windows Vista and later.
This should remain binary compatible with Windows XP, as we dynamically
load anything we need and fall back to DirectSound/WinMM/XAudio2 if not
available.
|
|
c93bca48
|
2017-02-14T02:49:08
|
|
stdlib: Fixed crash on SDL_snprintf("%s", NULL).
Like other C runtimes, it should probably produce the string "(null)".
This bug probably only affected Windows, as most platforms use their standard
C runtime's snprintf().
|
|
d1eb2d19
|
2017-02-13T17:05:14
|
|
thread: Don't use SetThreadDescription on WinRT right now.
Can't LoadLibrary for it, but not sure if it's actually available there yet.
|
|
70c0400b
|
2017-02-13T17:00:46
|
|
windows: Try to unify all the GUID comparison code into a core helper function.
There are likely several more I missed.
|
|
e5fc93ba
|
2017-02-13T16:59:02
|
|
audio: Don't wrap bootstrap declarations in preprocessor macros.
They are harmless and ignored if we don't actually link against them. The
preprocessor checks elsewhere if they're actually used.
|
|
ad9c702f
|
2017-02-13T16:56:41
|
|
audio: SDL_AudioStream's *_sample_frame_size should be in bytes, not bits.
Fixes failures where SDL_AudioStreamGet() incorrectly thinks it got a partial
sample frame request.
|
|
175f1e8f
|
2017-02-13T16:55:00
|
|
audio: Added a ThreadDeinit() method to match ThreadInit.
Not used by any targets at the moment, but will be shortly!
|
|
886736a2
|
2017-02-11T16:38:16
|
|
Fixed bug 3584 - Small stack size for audio callback thread
Walter van Niftrik
We have found that since SDL 2.0.5 the audio callback thread is created with a very small stack size. In our application this is leading to stack overflows.
We believe there is a bug at http://hg.libsdl.org/SDL/file/391fd532f79e/src/audio/SDL_audio.c#l1132, where the is_internal_thread flag appears to be inverted.
|
|
cf31ea14
|
2017-02-11T11:14:48
|
|
Fixed bug 3583 - X11 touch device can be permanently lost
Volumetric
In X11 the SDL error "Unknown touch device" can occur after which the application stops recognizing touch events. For a kiosk-type application this results in a hang as far as the user is concerned. This is reproducible on HP Z220/Z230/Z240 workstations by swapping USB cables for a while and it also occurs with no physical changes, probably due to USB device power management. A workaround is to make SDL re-enumerate the touch devices like it does at startup. A patch is attached.
|
|
06ccb71b
|
2017-02-10T11:21:15
|
|
Make sure the memory barrier functions are always available, and now they are implemented on Android __ARM_ARCH_5TE__
|
|
9171f71d
|
2017-02-10T09:41:16
|
|
Fixed warning in Android build
|
|
107c19da
|
2017-02-09T06:01:14
|
|
Log the error returned by XAudio2Create()
|
|
8eee82cd
|
2017-02-03T23:30:43
|
|
Windows: Fixed warning about unused variable.
Found by buildbot.
|
|
33ff5bd1
|
2017-02-03T23:30:29
|
|
Fixed typo in log message.
|
|
710ae62a
|
2017-02-02T17:33:40
|
|
Remember XInput controllers that we've already seen, so when the raw device list changes we don't assign the old device to the new XInput userid.
This isn't perfect, but at least we won't report the same device twice.
|
|
8f78f5bb
|
2017-02-02T16:56:02
|
|
Fixed build on Apple TV
|
|
da30992d
|
2017-02-02T00:41:58
|
|
Fixed bug 3577 - Can't set minimal size (message box appears instead) if maximal size wasn't declared (i.e. unlimited)
|
|
be28d7c8
|
2017-01-31T12:30:55
|
|
Added support for the Saitek Pro Flight X-56 Rhino
|
|
6717a3d3
|
2017-01-31T12:23:29
|
|
Added support for the HOTAS Warthog throttle
|
|
a156b0d9
|
2017-01-31T10:20:09
|
|
Added the HOTAS Warthog as a flight stick
|
|
800a72eb
|
2017-01-31T10:19:56
|
|
Switch stderr output to SDL_Log() so it shows up on Windows and mobile devices
|
|
52e9c42d
|
2017-01-28T14:35:35
|
|
Fixed Windows build
|
|
869b7fe3
|
2017-01-28T11:17:10
|
|
Fixed bug 3550 - No mouse move messages send while over the titlebar and windows edges
Matthew
Its possible to set SDL_CaptureMouse() so you continue receiving mouse input while the mouse is outside your window. This works however There is then a gap where no messages send, which is when the mouse is hovering the title bar and the window edges.
|
|
c3eea703
|
2017-01-28T10:54:12
|
|
Use a stronger X font definition for X11_MessageBox on UTF-8
X11 seemed to be confused by the broad definition, so WEIGHT_NAME,
SLANT and SETWIDTH_NAME were defined, thus fixing the font lookup
on some systems (tested on Mageia 6 with X11 1.19.1).
Fixes bug 3571.
|
|
13433c4a
|
2017-01-27T21:23:27
|
|
Fixed bug 3569 - GL_UpdateViewport leaves PROJECTION matrix selected
Tom Seddon
GL_ActivateRenderer may call GL_UpdateViewport, which leaves the GL_PROJECTION matrix selected. But after GL_ResetState, the GL_MODELVIEW matrix is selected, suggesting that's the intended default state.
It seems at least like these should be consistent. Presumably GL_UpdateViewport should be doing a glMatrixMode(GL_MODELVIEW) before it finishes.
|
|
0090a338
|
2017-01-27T21:16:38
|
|
Return an error if trying to set a window minimum size larger than the maximum size, or vice versa
|
|
d0247368
|
2017-01-27T18:06:50
|
|
Sorted controller entries
|
|
8fa9b57f
|
2017-01-27T20:50:30
|
|
windows: first shot at naming threads with SetThreadDescription().
This is a bleeding edge API, added to Windows 10 Anniversary Edition (build
1607, specifically).
https://msdn.microsoft.com/en-us/library/windows/desktop/mt774976(v=vs.85).aspx
Nothing supports this yet, including WinDbg, Visual Studio, minidumps, etc,
so we still need to also use the RaiseException hack. But presumably tools
will use this API as a more robust and universal way to get thread names
sooner or later, so we'll start broadcasting to it now.
|
|
95ab9dc7
|
2017-01-27T06:05:50
|
|
Added Thrustmaster Wheel FFB entry to the list of wheels
|
|
3c90a52a
|
2017-01-27T05:59:58
|
|
Added an API to get the type of a connected joystick
|
|
aa90b730
|
2017-01-26T21:25:05
|
|
Add a mapping for Xbox Wireless Controllers running old firmware
Also updates the naming of these Xbox Wireless Controllers connected via USB (and thus the third-party Xbox Controller Driver) to match.
The Xbox Wireless Controller entries are now listed, in order, via USB, bia Bluetooh (with older firmware) and via Bluetooth (with firmware 3.1.1221.0).
|
|
ae5e9a31
|
2017-01-25T22:24:54
|
|
Add gamecontrollerdb mapping for Xbox One S on Mac
This is valid for firmware version 3.1.1221.0; earlier versions of the
firmware need a different mapping (and have different GUIDs).
|
|
ca89d9b5
|
2017-01-25T22:22:05
|
|
Darwin: fix detection of Xbox One S controller
Firmware revision 3.1.1221.0 changes the mapping of the Xbox One S
controller in Bluetooth mode. Aside from changing the layout of
other buttons, this revision also changes the triggers to act as
Accelerator and Brake axes from the simulation controls page.
The Darwin sysjoystick code didn't previously map anything at these
axes, making it impossible to detect input on these two buttons.
|
|
ede5c734
|
2017-01-24T19:38:01
|
|
Generalized the audio resampling hint for other resampling methods in the future
|
|
47e2f4e9
|
2017-01-24T20:30:48
|
|
audio: libsamplerate can't resample in-place; make space for a copy if needed.
|
|
c7f9dcb6
|
2017-01-24T15:52:22
|
|
audio: Offer a hint for libsamplerate quality/speed tradeoff.
This defaults to the internal SDL resampler, since that's the likely default
without a system-wide install of libsamplerate, but those that need more can
tweak this.
|
|
1da3a337
|
2017-01-24T10:09:29
|
|
audio: Fix static analysis concerns about a dead assignment.
|
|
8f627c1c
|
2017-01-24T00:51:33
|
|
audio: Make sure SDL_AudioStream's work buffer is 16-byte aligned, for SIMD.
Note the giantic FIXME, though!
|
|
17dcee20
|
2017-01-24T00:17:40
|
|
audio: Streams now resample in-place. Removed second allocated buffer.
|
|
b5eeab77
|
2017-01-24T00:08:24
|
|
audio: allow stereo Sint16 resampling fast path in SDL_AudioStream.
This currently favors libsamplerate over the fast path (quality over speed),
but I'm not sure that's the correct approach, as there may be surprising
changes in performance metrics depending on what packages are available on
a user's system. That being said, currently, the only thing with access to
SDL_AudioStream is an SDL audio device's thread, and it might be mostly idle
otherwise, so maybe this is generally good.
|
|
a80cb672
|
2017-01-24T00:03:36
|
|
audio: Fixed off-by-one error in upsampling.
|
|
dad07f96
|
2017-01-23T16:45:50
|
|
audio: Resampler now special-cases stereo and mono processing.
Turns out that iterating from 0 to channels-1 was a serious performance hit!
These cases now tend to match or beat the original audio resampler's speed!
|
|
8ce6ddf1
|
2017-01-23T16:42:47
|
|
audio: Fixed incorrect pointer in SDL_ResampleCVT_si16_c2().
Forgot to update this when we changed this to process in-place. Whoops!
|
|
ecdc6c12
|
2017-01-23T12:14:28
|
|
audio: Fixed copy/paste bug in float32->sint16/SSE2 scalar leftover code.
|
|
4b8f3546
|
2017-01-23T12:06:10
|
|
audio: Fix same bug as last commit, but for _mm_bslli_si128 vs _mm_slli_si128.
|
|
fab45018
|
2017-01-23T12:02:02
|
|
audio: use _mm_srli_si128 instead of _mm_bsrli_si128.
They're the same thing (one is generally a #define of the other), but some
toolchains don't offer the 'b' version.
|
|
3594bf8e
|
2017-01-23T01:05:44
|
|
audio: Wired up new SSE code to build system.
|
|
64056e81
|
2017-01-23T00:57:19
|
|
audio: Added SSE3 implementation of SDL_ConvertStereoToMono().
|
|
8855daac
|
2017-01-22T23:48:15
|
|
audio: Make the simple resampler operate in-place.
This allows us to avoid an extra copy, allocate less memory and reduce cache
pressure. On the downside: we have to do a lot of tapdancing to resample the
buffer in reverse when the output is growing.
|
|
202ab30c
|
2017-01-22T20:27:48
|
|
audio: Special case for resampling stereo AUDIO_S16SYS audio data.
This is a fairly common case, so we avoid the conversion to/from float here.
|
|
a7f86f2f
|
2017-01-22T20:18:59
|
|
audio: don't cast to double in SDL_ConvertStereoToMono().
It's expensive and (hopefully) unnecessary. If this becomes an overflow
problem, we could multiply both values by 0.5f before adding them, but let's
see if we can get by without the extra multiplication first.
|
|
4f981df3
|
2017-01-22T22:15:36
|
|
Haiku: Fixed memory leak if creating framebuffer failed.
|
|
63e83a31
|
2017-01-21T22:01:17
|
|
Haiku: Removed unused variable.
Found by Cppcheck.
|
|
800a9e84
|
2017-01-21T22:00:56
|
|
Fixed compiler warning about returning a value in a void function.
|
|
83454c82
|
2017-01-20T16:26:24
|
|
audio: removed conditional from simple resampler's inner loop.
We never seem to overflow the source buffer now; this might have been a
leftover from a bug that was covered by Vitaly's fixes?
Removing this conditional makes the resampler 10-20% faster. Left an
assert in there for debug builds, in case this still happens.
|
|
8fa0b088
|
2017-01-20T08:13:23
|
|
Added support for the 8Bitdo Zero GamePad
|
|
9b99265a
|
2017-01-19T20:19:37
|
|
Fixed mingw64 32-bit build, which does have the correct structure definitions
|
|
f3540242
|
2017-01-18T12:19:57
|
|
Removed unused variable
|
|
b0c5ceef
|
2017-01-18T12:18:50
|
|
Fixed bug 3533 - Enumeration joystick devices omitted during directinput enumeration
white.magic
The logic which decides if a device enumerated via the direct input system in the function EnumJoysticksCallback in SDL_dinputjoystick.c is processed is discarding valid joystick devices due to the assumption that devices of the type DI8DEVTYPE_SUPPLEMENTAL are not valid devices.
This change was added with 2.0.4 with this commit http://hg.libsdl.org/SDL/rev/1b9d40126645 that is linked to this bug report https://bugzilla.libsdl.org/show_bug.cgi?id=2460 which indicates that in that case devices of the type DI8DEVTYPE_SUPPLEMENTAL were not desirable as they caused a singular device to emit multiple "device added" events.
Since then there appear to have been a few fixes to handle devices that fall into various other classes in the following two commits:
http://hg.libsdl.org/SDL/rev/10ffb4787d7a and http://hg.libsdl.org/SDL/rev/6a2bbac05728
Two devices I have reports of failing to be listed when the DI8DEVTYPE_SUPPLEMENTAL type is excluded are ECS Gametric Throttle and Thrustmaster MFD Cougar.
Sam Lantinga
I verified that the OUYA controller shows up as a single device with this change, so I've reverted the change to ignore supplemental devices, leaving framework in place to easily add devices that we want to ignore.
|
|
dd007e3f
|
2017-01-18T11:58:16
|
|
Fixed bug 3561 - Re-acquire device before playing effects if needed.
Mathieu Laurendeau
Check the result of IDirectInputEffect_SetParameters and re-acquire the device to solve concurrency issues.
|