Log

Author Commit Date CI Message
Simon McVittie cfd5d8eb 2022-10-20T20:38:57 build: Regenerate ./configure Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie 4ca5ea5b 2022-10-20T20:02:21 build: Add a mechanism to mark builds with vendor info Downstream distributors can use this to mark a version with their preferred version information, like a Linux distribution package version or the Steam revision it was built to be bundled into, or just to mark it with the vendor it was built by or the environment it's intended to be used in. For instance, in Debian I'd use this by configuring with: --enable-vendor-info="${DEB_VENDOR} ${DEB_VERSION}" to get a SDL_REVISION like: release-2.24.1-0-ga1d1946dc (Debian 2.24.1+dfsg-2) which gives a Debian user enough information to track down the patches and build-time configuration that were used for package revision 2. In Autotools and CMake, this is a configure-time option like any other, and will go into both SDL_REVISION (via SDL_revision.h) and SDL_GetRevision(). In other build systems (MSVC, Xcode, etc.), defining the SDL_VENDOR_INFO macro will get it into the output of SDL_GetRevision(), although not SDL_REVISION. Resolves: https://github.com/libsdl-org/SDL/issues/6418 Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie 2dc788cb 2022-10-20T19:54:24 build: Expand version info in SDL_REVISION and SDL_GetRevision() Instead of using a URL and git sha1, this uses `git describe` to describe the version relative to the nearest previous git tag, which gives a better indication of whether this is a release, a prerelease, a slightly patched prerelease, or a long way after the last release during active development. This serves two purposes: it makes those APIs more informative, and it also puts this information into the binary in a form that is easy to screen-scrape using strings(1). For instance, if the bundled version of SDL in a game has this, we can see at a glance what version it is. It's also shorter than using the web address of the origin git repository and the full git commit sha1. Also write the computed version into a file ./VERSION in `make dist` tarballs, so that when we build from a tarball on a system that doesn't have git available, we still get the version details. For the Perforce code path in showrev.sh, output the version number followed by the Perforce revision, in a format reminiscent of `git describe` (with p instead of g to indicate Perforce). For the code path with no VCS available at all, put a suffix on the version number to indicate that this is just a guess (we can't know whether this SDL version is actually a git snapshot or has been patched locally or similar). Resolves: https://github.com/libsdl-org/SDL/issues/6418 Signed-off-by: Simon McVittie <smcv@collabora.com>
Sam Lantinga 5b8f830e 2022-10-22T09:24:28 Virtual joysticks don't need initial axis jitter protection Fixes https://github.com/libsdl-org/SDL/issues/6426
Ozkan Sezer 0e1d19cf 2022-10-22T18:56:40 fix build errors resulting from -Wmisleading-indentation
Sam Lantinga a905a786 2022-10-22T08:50:18 Clear the previous bitmap when calculating a new window shape Fixes https://github.com/libsdl-org/SDL/issues/6428
Ozkan Sezer 3f1b5efc 2022-10-22T14:28:10 os2 loadso improvements: - SDL_LoadObject: upon failure, strip the .dll extension and retry, but only if module name has no path. - SDL_LoadFunction: upon failure, retry with an underscore prepended, e.g. for gcc-built dlls.
Ozkan Sezer 65a38a40 2022-10-22T14:28:10 hidapi, libusb: remove os/2 symbol load hack after os/2 loadso updates
Ozkan Sezer 3d415bc5 2022-10-22T11:56:56 loadso, dlsym, SDL_LoadFunction: cleanup the underscored name path. - strlcpy was passed a wrong buffer length parameter. has worked so far by luck. - use memcpy instead of strlcpy for simplicity. - 'append' has been a typo: should be 'prepend'.
Brad Smith f37db957 2022-10-21T04:49:15 Use -lpthread on OpenBSD
Anonymous Maarten 5ed091c1 2022-10-21T15:32:05 cmake: fix reporting of SDL_TESTS
Anonymous Maarten 0823b597 2022-10-21T15:31:43 cmake: fix finding wayland-libdecor It was broken in 11d53c84a7663d5a5861f3672990ca4b32376e3e
Ozkan Sezer 4264c0b6 2022-10-21T11:21:40 os2: fix error message for SDL_LoadObject()
Anonymous Maarten 96361fc4 2022-10-04T21:17:10 cmake: create and install sdl2.pc for MSVC & WATCOM
Anonymous Maarten 11d53c84 2022-10-20T01:11:39 cmake: use pkg-config's library dirs as hint for finding a shared library
Anonymous Maarten 94ac8ae0 2022-10-20T13:29:35 cmake: else() does not need an argument
Sam Lantinga c6e89619 2022-10-19T08:05:47 Define _USE_MATH_DEFINES for Visual Studio (thanks @pionere!) Fixes https://github.com/libsdl-org/SDL/issues/3790
Anonymous Maarten d542f43b 2022-10-19T16:03:43 cmake: add SDL_INSTALL_CMAKEDIR cache variable to override location of cmake config files
Brad Smith f28cf2b0 2022-10-19T02:28:36 Also remove the OpenBSD comment about OSS
Ryan C. Gordon e7ab581d 2022-10-19T09:14:16 coreaudio: Dispose of AudioQueue before waiting on the thread. Otherwise the thread might block for a long time (more than 10 seconds!). It's not clear to me why this happens, or why its safe to do this with a resource that's still in use, but we have, until recently, always disposed of the AudioQueue first, so changing back is probably okay. Also changed the disposal to allow in-flight buffers to reach hardware; otherwise you lose the last little bit of audio that's already been queued but not played, which you can hear clearly in the loopwave test program. Fixes #6377.
Sam Lantinga aefc6b5b 2022-10-18T08:40:03 Renamed variables, index is the singular of indices
GNQG 965ba1e0 2022-10-18T19:03:19 fix SDL_SendEditingText when long composition text is enabled and strlen(text) == SDL_TEXTEDITINGEVENT_TEXT_SIZE
Sylvain dfbb93dd 2022-10-18T11:31:30 SDL_Renderer / GLES2: add specific list of indice to render rect (see #6401)
Sylvain e8a4c23c 2022-10-18T10:45:01 Revert commit 790fa3156cfee847a7c0b34986de0cd7fdd7438f. SDL_BLENDMODE_INVALID case is probably used for custom blendmode
Sylvain 790fa315 2022-10-18T10:41:10 Fix warning: enumeration value 'SDL_BLENDMODE_INVALID' not explicitly handled in switch
Sylvain 3ec4c9b3 2022-10-18T10:37:22 Merge remote-tracking branch 'refs/remotes/origin/main'
Sylvain 3d99d310 2022-10-18T10:34:56 Fixed bug #6401 - back-end can choose the order the triangles when rendering rects, attempt to fix small glitch rendering.
Wouter Wijsman 428b5ae5 2022-10-18T10:34:51 PSP: Reorder extra imports
Sylvain 285cbf6f 2022-10-18T10:04:06 Revert commit 485bb3565b6da24620e4eedde837fbfbc5cee6d2. "Fixed bug #6401 - change the order of triangles when using RenderCopy, RenderCopyEx and RenderFillRect" because the glitch reappears on other backend
Sam Lantinga 0bc852ce 2022-10-17T17:43:06 Revert "Disable the RAWINPUT joystick driver by default" Disabling RAWINPUT on Windows 10 causes these issues: * All Xbox controllers are named "XInput Controller". * Trigger rumble no longer works. * "XInput Controllers" are now also listed as separate haptic devices
Deve 7e108816 2022-10-18T01:07:54 Fixed command modifier on macOS
Deve cdf312c8 2022-10-18T00:48:55 Fixed mouse warp after resizing window on macOS.
David Jacewicz 7c7cd2a6 2022-10-17T14:04:29 Fix issue #6037 (incorrect modifier flags on Wayland)
Wouter Wijsman 3903f4c8 2022-10-17T21:59:38 PSP: Use vramalloc instead of conflicting valloc function The libpspvram library was offering a function with conflicted with valloc. This has been renamed now, so SDL2 had to be updated for it.
Sam Lantinga 333935ff 2022-10-17T11:10:53 Make sure we completely unlock joysticks when opening HIDAPI devices Also lock the joysticks when adding and removing Android joysticks
Sam Lantinga 47ba997f 2022-10-17T07:39:52 Disable the RAWINPUT joystick driver by default It's only needed to support more than 4 Xbox controllers, and adds significant complexity to the joystick processing, and we regularly get bugs from people who aren't using an SDL window who need to turn on SDL_HINT_JOYSTICK_THREAD.
Sam Lantinga 5025f240 2022-10-17T07:32:44 Don't use RAWINPUT joystick driver on Windows XP Fixes https://github.com/libsdl-org/SDL/issues/6400
Brad Smith f4e3af15 2022-10-17T07:23:40 Simplify OSS test by removing OpenBSD specific location of the soundcard.h header OpenBSD has long since stopped using OSS. Remove checking for OpenBSD specific header.
Sylvain 485bb356 2022-10-17T13:30:30 Fixed bug #6401 - change the order of triangles when using RenderCopy, RenderCopyEx and RenderFillRect
Sam Lantinga 70dfd6dd 2022-10-16T09:05:13 Added mapping for Xbox Series X controller Fixes https://github.com/libsdl-org/SDL/issues/6296
Frank Praznik ed412c13 2022-10-15T14:05:35 wayland: Cleanup event source comments, headers, and error reporting Replace instances of fprintf(stderr, ...) with SDL_SetError(), replace C++ comments with C style, use a uniform format for multi-line comments, and remove unused headers as poll and select aren't used in this file (the SDL function which calls them is used instead).
Daniel Bomar 22461383 2022-10-15T15:54:12 SDL_audiocvt: Respct the SDL_HINT_AUDIO_RESAMPLING_MODE hint This implements using libsamplerate for the SDL_AudioCVT API. This library was already being used for audio streams when this hint is set.
Sam Lantinga e8fdb861 2022-10-15T10:02:39 Removed redundant masking when loading the IMU calibration
happyharryh a6573f94 2022-10-16T00:23:25 Fix bugs in IMU calibration loading for Nintendo Controllers
Frank Praznik 62047686 2022-10-13T16:24:13 wayland: Don't block on libdecor_dispatch() libdecor_dispatch() needs to be called, as libdecor plugins might do some required internal processing within, however care must be taken to avoid double-blocking in the case of a timeout, which can occur if libdecor_dispatch() and the SDL event processing both work on the main Wayland queue. Additionally, assumptions that libdecor will always dispatch the main queue or not process zero-length queues (can occur if a wait is interrupted by the application queueing an event) should not be made, as this behavior is outside the control of SDL and can change. SDL handles polling for Wayland events and then calls libdecor to do its internal processing and dispatch. If libdecor operates on the main queue, it will dispatch the queued events and the additional wl_display_dispatch_pending() call will be a NOP. If a libdecor plugin uses its own, separate queue, then the wl_display_dispatch_pending() call will ensure that the main queue is always dispatched.
Frank Praznik e89389ba 2022-10-14T20:41:10 wayland: Use MAP_PRIVATE when mapping the keyboard keymap file descriptor Per the Wayland spec, this must be mapped with MAP_PRIVATE in version 7 of the protocol and higher.
Sam Lantinga 5129a077 2022-10-14T14:35:52 Steam Controller support defaults off, as documented in SDL_hints.h
Sam Lantinga 6af17369 2022-10-14T10:36:24 Added mapping for Qanba Drone on Linux without HIDAPI
Sam Lantinga 93b71967 2022-10-14T10:32:03 Only update the battery level if we're on Bluetooth Fixes battery level dropping to empty with the Qanba Drone Arcade Stick. It looks like we might also be able to skip the check for all third party controllers, but I think this is the right thing to do for Sony controllers as well.
Sam Lantinga 120a957d 2022-10-14T09:57:02 Added support for the Qanba Drone Arcade Stick
Sam Lantinga 6bb0c2a5 2022-10-14T06:33:38 Added documentation for some scancodes
Sam Lantinga 91ff8845 2022-10-13T23:56:17 Disable "The key you just pressed is not recognized by SDL." message by default
Sam Lantinga 13919214 2022-10-13T23:23:55 Fixed reported cases of "Keyboard layout unknown" messages In all cases they were using SDL_SCANCODE_TABLE_XFREE86_2 with some keycodes remapped or fewer than expected keycodes. This adds a sanity check that catches all of them and gives them the right scancode table.
Sam Lantinga 2c192385 2022-10-13T22:50:57 Don't remove entries from an existing scancode keymap If we can't find the X11 keysym, it's likely that either the keysym is NoSymbol, in which case we won't hit it anyway, or it's been mapped to a character, in which case the existing mapping is correct for the scancode and the character will be reflected in the keycode mapping.
Sam Lantinga 99f2a503 2022-10-13T22:40:24 X11 scancode mapping cleanup * Consolidated scancode mapping tables into a single location for all backends * Verified that the xfree86_scancode_table2 is largely identical to the Linux scancode table * Updated the Linux scancode table with the latest kernel keycodes (still unmapped) * Route X11 keysym -> scancode mapping through the linux scancode table (which a few hand-written exceptions), which will allow mappings to automatically get picked up as they are added in the Linux scancode table * Disabled verbose reporting of missing keysym mappings, we have enough data for now
Cameron Gutman f5afb7d1 2022-10-13T18:44:15 directfb: Fix return type of DirectFB_RenderPresent()
Sam Lantinga fc73386f 2022-10-12T21:44:50 Fixed the mapping from raw joystick values to the expected [SDL_JOYSTICK_AXIS_MIN, SDL_JOYSTICK_AXIS_MAX] range. (thanks Tas!) The original code mapped incorrectly from [min, max] to [-32768, 32512], the upper bound being SDL_JOYSTICK_AXIS_MAX - 255 instead of SDL_JOYSTICK_AXIS_MAX.
Pierre Wendling eea9f638 2022-10-12T18:51:59 CI: Update to actions/checkout@v3.
Simon McVittie 7d230af5 2022-10-12T12:41:30 testevdev: Explain why the test data is encoded the way it is Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie 81dee319 2022-10-12T12:36:41 testevdev: Add a static assertion for supported sizeof(long) If this assertion fails on some platform (unlikely), we will need a third implementation for SwapLongLE(). Signed-off-by: Simon McVittie <smcv@collabora.com>
Pierre Wendling 5b9608e0 2022-10-11T23:35:33 Remove D3D9 workarounds for Watcom. The linked PRs have been merged since May.
Ryan C. Gordon 2d7816e3 2022-10-12T09:59:31 dynapi: Disable support for API call logging by default. We can manually enable it if necessary, but it bloats the library to leave it on just in case. Fixes #6381.
Sylvain f69e004d 2022-10-12T13:58:41 Android default to dynamic API disabled (see #6381)
Sylvain f6ff8778 2022-10-12T13:55:14 Android default to dynamic API disabled (see #6381)
Desour 6836273d 2022-10-12T00:17:50 Use XIWarpPointer if compiled with xinput2 Co-authored-by: Andrei E <andreien@proton.me>
Helge Deller fb32effd 2022-10-09T12:13:23 testevdev: Fix detection of word size The check for whether to use a 32- or 64-bit swap for an array of long values always took the 64-bit path, because <limits.h> wasn't included and therefore ULONG_MAX wasn't defined. Turn this into a runtime check, which a reasonable compiler will optimize into a constant. This fixes testevdev failures on 32-bit big-endian platforms such as hppa and older powerpc. Little-endian and/or 64-bit platforms are unaffected. [smcv: Added commit message] Bug-Debian: https://bugs.debian.org/1021310 Co-authored-by: Simon McVittie <smcv@collabora.com>
Pierre Wendling e710440f 2022-10-11T11:23:16 Vita: Fix typo in CI CMake command.
Ethan Lee be2cb000 2022-10-11T11:16:52 wayland: Check for the input handle before checking the keyboard handle
Sam Lantinga df1bd07d 2022-10-11T07:25:27 d3d12: actually execute the pending commands before processing resize This makes sure all the resources are in the expected state Fix the D3D12 case in https://github.com/libsdl-org/SDL/issues/6376
Frank Praznik 0b88e609 2022-10-11T07:40:35 wayland: Raise wl_seat maximum version to 8 Version 8 is required for supporting axis_value120 high-resolution scroll events.
zhailiangliang 41c718ed 2022-10-11T10:07:32 Fix memory leak in PSP_CreateTexture
happyharryh 6f224e4d 2022-10-11T10:44:20 Made timestamp_us of sensor events increase monotonically for Nintendo controllers
Pierre Wendling 4227a0b4 2022-10-10T22:44:48 Vita: Turn on `SDL_WERROR` in CI.
Pierre Wendling e99b05d6 2022-10-10T22:36:21 Vita: Install bash in CI. The wrapper `arm-vita-eabi-pkg-config` fails without it with the error: `env: can't execute 'bash': No such file or directory`
Pierre Wendling fefd48eb 2022-10-10T22:30:05 PS2: Turn on `SDL_WERROR` in CI.
Pierre Wendling 8117bfe5 2022-10-10T22:29:31 PS2: Ignore warnings from toolchain headers. The `gsInline.h` header creates `Wdeclaration-after-statement` warnings.
Pierre Wendling 04727946 2022-10-10T22:04:15 PSP: Turn on `SDL_WERROR` in CI.
Pierre Wendling 5ddac7e0 2022-10-10T22:04:02 PSP: Fix type mismatch warnings.
Pierre Wendling c1317175 2022-10-10T22:02:17 PSP: Fix `Wformat` warnings.
Pierre Wendling 669532d5 2022-10-10T22:01:49 PSP: Remove dead code. Fixes unused variable warning.
Ryan C. Gordon 17322e2b 2022-10-10T13:07:52 dynapi: Optionally log every call into the SDL API. This will only log things going through dynapi, which means it won't do anything if dynapi is disabled for a given build, but also things that call the `*_REAL` version of an API won't log either (which is to say, if an internal piece of SDL calls a public API, it won't log it, but if an application calls that same entry point, it will). Since this just inserts a different function pointer, unless you explicitly request this at runtime, it won't add any overhead, and, of course, the entire thing can be turned off with a single #define so it doesn't even add extra unused code to the shared library if the kill switch is flipped.
Sam Lantinga 45070835 2022-10-10T09:39:55 Fixed build
Sam Lantinga 680d0f04 2022-10-10T09:26:49 Added support for undefined or centered position for shaped windows Fixes https://github.com/libsdl-org/SDL/issues/6359
Pierre Wendling b737833d 2022-10-10T11:07:03 N3DS: Turn on SDL_WERROR in CI.
Pierre Wendling 6784d84c 2022-10-10T01:31:14 N3DS: Fix `-Wformat` warnings in tests. All warnings were about invalid specifiers. Since U/Sint32 is a long, using `%d` emits a -Wformat warning.
Pierre Wendling 43a2b0b1 2022-10-10T00:00:52 N3DS: Use macro to correct axis. Using `(value * SDL max) / 3DS max` allows for marginally better accuracy compared to `value * (SDL max / 3DS max)`.
Pierre Wendling 49c25b1d 2022-10-09T23:49:00 N3DS: Fix PrivateSensorUpdate call. A new timestamp parameter was added in 2c51874.
Pierre Wendling cb1972b3 2022-09-20T23:07:04 N3DS: ZL and ZR should be considered as triggers. Previously they were considered as clicking stick.
Pierre Wendling 86a8714f 2022-09-20T23:04:20 N3DS: Refactor joystick module to avoid globals.
Pierre Wendling 392f3882 2022-09-20T22:45:24 N3DS: Use SDL_Sensor instead of Joystick sensors.
Pierre Wendling 27557b62 2022-09-20T19:53:45 N3DS: Prefix timer sources with `N3DS_`.
Pierre Wendling efc93e68 2022-09-18T15:17:08 N3DS: Don't set `num_display` by hand. Doing so creates 2 empty displays at the beginning of the list.
Pierre Wendling c7c0e81c 2022-09-18T14:01:36 N3DS: Update README.
Pierre Wendling 83ec6062 2022-09-18T13:46:09 N3DS: Move gfxInit and hidInit from main to video.
Pierre Wendling 266014fa 2022-09-18T13:38:26 N3DS: Use SDL_Touch instead of the Joystick touch.
Pierre Wendling f9785702 2022-09-18T13:22:07 N3DS: Deduce screen from window's display. This removes the need for a dedicated window creation flag.
Pierre Wendling 46a13ad9 2022-09-18T12:35:32 N3DS: NEON is likely not supported.
Pierre Wendling af2bc2ed 2022-09-18T10:52:35 N3DS: Use osSetSpeedupEnable instead of PTMSYSM.
Pierre Wendling 03bbbcd8 2022-09-18T09:06:36 N3DS: Use CreateJoystickGUIDForName.
Pierre Wendling 2b2693ae 2022-09-18T08:49:56 N3DS: Use asprintf instead of snprintf.