Log

Author Commit Date CI Message
Ryan C. Gordon 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.
Ryan C. Gordon 31e83cd1 2022-04-27T12:13:44 log: Fixed build (sorry!)
Ryan C. Gordon 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.
Ryan C. Gordon c4141bc1 2022-04-27T09:39:24 log: Wrap the call to the logging implementation in a mutex. Fixes #2463.
Ryan C. Gordon 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.
Ozkan Sezer 12f15aaa 2022-04-27T10:03:32 fix build
Ryan C. Gordon 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. :)
Ryan C. Gordon ccc70e64 2022-04-26T23:14:21 x11: Fixed some compiler warnings.
Ryan C. Gordon 7d7ec9c9 2022-04-26T16:41:28 x11: Remove XVidMode and Xinerama support. Fixes #1782.
Sam Lantinga e551384a 2022-04-26T14:54:14 Added functions to get the platform dependent name for a joystick or game controller
Mirko Galimberti b293888c 2022-04-26T19:44:34 Fixes an issue introduced via #5573 when building for i686
Ryan C. Gordon 5066910b 2022-04-10T13:44:01 audio: Make pregenerated resampler kaiser filter more precise.
Ryan C. Gordon 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.
Ryan C. Gordon de019568 2022-04-09T23:43:57 audio: Prebake the resampler's kaiser table instead of doing it at runtime.
Ryan C. Gordon 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
Sam Lantinga 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
FriendlyAI 795744fc 2022-01-07T10:11:46 Turn off relative mouse before window checks as well
FriendlyAI e2d268a3 2022-01-06T23:42:44 SDL_cocoamouse.m: SetRelativeMouseMode even if out of focus Should fix #3087
Jibb Smart 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
Mirko Galimberti 76afb858 2022-04-25T10:35:56 Introduces Cocoa_GetWindowDisplayIndex. This enable a proper management for dpi when switching between retina and non-retina displays.
Dimitriy Ryazantcev c39df2fb 2021-12-22T18:27:10 joystick: get HID top-level collection preparsed data directly from RawInput API.
Eddy Jansson 8c1584e8 2022-04-26T17:56:33 WhatsNew: Start block for 2.0.24
Ozkan Sezer e9ff4fdd 2022-04-25T23:55:50 add SDL_bsearch
Mathieu Eyraud 0b2a55ea 2022-02-02T14:58:33 Fix typo
meyraud705 3dcfe860 2022-02-02T13:59:49 Add joystick battery event
meyraud705 0964c84d 2022-02-02T11:21:32 Always use SDL_PrivateJoystickBatteryLevel to update battery level But do not use it for initialisation.
Sam Lantinga fa29e2d7 2022-04-25T13:45:51 Updated to version 2.0.23 for development
Ryan C. Gordon 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.
Sam Lantinga 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
Ozkan Sezer 7a574303 2022-04-23T20:01:40 hidapi, libusb: import mainstream commit 536bad201e
Sam Lantinga 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
Sam Lantinga 8986efd6 2022-04-22T14:21:46 Added support for the Backbone One controller on iOS
Sam Lantinga 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.
Sam Lantinga 04bf7c94 2022-04-22T09:36:39 Fixed build
Sam Lantinga d9b5805b 2022-04-22T09:12:48 Return a correlation error when trigger rumble is attempted without correlation
Eddy Jansson 0288de85 2022-04-22T14:24:10 SDL_Rect: Add \sa documentation block to SDL_FRect
Sam Lantinga ba62ead5 2022-04-18T13:45:41 Handle potential out of memory condition when working with hints
Cameron Gutman 145824f6 2022-04-21T01:38:53 WGI: Only call RoUninitialize() if RoInitialize() succeeded
Cameron Gutman 00b2e10a 2022-04-20T20:58:29 WGI: Keep a reference to the MTA to avoid crashing on COM teardown Fixes #5552 Fixes #5270
Cameron Gutman 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.
Cameron Gutman 923cb446 2022-04-20T21:02:40 windows: Fix calling convention for RoInitialize/RoUninitialize Fixes #5563
Ryan C. Gordon 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!
Eddy Jansson 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.
Eddy Jansson 5bc29334 2022-04-20T15:53:25 test: Basic tests for SDL_FRectEquals Based on the integer version. These tests mostly check that input isn't mangled and that invalid input gives the expected negative result.
Eddy Jansson fc944859 2022-04-20T05:46:45 SDL_Rect: Use a default epsilon in SDL_FRectEquals() Add SDL_FRectEqualsEpsilon() for when more control over equality test is required.
Eddy Jansson 00feca27 2022-04-20T07:51:04 Add SDL_FLT_EPSILON.
Eddy Jansson 5d4a1f83 2022-04-20T05:45:35 WhatsNew.txt: Add SDL_FRectEqualsEpsilon()
Frank Praznik aeadbdd7 2022-04-20T09:00:00 Remove an unused function prototype
Frank Praznik c8c59a21 2022-04-20T08:58:58 Fix a -Wshadow warning
Jaylon Gowie d9009388 2022-04-19T14:55:58 SceKernelMemBlockType to unsigned int
Jaylon Gowie 3753a7b1 2022-04-19T14:42:39 Fix recent changes in VitaSDK
Sam Lantinga 02225aa7 2022-04-18T22:57:03 Fixed build
Ryan C. Gordon 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.
Sam Lantinga b9fe6ba0 2022-04-18T13:08:04 Fixed compile warnings
Sam Lantinga 57927a24 2022-04-18T12:57:28 Don't call scandir() inside of scandir() This works around a crash in address sanitizer
Sylvain 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)
Sam Lantinga 9919d1a7 2022-04-18T11:51:09 Remove HWND_TOPMOST for fullscreen windows Fixes https://github.com/libsdl-org/SDL/issues/5509
pionere 009a0ff9 2022-04-12T14:33:12 use explicit GetModuleFileNameW
pionere de711e16 2022-04-12T10:32:43 simplify SDL_GetBasePath on windows - use GetModuleFileName directly (as recommended)
Jan Beich 7c140429 2021-08-03T07:18:02 Enable evdev-based gamecontrollerdb on FreeBSD
Sam Lantinga e7b01ee7 2022-04-18T09:55:52 Added controller mapping for the Thrustmaster Dual Analog 3.2 on Linux
Frank Praznik 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.
Ethan Lee c37090f9 2022-04-18T12:30:08 wayland: Add support for TOOLTIP/POPUP_MENU
Sam Lantinga 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
Sam Lantinga 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
Ryan C. Gordon c1336b21 2022-04-17T12:43:32 hints: Make SDL_VIDEODRIVER and SDL_AUDIODRIVER formal hints. They were just environment variables before. Fixes #5528.
Ryan C. Gordon 634b9edc 2022-04-15T20:50:55 cmake: Fixed indenting and some oldschool `endif(TEXT)` things.
Semphris dc5bc523 2022-04-15T17:11:29 Added CMake option to disable the installer
Ryan C. Gordon 67e0f546 2022-04-15T18:24:57 x11: Update the display when the WM changes a window's fullscreen state. Fixes #5390.
Frank Praznik 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.
Frank Praznik 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.
pionere 0adb6701 2022-04-12T09:01:17 avoid NullPointer in SDL_GetRenderTarget
pionere 01b14e14 2022-04-12T08:49:19 avoid NullPointer in SDL_GL_MakeCurrent
Ozkan Sezer 55a4e1d3 2022-04-12T18:34:32 CI: update os2.yml to use open-watcom/setup-watcom also remove os2-buildbot.sh -- not needed anymore.
Simon McVittie c36bd784 2022-04-13T12:10:49 WhatsNew.txt: Document new dependency on libwayland-client 1.18.0 Signed-off-by: Simon McVittie <smcv@collabora.com>
Ethan Lee 46616af7 2022-04-12T11:53:40 WhatsNew.txt: Added SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR
David Gow 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.
Mathieu Eyraud 99ae6395 2022-04-12T10:04:05 Initialise scandir argument 'scandir' does not initialise 'entries' on error
Simon McVittie 68b6fff2 2022-04-12T14:05:06 test: Copy utf8.txt to build directory testiconv wants this. Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie b4256d03 2022-04-12T14:25:26 testevdev: Adapt to a broader definition of keyboards At the time I contributed this unit test, SDL had a relatively narrow definition of what is a keyboard, approximately matching udev ID_INPUT_KEYBOARD. Now it uses the equivalent of udev ID_INPUT_KEY, which matches anything with keyboard keys, and not just reasonably complete alphanumeric keyboards. Fixes: 040bd7a9 "Fix udev not detecting ID_INPUT_KEY devices when udev is not running" Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie c2946902 2022-04-12T14:16:29 testevdev: Recognise touchpads as such At the time I contributed this unit test, SDL didn't understand Linux touchpads, but now it does. Fixes: 373216ae "Added support for touchpads in the Linux evdev code" Signed-off-by: Simon McVittie <smcv@collabora.com>
pionere f708cebe 2022-04-12T15:35:32 fix os2 timer in fallback mode
Ivan Epifanov b7599613 2022-04-11T23:31:09 Vita: fix VIDEO_VITA_PVR flag
Ethan Lee b1831715 2022-04-11T12:09:40 UWP: Require Windows 10 16299 or newer. This is required to build with WGI support. Thanks for @FrozenChameleon for the fix! Fixes #5504
Ryan C. Gordon 727eef70 2022-04-09T10:12:49 audio: SDL_ConvertStereoToMono_SSE3 missed an unaligned load.
Sam Lantinga 505d6a4a 2022-04-08T18:18:56 Update version to 2.0.22 for release
Sam Lantinga a256e6ba 2022-04-08T18:10:56 Updated the patch notes with API changes for 2.0.22
Sam Lantinga 6d7d142b 2022-04-08T18:10:38 Fixed typo
Frank Praznik 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.
Ethan Lee ba0ba9ef 2022-04-08T01:20:36 direct3d11: Set the swapchain target immediately after creating it. Fixes #4782
Ethan Lee cb816308 2022-04-08T02:21:52 render: Update the size/scale/viewport on moves, in addition to resizes. For OpenGL this means resetting the viewport state shadowing flag too. Fixes #1504
Sam Lantinga 5613a560 2022-04-07T11:32:22 Make sure the UIKit message box is being handled on the main thread Potentially fixes https://github.com/libsdl-org/SDL/issues/4865
Ozkan Sezer 2823534f 2022-04-07T20:11:50 minor adjustment to os/2 watcom makefile
Sam Lantinga 49b9e347 2022-04-07T08:24:03 Only update modifier state for keys that are pressed in another application Fixes https://github.com/libsdl-org/SDL/issues/4432
Ryan C. Gordon 85977354 2022-04-07T09:14:33 x11: Treat WM setting the window "fullscreen" like FULLSCREEN_DESKTOP. Fixes #5390.
Connor Clark 6dbca7c9 2022-04-06T20:48:41 Compile with recursive mutexes for emscripten Emscripten actually does support recursive mutexes, so no need to use SDL's fake recursive code. Background: #5428, #5479
Ozkan Sezer 64c7896f 2022-04-06T20:56:10 Makefile.in: added missing CXX variable.
Ethan Lee d1f7f9e3 2022-04-06T11:18:46 wayland: Pin the fake window position at (0, 0). I kind of thought it'd be nice to have it in the center, but this is an issue for applications that still assume global mouse and window positions are accessible. For example, this fixes cursor offset issues in UE5.
Ethan Lee 279aeb59 2022-04-06T01:32:57 wayland: Add a bug link for the detach FIXME
Ethan Lee 3ada694e 2022-04-06T01:18:03 wayland: Try to detach at the beginning of ShowWindow, just in case. It's possible that an external component (probably a GL/VK context) committed, so we need to cover our bases and detach in both HideWindow and ShowWindow. Fixes a crash in UE5 editor's pop-ups.