|
cd7c2f1d
|
2022-05-03T15:16:11
|
|
Switch versioning scheme to be the same as GLib and Flatpak
For stable releases, this gives us the ability to make bugfix-only point
releases such as 2.24.1 if we want to, and distinguish between them
programmatically. For example, this ability could have been useful after
2.0.16 to fix Xwayland regressions, and after 2.0.18 to fix event loop
regressions.
For development releases, this gives us the ability to make multiple
prereleases during the same feature cycle, and distinguish between them
programmatically. For example, this would have been useful during 2.0.22
development, which went through three prereleases before reaching the
final release.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
63814ec7
|
2022-05-03T14:39:00
|
|
Add static assertions that the version number is consistent
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
d4b82bfa
|
2022-05-03T13:17:59
|
|
Add static assertions for version numbers' limits
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
b398a847
|
2022-05-03T23:21:10
|
|
Add SDL_FLOATWORDORDER for older ARM toolchains
|
|
adac3bd1
|
2022-05-03T12:31:50
|
|
video: restore ability to disable fb accel via hint
Somewhere in code refactoring between .20 and .22 this check
was lost, and so the hint had no effect anymore.
|
|
3f813cf1
|
2022-05-04T10:05:56
|
|
SDL_rawinputjoystick.c: fixed -Werror=declaration-after-statement
|
|
3b53555b
|
2022-01-28T14:53:28
|
|
copied default Steam Controller mapping for wired and wireless-dongle USB pids
|
|
13b1bf4f
|
2022-01-28T13:31:08
|
|
added default gamepad mapping for Steam Controller with new GUID (possibly caused by the firmware update to enable BLE?)
|
|
f7a19f9e
|
2022-01-14T13:14:42
|
|
relaxed the digital hat deadzone slightly, and fixed typo in DEBUG_GAMEPAD_MAPPING define
|
|
3696e23d
|
2022-01-14T10:45:16
|
|
added hints SDL_HINT_LINUX_DIGITAL_HATS and SDL_HINT_LINUX_HAT_DEADZONES to control the new Linux hat handling; added define DEBUG_GAMEPAD_MAPPINGS to log messages when generating default gamepad mapings for Linux joysticks
|
|
0b8e796e
|
2022-01-12T22:00:46
|
|
added hueristic to differentiate digital vs analog 'hat' input axes and expose the latter as regular axes; added automatic deadzones to hat outputs, in case analog axes are still mapped to digital hats; updated automatic gamepad control mapping to more completely follow the spec
|
|
db9e14e5
|
2022-01-31T13:55:37
|
|
disabled linux joystick debugging outputs and reverted unnecessary comment edit
|
|
fbd230bb
|
2022-05-03T17:51:49
|
|
Add support for the Nokia N-Gage (#5597)
* Add initial support for the Nokia N-Gage
* N-Gage: disable clipping for the time being, issue needs to be resolved later
* Move va_copy definition to SDL_internal.h
* Move stdlib.h include to SDL_config_ngage.h, much cleaner this way
* Remove redundant include, add HAVE_STDLIB_H
* Revert "N-Gage: disable clipping for the time being, issue needs to be resolved later"
This reverts commit 4f5f0fc36cc7f34fad05e45671dfa7b8dc32fd51.
* N-Gage: fix clipping issue by providing proper math functions
|
|
3fcc2cb5
|
2022-05-03T11:19:39
|
|
x11: get x1/x2 button state in GetGlobalMouseState
|
|
6150245d
|
2022-05-03T00:11:44
|
|
Add new verbosity level for logging of `SDL_SysWMEvent`s
Now logged only if SDL_HINT_EVENT_LOGGING is set to "3" or above.
|
|
d1a3981b
|
2022-05-02T15:22:46
|
|
Fix crash when reading background events for MFi controllers on macOS
Enabling GCController.shouldMonitorBackgroundEvents to read background events
for MFi controllers before receiving the first GCControllerDidConnectNotification
is apparently a no-go on macOS (12.3.1 for me), and would crash on attempt.
Apple's documentation is... not great, and doesn't point this out.
This waits for IOS_AddMFIJoystickDevice() to get called down the chain from GCControllerDidConnectNotification, and enables GCController.shouldMonitorBackgroundEvents
if it hadn't been already.
On iOS and tvOS, GCController.shouldMonitorBackgroundEvents is ignored, so
there's no need to check their versions.
|
|
bb0b6dd4
|
2022-05-02T20:12:13
|
|
Fixed using WGI without XInput
|
|
5394238c
|
2022-04-30T11:40:26
|
|
Don't include the internal header for a file intended for use by applications
|
|
9e5cbf03
|
2022-04-29T22:36:12
|
|
Disallow non-positive allocation.
Ensure that we're not trying to call SDL_small_alloc()
with a count of zero.
Transforming the code like this fixes a
-Wmaybe-uninitialized warning from GCC 12.0.1
|
|
6c2928b4
|
2022-04-29T19:30:47
|
|
Switch uses of MIN() to SDL_min()
We're excluding files in src/hidapi to minimize the
diff against the upstream project.
|
|
ca26df34
|
2022-04-29T16:44:32
|
|
assert: Allow messages of any length.
Messages are no longer truncated to SDL_MAX_LOG_MESSAGE.
|
|
88889924
|
2022-04-29T16:30:30
|
|
log: Allow log messages of any length.
Log messages are no longer truncated to SDL_MAX_LOG_MESSAGE.
|
|
645db217
|
2022-04-29T14:06:05
|
|
log: Use malloc for long messages.
For short messages, use a stack buffer that is
significantly smaller than SDL_MAX_LOG_MESSAGE.
The rationale for this is that we don't want to risk
blowing the stack, while at the same time we would
like to not put pressure on the memory allocator unless
absolutely necessary.
|
|
73448fe2
|
2022-04-29T14:05:15
|
|
assert: Remove use of alloca()
For short messages, use a stack buffer that is
significantly smaller than SDL_MAX_LOG_MESSAGE.
For larger messages, fall back to allocation.
|
|
97774cdf
|
2022-04-29T14:01:03
|
|
Move in va_copy() define block from stdlib.
|
|
7e636b03
|
2022-04-29T10:16:14
|
|
Removed log message length limitation for Apple platforms
This works in conjunction with https://github.com/libsdl-org/SDL/pull/5584
|
|
2ccb0dfd
|
2022-04-13T15:39:29
|
|
Check for macOS 10.16 to support apps built with older macOS SDKs
|
|
a0cdc1fc
|
2022-04-28T15:01:34
|
|
Added declaration of SDL_LogInit() and SDL_LogQuit()
Fixes compile warning on Android
|
|
29694869
|
2022-04-28T15:56:52
|
|
audio: Revert one of the resampler optimizations.
This is the one that splits the "left wing" into two for loops to
bubble out the conditional that decides if it should read from the
left padding or the input buffer.
I still believe the optimization is good, but the basic logic of it
was incorrect, and needs to be reexamined and fixed before going
back into revision control.
|
|
0f45a4e3
|
2022-04-27T12:22:37
|
|
log: Don't try to SDL_free the static array. :)
I shouldn't be allowed near computers, I swear.
|
|
31e83cd1
|
2022-04-27T12:13:44
|
|
log: Fixed build (sorry!)
|
|
fde9a708
|
2022-04-27T12:05:07
|
|
log: Make the message buffer static.
Now we don't have to worry about allocation failure, or performance
issues or changes to the allocation layout when trying to track down
subtle bugs.
|
|
c4141bc1
|
2022-04-27T09:39:24
|
|
log: Wrap the call to the logging implementation in a mutex.
Fixes #2463.
|
|
2a429522
|
2022-04-27T08:06:28
|
|
log: Don't stack-allocate the message buffer.
It's 4 kilobytes, so I could see this failing if you have a thread with
a tiny stack that unexpectedly logs something.
|
|
12f15aaa
|
2022-04-27T10:03:32
|
|
fix build
|
|
05bd225a
|
2022-04-26T23:14:44
|
|
x11: If XRandR isn't available, add a generic display.
We can get _some_ of the info we need out of standard Xlib and report a
single display (which might actually be multiple physical displays mushed
into a single desktop). This is better than nothing, but you should really
just build with XRandR support and get a better X server. :)
|
|
ccc70e64
|
2022-04-26T23:14:21
|
|
x11: Fixed some compiler warnings.
|
|
7d7ec9c9
|
2022-04-26T16:41:28
|
|
x11: Remove XVidMode and Xinerama support.
Fixes #1782.
|
|
e551384a
|
2022-04-26T14:54:14
|
|
Added functions to get the platform dependent name for a joystick or game controller
|
|
b293888c
|
2022-04-26T19:44:34
|
|
Fixes an issue introduced via #5573 when building for i686
|
|
5066910b
|
2022-04-10T13:44:01
|
|
audio: Make pregenerated resampler kaiser filter more precise.
|
|
111c3add
|
2022-04-10T13:23:51
|
|
audio: Resampler optimizations.
- Calculate `j * RESAMPLER_SAMPLES_PER_ZERO_CROSSING` once per loop
iteration since we use it multiple times.
- Do the left-wing loop in two sections: while `srcframe < 0` and then
the remaining calculations when `srcframe >= 0`. This bubbles a conditional
out of every iteration of a tight loop, giving us a boost. We could
_probably_ do this to the right-wing loop too, but it's less straightforward
there.
- The real win: Use floats instead of doubles. This almost doubles the speed
of the entire function on Intel CPUs, and for embedded things without
hardware-level support for doubles, the speedup is enormous. This in
theory might reduce audio quality, though, and I had to put a check in
place to avoid a division-by-zero that we avoided at higher precision, but
this is likely to be worth keeping for at least the Sony PSP and other
smaller platforms, if not everyone.
|
|
de019568
|
2022-04-09T23:43:57
|
|
audio: Prebake the resampler's kaiser table instead of doing it at runtime.
|
|
f6eb4b07
|
2022-04-26T13:14:15
|
|
pulseaudio: Feed audio data in response to write callbacks.
Instead of waiting until the entire buffer from the SDL callback is ready
to be accepted by PulseAudio, we use pa_stream_set_write_callback and
feed some portion of the buffer as callbacks come in asking for more.
This lets us remove the halving of the buffer size during device open,
and also (hopefully) solves several strange hangs that happen in unusual
circumstances.
Fixes #4387
Fixes #2262
|
|
01ef98a5
|
2022-04-26T10:19:03
|
|
Don't force keyboard auto-repeat on, if the user has disabled it for some reason
Fixes https://github.com/libsdl-org/SDL/issues/2400
|
|
795744fc
|
2022-01-07T10:11:46
|
|
Turn off relative mouse before window checks as well
|
|
e2d268a3
|
2022-01-06T23:42:44
|
|
SDL_cocoamouse.m: SetRelativeMouseMode even if out of focus
Should fix #3087
|
|
d7c07d6b
|
2022-04-27T00:57:17
|
|
Read motion sensor scale from Switch controllers (#5555)
* Read IMU scale data from Switch controllers. Up until now, SDL has used hard-coded scaling which isn't correct with some supported controllers.
* Moved declarations to beginning of code blocks to better fit with SDL style requirements
|
|
76afb858
|
2022-04-25T10:35:56
|
|
Introduces Cocoa_GetWindowDisplayIndex. This enable a proper management for dpi when switching between retina and non-retina displays.
|
|
c39df2fb
|
2021-12-22T18:27:10
|
|
joystick: get HID top-level collection preparsed data directly from RawInput API.
|
|
e9ff4fdd
|
2022-04-25T23:55:50
|
|
add SDL_bsearch
|
|
0b2a55ea
|
2022-02-02T14:58:33
|
|
Fix typo
|
|
3dcfe860
|
2022-02-02T13:59:49
|
|
Add joystick battery event
|
|
0964c84d
|
2022-02-02T11:21:32
|
|
Always use SDL_PrivateJoystickBatteryLevel to update battery level
But do not use it for initialisation.
|
|
fa29e2d7
|
2022-04-25T13:45:51
|
|
Updated to version 2.0.23 for development
|
|
53dea983
|
2022-04-25T13:51:15
|
|
x11: revert checks for _NET_WM_STATE_FULLSCREEN changes.
This reverts commit 85977354fbce9ecb2add660a88e6bec3532c3e26.
This reverts commit 0249df9d960f9bc28b476e1171c5501fc37cca12.
Fixes #5572.
Reopens #5390.
|
|
981e1e3c
|
2022-04-23T10:32:40
|
|
Fixed logical size synchronization issue on macOS
https://discourse.libsdl.org/t/sdl-2-0-22-prerelease/35306/6
|
|
7a574303
|
2022-04-23T20:01:40
|
|
hidapi, libusb: import mainstream commit 536bad201e
|
|
fa073ed0
|
2022-04-22T22:31:04
|
|
Revert "Fix relative mouse input for Unvanquished (unvanquished.net)"
This reverts commit 331859079674465a39b24f32a6a113959601dca3.
Fixes https://github.com/libsdl-org/SDL/issues/5569
|
|
8986efd6
|
2022-04-22T14:21:46
|
|
Added support for the Backbone One controller on iOS
|
|
2ca08378
|
2022-04-22T14:21:41
|
|
SDL: sometimes the PS5 controller doesn't report having to power even when connected over USB. Possibly related to being completely charged? Either way we already know that it's USB or BT so let's use the driver's knowledge instead.
|
|
04bf7c94
|
2022-04-22T09:36:39
|
|
Fixed build
|
|
d9b5805b
|
2022-04-22T09:12:48
|
|
Return a correlation error when trigger rumble is attempted without correlation
|
|
ba62ead5
|
2022-04-18T13:45:41
|
|
Handle potential out of memory condition when working with hints
|
|
145824f6
|
2022-04-21T01:38:53
|
|
WGI: Only call RoUninitialize() if RoInitialize() succeeded
|
|
00b2e10a
|
2022-04-20T20:58:29
|
|
WGI: Keep a reference to the MTA to avoid crashing on COM teardown
Fixes #5552
Fixes #5270
|
|
8982d9f4
|
2022-04-18T21:19:25
|
|
windows: Fix RoInitialize() failure after a CoInitializeEx() call using apartment threading
This mirrors the same codepath in WIN_CoInitialize() which handles STA and MTA.
|
|
923cb446
|
2022-04-20T21:02:40
|
|
windows: Fix calling convention for RoInitialize/RoUninitialize
Fixes #5563
|
|
d4a01bfe
|
2022-04-20T14:07:30
|
|
os2: SDL_DestroyMutex should ignore NULL mutexes.
Every other backend does this, so this should match, now.
It's possible this was harmless, but we can avoid the system call
and the (likely?) debug message when it fails, though!
|
|
a40405d7
|
2022-04-20T18:06:02
|
|
hidapi: Wrap CopyHIDDeviceInfo in define checks.
The purpose of this is to silence a 'defined but not used'
warning.
|
|
aeadbdd7
|
2022-04-20T09:00:00
|
|
Remove an unused function prototype
|
|
c8c59a21
|
2022-04-20T08:58:58
|
|
Fix a -Wshadow warning
|
|
d9009388
|
2022-04-19T14:55:58
|
|
SceKernelMemBlockType to unsigned int
|
|
3753a7b1
|
2022-04-19T14:42:39
|
|
Fix recent changes in VitaSDK
|
|
02225aa7
|
2022-04-18T22:57:03
|
|
Fixed build
|
|
49a2e4b0
|
2022-04-19T00:36:53
|
|
x11: Revert "Fix keymap updating for X11 backend"
This reverts commit de6d290266d1def0eef9df81bf9be41c12a98c61.
This patch had multiple issues, discussed in #5520.
|
|
b9fe6ba0
|
2022-04-18T13:08:04
|
|
Fixed compile warnings
|
|
57927a24
|
2022-04-18T12:57:28
|
|
Don't call scandir() inside of scandir()
This works around a crash in address sanitizer
|
|
1ede941f
|
2022-04-18T21:09:48
|
|
SDL_render.c: internally change viewport/cliprect type from SDL_FRect to SDL_DRect (double precision). (see bug #5547)
|
|
9919d1a7
|
2022-04-18T11:51:09
|
|
Remove HWND_TOPMOST for fullscreen windows
Fixes https://github.com/libsdl-org/SDL/issues/5509
|
|
009a0ff9
|
2022-04-12T14:33:12
|
|
use explicit GetModuleFileNameW
|
|
de711e16
|
2022-04-12T10:32:43
|
|
simplify SDL_GetBasePath on windows
- use GetModuleFileName directly (as recommended)
|
|
7c140429
|
2021-08-03T07:18:02
|
|
Enable evdev-based gamecontrollerdb on FreeBSD
|
|
e7b01ee7
|
2022-04-18T09:55:52
|
|
Added controller mapping for the Thrustmaster Dual Analog 3.2 on Linux
|
|
2b529461
|
2022-04-15T11:51:02
|
|
video: Don't minimize fullscreen windows on focus loss by default when mode switching is disabled
When mode switching is disabled in a video backend, fullscreen windows are basically just fullscreen desktop windows with different internal scaling. As no mode switching occurs, there's no need to minimize them on focus loss by default. This can still be overridden by explicitly setting the internal hint for minimizing on focus loss.
This has the side effect of fixing a bug on GNOME, where, when a fullscreen Wayland window has it's focus lost and restored via alt+tab followed by switching back to windowed mode, the top portion of the window won't end up being obstructed by GNOME's top bar.
|
|
c37090f9
|
2022-04-18T12:30:08
|
|
wayland: Add support for TOOLTIP/POPUP_MENU
|
|
9e264b92
|
2022-04-18T09:20:47
|
|
Certain audio drivers, like the RME "Pro" Audio driver, have resampling quality issues when using WASAPI.
We'll use SDL's resampling algorithm so we have consistent quality between platforms and drivers.
Fixes https://github.com/libsdl-org/SDL/issues/5538
|
|
254fcc90
|
2022-04-18T09:03:14
|
|
Revert "video: Prefer Wayland over X11"
This reverts commit 8ceba27d6291f1195e13608033ec439aec621fc6.
SDL Wayland support is stable, but there are a number of issues with third-party software (NVIDIA drivers, libwayland event overflow, libdecor not handling plugin load failures, Steam overlay not working with Wayland, etc.) that make it better to default to X11 at this time.
Games which would like to prefer wayland when available can use the following code before SDL_Init():
SDL_SetHint(SDL_HINT_VIDEODRIVER, "wayland,x11");
Fixes https://github.com/libsdl-org/SDL/issues/5527
|
|
c1336b21
|
2022-04-17T12:43:32
|
|
hints: Make SDL_VIDEODRIVER and SDL_AUDIODRIVER formal hints.
They were just environment variables before.
Fixes #5528.
|
|
67e0f546
|
2022-04-15T18:24:57
|
|
x11: Update the display when the WM changes a window's fullscreen state.
Fixes #5390.
|
|
edb473cf
|
2022-04-15T15:03:28
|
|
video: Wayland: Always round scaled pointer coordinates down
Rounding up can cause the pointer coordinates to exceed the window boundaries at the right and bottom edges.
|
|
13393a1c
|
2022-04-15T14:28:07
|
|
video: Wayland: Clamp fullscreen window dimensions to desktop
A scaled fullscreen window may exceed the bounds of the desktop. Clamp the window size to the desktop dimensions in fullscreen mode.
|
|
0adb6701
|
2022-04-12T09:01:17
|
|
avoid NullPointer in SDL_GetRenderTarget
|
|
01b14e14
|
2022-04-12T08:49:19
|
|
avoid NullPointer in SDL_GL_MakeCurrent
|
|
9c2f46b0
|
2022-04-12T15:23:22
|
|
Wayland: Add SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR
This hint allows libdecor to be used even when xdg-decoration is
available. It's mostly useful for debugging libdecor, but could in
theory be used by applications which want to (for example) bundle their
own libdecor plugins.
|
|
99ae6395
|
2022-04-12T10:04:05
|
|
Initialise scandir argument
'scandir' does not initialise 'entries' on error
|
|
f708cebe
|
2022-04-12T15:35:32
|
|
fix os2 timer in fallback mode
|
|
727eef70
|
2022-04-09T10:12:49
|
|
audio: SDL_ConvertStereoToMono_SSE3 missed an unaligned load.
|
|
505d6a4a
|
2022-04-08T18:18:56
|
|
Update version to 2.0.22 for release
|
|
c2093fab
|
2022-04-08T13:58:45
|
|
video: wayland: Set the surface damage region when using fullscreen viewports
When using emulated display modes, the output size is often larger than the drawable buffer. As the surface damage region is automatically calculated from the smaller drawable buffer size, the damage region needs to be manually set to cover the entire viewport region or visual repaint artifacts can result.
|