src


Log

Author Commit Date CI Message
Sylvain 78834b50 2022-04-01T08:01:44 Add SDL_list.c/h
Sylvain ad6bc521 2022-04-01T07:59:16 Move SDL_List functions to SDL_list.c to avoid more merge with eventual PR
Sam Lantinga 0d7edcb7 2022-03-31T16:15:51 Fixed loading 32-bit BMP files
Ryan C. Gordon ea7d5307 2022-03-31T14:11:52 emscripten: Proxy SDL_GetUsableDisplayBounds to the main thread.
Reinhold Gschweicher 40415859 2022-02-25T00:12:33 emscriptenmouse: remove old extra `_INT`
Reinhold Gschweicher 4dca8f7f 2022-02-24T21:09:03 SDL2 thread proxying fixes This PR uses new APIs added in [emscripten-core/emscripten#9336](https://github.com/emscripten-core/emscripten/pull/9336) to improve compatibility with USE_PTHREADS=1. Original PR: https://github.com/emscripten-ports/SDL2/pull/127 By: @jakogut Reviewed by: Daft-Freak
Reinhold Gschweicher fe79eb2f 2022-02-26T20:46:52 emscriptenframebuffer: fix formatting
Reinhold Gschweicher 268cc2a4 2022-02-26T20:42:54 emscriptenmouse: remove useless return statement
NeroBurner 3136a530 2022-02-25T14:26:23 fix formatting and cast warnings Co-authored-by: Charlie Birks <charlie@daftgames.net>
Ryan C. Gordon 1c7bf478 2022-03-31T10:09:02 x11: Ignore BadValue for extremely small XRRSetScreenSize resolutions. Reference Issue #4840.
Ivan Epifanov 95c0fec5 2022-03-31T12:35:17 Vita: PVROGL: fix indentation and ifdef guards
Jaylon Gowie b5700ab3 2022-03-29T19:32:21 Cleanup Spaces
Jaylon Gowie 8c542a35 2022-03-29T19:08:56 Desktop OpenGL 1.X/2.X PSVita Support
Cameron Gutman 2c04df8d 2022-03-30T18:33:38 joystick: Fix rumble issues on PS5 HIDAPI controllers We were returning the report size from HIDAPI_DriverPS5_RumbleJoystick() rather than 0 upon success, causing SDL_JoystickRumble() (and callers) to think that rumbling failed. This didn't cause major problems until 1868c5b, when it started preventing rumble state from being persisted in the joystick core, even though it was successfully sent to the hardware. This led to all sorts of strangeness, including broken rumble duration and attempts to stop rumble being discarded.
Ryan C. Gordon 7e15ad2f 2022-03-30T14:15:52 x11: Catch X11 errors in X11_SetWindowPosition and X11_SetWindowSize. The functions can go south if other operations are in progress, like X11_SetWindowBordered, which might be doing something traumatic behind the scenes of the window manager. We can't make these tasks totally synchronous, which would fix the problem, because not only can the window manager block however long it wants, it might also decide to deny our requests without any notification, so we'd be waiting forever for a window change that isn't coming. :( Fixes #5274.
Ivan Epifanov cbdb67b4 2022-03-30T00:12:42 Vita: add SDL_GetPreferredLocales support
Ivan Epifanov 178ac196 2022-03-29T23:48:08 Vita: add audio capture support
Frank Praznik 4d1905c9 2022-03-29T13:34:14 video: wayland: Use viewports for non-fullscreen windows with fractional scaling Use viewports for non-fullscreen windows when the desktop uses fractional scaling and the window is flagged as DPI-aware to provide a backbuffer mapped as close to 1:1 output as possible. In the cases of odd window sizes the backbuffer may be a pixel off of scaling perfectly into the window size due to its scaled size being rounded off, but a minute amount of scaling during output is likely preferable to the large amounts of overdraw needed with integer scaled buffers.
Frank Praznik fa4c5198 2022-03-28T21:32:30 video: wayland: Expose more resolutions for mode emulation Expose as many emulated display modes as possible. They will currently display stretched to the display's native desktop aspect, but if an application requires a hardcoded resolution, it will work at minimum. Aside from the change in the emulated display mode list, the Wayland event handling code had to be updated to support separate scaling for the x and y axes, as square pixels are no longer guaranteed.
Ethan Lee d875416a 2022-03-28T15:32:30 wayland: Minor fix for old compilers
Frank Praznik 4d76c9cb 2022-03-25T20:35:07 video: wayland: Use wp-viewporter for fullscreen with non-native resolutions Wayland doesn't support mode switching, however Wayland compositors can support the wp_viewporter protocol, which allows for the mapping of arbitrarily sized buffer regions to output surfaces. Use this functionality, when available, for fullscreen output when using non-native display modes and/or when dealing with scaled desktops, which can incur significant overdraw without this extension. This also allows for the exposure of arbitrarily sized, emulated display modes, which can be useful for legacy compatability.
Connor Clark aec86ba8 2022-03-26T15:31:33 emscriptenaudio: proxy calls to main thread
Ivan Epifanov 96be9cdd 2022-03-27T21:48:09 Vita: add hint to select which touchpad generates mouse events
Mathieu Eyraud 1db47d46 2022-03-28T15:39:13 Fix potential memory leak in QueueCmdFillRects
Ivan Epifanov 95ed8313 2022-03-25T15:22:10 Vita: Use preallocated memory pool for textures
Ryan C. Gordon 7bc498d3 2022-03-27T09:12:12 direct3d: Implement missing blend operations. This is only for Direct3D 9; Direct3D 11 already had this implemented. Fixes #5375.
Ethan Lee 713a6754 2022-03-26T22:26:15 wayland: Relax the check for mismatching output scales
Ethan Lee 5655be15 2022-03-26T19:57:39 wayland: Avoid overwriting xdg_output position with wl_output position
Ethan Lee 40417b18 2022-03-26T19:55:04 wayland: Work around a GNOME xdg_output scaling issue
Ethan Lee 7a1c45bd 2022-03-25T12:51:38 wayland: Optimize keyboard_handle_modifiers. 1. Mod index values are (mostly) constant, so can be done with xkb_state_new 2. Mods can change without the group changing, avoid remap events if possible Lastly, as a bonus, I added braces to the locale check, because I was nearby.
Ivan Epifanov 69d0b6e3 2022-03-25T15:18:39 Vita: Fix NULL-pointer dereference
Sylvain bf38fd46 2022-03-25T11:52:50 YUV: fix invalid read on last line when converting from SDL_PIXELFORMAT_YUY2 (see bug #4841)
Ethan Lee 2891f082 2022-03-25T02:49:49 wayland: Use xkb_keymap_mod to set mod state
Ethan Lee 6d9ca926 2022-03-25T01:36:39 wayland: Enforce text capitalization manually, for remapped keymods
Ethan Lee a75c6150 2022-03-25T01:33:40 wayland: Add an xkb_keysym_t->SDL_Keycode mapping for backspace
Ethan Lee ab74b6a3 2022-03-24T15:34:29 wayland: Remove some now-redundant casts
Ethan Lee ee52ad08 2022-03-24T15:32:25 wayland: Minor fixes for old compilers
Simon McVittie b4d28085 2022-03-24T18:30:32 wayland: Don't overwrite error message from SDL_EGL_CreateSurface SDL_EGL_CreateSurface sets a more specific error message, so overwriting it would lose information. Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie d5bbbd3f 2022-03-24T18:23:35 Avoid depending on libwayland 1.20 unnecessarily When using shared linking (linking in the normal way with -lwayland-client) rather than loading Wayland libraries dynamically at runtime, listing symbols that don't exist in the current version results in a build failure. We don't actually call wl_proxy_marshal_flags() or wl_proxy_marshal_array_flags() directly; the reason we need them is that they're called by the code generated by wayland-scanner >= 1.20. If we're building against an older Wayland library, then we'll have its corresponding version of wayland-scanner (mismatched versions are not supported), so we won't need those two symbols, and can avoid generating a dependency on them. Conversely, if we're building against a newer Wayland library, the generated code will call them unconditionally, so we cannot treat them as optional and gracefully fall back: that would result in a crash. Instead, treat them as a mandatory part of the Wayland library, so that if they are not found at runtime, we can fall back to X11 without crashing. libwayland 1.18 is in several LTS distributions (Ubuntu 20.04, Debian 11, RHEL 8) so avoiding a hard dependency on 1.20 is quite useful. Signed-off-by: Simon McVittie <smcv@collabora.com> Resolves: https://github.com/libsdl-org/SDL/issues/5376
Ryan C. Gordon d597a9b4 2022-03-24T14:25:00 x11: Minor cleanups and corrections in X11_ShowMessageBox. Reference issue #3254.
Sylvain 6c56193a 2022-03-24T18:09:45 Fixed bug #1650: X11 doesn't set KMOD_NUM and KMOD_CAPS to system state
Kimplul 2398c43b 2022-03-24T14:34:37 add some Thrustmaster wheels
Ryan C. Gordon 4fe7b2cb 2022-03-24T11:00:43 static analysis: Fixed several complaints from codechecker. There are still some pending Objective-C specific issues. Reference issue #4600.
Ivan Epifanov eadc064e 2022-03-23T19:14:28 Vita: add native YUV textures support. * Fail if texture init fails. * Refactor and cleanup.
Ivan Epifanov 0af2db6f 2022-03-23T19:04:29 Vita: support audio format fallback
Frank Praznik 0dae35bf 2022-03-19T15:58:47 video: wayland: Use xdg-output for retrieving the desktop dimensions Using wl-output to get the desktop display dimensions and dividing by the integer scale factor will not return the correct result when using a desktop with fractional scaling (e.g. a 3840x2160 display at 150% will incorrectly report the scaled desktop area as 1920x1080 instead of 2560x1440). Use the xdg-output protocol, if available, to retrieve the correct desktop dimensions and offset. Versions 1 through 3 of the protocol are supported.
Florian "sp1rit"​ 9125b244 2022-03-23T13:46:25 wayland: Basic support for zwp_tablet_*v2 protocol
Ethan Lee 13337e17 2022-03-23T13:27:01 wayland: The rest of the wayland-client 1.18 requirement... Git, please
Sylvain Becker c23a7ad3 2022-03-23T17:07:56 Add SDL_RenderGetWindow() API to get the window associated with a renderer (#5440) Add SDL_RenderGetWindow() API to get the window associated with a renderer
Sylvain f5a98044 2022-03-23T10:13:56 Android: add SetWindowResizable() implementation - which also enable/disable the orientation lock status. This is only provided when the window is not SDL_WINDOW_FULLSCREEN (see SDL_video.c). Final orientation also depends on SDL_HINT_ORIENTATIONS.
Sam Lantinga 006aafab 2022-03-22T20:23:09 Fixed freeing a constant string (thanks @gnrlwart)
Ryan C. Gordon 8df045cc 2022-03-22T15:53:40 stdlib: just cast iconv()'s 2nd arg to void *. This makes the compiler happy (enough) regardless of whether the C runtime headers think this argument should be const or not. Fixes #4966.
Charlie Birks 4b8d69a4 2022-03-22T17:09:44 Avoid trying to use texture framebuffers on emscripten
pionere 25203222 2022-02-05T11:01:25 optimize the SDL_str(case)cmp functions
pionere aec58d82 2022-02-05T10:56:43 make SDL_strcasecmp standard compliant
pionere b59ca92e 2022-02-05T10:55:09 use != '\0' comparison instead of SDL_strlen in the functions of SDL_getenv
Jonatha Gabriel b944dc8f 2022-03-22T15:05:05 Also fix Android crash when SDL_HIDAPI_DISABLED set to 1 The Java code needs the native functions to be implemented, even if they're not surfaced via the C API, therefore, a stub version of functions were made only to the purpose of "fill the gaps" when SDL_HIDAPI_DISABLED set to 1.
Egor 2302b2d5 2022-03-22T16:33:45 Add mapping for Logitech Precision Gamepad
Sylvain 83df4a35 2022-03-22T15:25:01 SDL_render.c: remove unsused case, since renderer target has been forced to NULL previously (see bug #4213)
Ryan C. Gordon f782abe5 2022-03-22T09:52:52 hints: Added SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE. Fixes #2349.
Sam Lantinga 34fd83ca 2022-03-22T06:50:10 Don't try to hide foreign windows when destroying the SDL window representation Fixes https://github.com/libsdl-org/SDL/issues/5432
Ozkan Sezer 74680f5c 2022-03-21T18:56:56 regenerated SDL_blit_auto.c.
pionere dd6c46cb 2022-03-21T18:56:56 blit-auto optimizations
Sylvain 9dc201d4 2022-03-21T10:41:14 Fixed bug #2962 - when SDL_RenderReadPixels format = 0, used format of the target texture include/SDL_render.h, format: "0 to use the format of the rendering target "
Eddy Jansson 24ffcbd9 2022-03-20T17:23:34 audio: Set error message on dsp init failure. if SDL_EnumUnixAudioDevices() fails to find any devices, set an error message on the exit path. Without this, SDL_Init() could fail without any message available in SDL_GetError().
Sam Lantinga 8f964576 2022-03-19T11:01:55 Fixed parameter operation ordering for ease of reading
Sam Lantinga 0517b61e 2022-03-19T11:00:00 Relative mouse mode is tied to the window with keyboard focus This isn't obvious, but makes sense when thinking about how games actually use it. This is also in line with how Windows mouse relative mode is implemented. Fixes https://github.com/libsdl-org/SDL/issues/5340
Sam Lantinga b559a4ac 2022-03-19T10:39:22 Fixed Android crash when SDL_HIDAPI_DISABLED set to 1 The Java code needs the native functions to be implemented, even if they're not surfaced via the C API. Fixes https://github.com/libsdl-org/SDL/issues/5326
Sam Lantinga a485ffc3 2022-03-19T09:50:22 Fix "SDL_FALSE is not defined" runtime error for emscripten.
Ryan C. Gordon d81fee76 2022-03-19T10:27:31 SDL_Rect: Added floating point versions of all the rectangle APIs. Fixes #5110.
Ryan C. Gordon 4d9bef60 2022-03-19T09:44:09 SDL_Rect: minor code cleanups.
Ryan C. Gordon c573ebe1 2022-03-19T09:29:01 SDL_UnionRect: If both rects are empty, zero out the result struct.
Christian Kündig fbbd0270 2022-03-18T23:10:19 Fix "SDL_TRUE is not defined" runtime error for emscripten.
Sam Lantinga 6c962177 2022-03-18T10:07:59 Added the hint SDL_HINT_MOUSE_RELATIVE_MODE_CENTER, controlling whether the mouse should be constrained to the center of the window or the whole window in relative mode. For further info about the pros and cons, check out the discussion in https://github.com/libsdl-org/SDL/issues/5271
Sam Lantinga 1868c5b5 2022-03-17T18:25:50 Start rumbling once a raw input controller has been correlated Fixes https://github.com/libsdl-org/SDL/issues/5351
Sam Lantinga 3167ba34 2022-03-17T17:58:35 Fixed freeing the Windows blank cursor
Sam Lantinga 0387bf82 2022-03-17T17:55:28 Fixed memory leak in WIN_CreateBlankCursor()
Sam Lantinga 5ff42438 2022-03-17T17:39:46 Added a hint to capture the mouse when mouse buttons are pressed, defaulting on Fixes https://github.com/libsdl-org/SDL/issues/5301
Sam Lantinga 09b8152f 2022-03-17T17:19:21 Use SDL_Log instead of printf
Sam Lantinga b22ce2b5 2022-03-17T17:10:40 Workaround for bug in Microsoft WGI support Fixes https://github.com/libsdl-org/SDL/issues/5270
Sam Lantinga d4062785 2022-03-17T17:01:36 Try not forcing activation when grabbing the mouse in fullscreen windows
Sam Lantinga 4e784fce 2022-03-17T16:57:33 When updating grab state, only activate windows that are grabbed, fullscreen, and shown. Fixes https://github.com/libsdl-org/SDL/issues/5371
Sam Lantinga e5f45455 2022-03-17T14:44:34 Added a hint to mark a foreign window as usable with OpenGL Fixes https://github.com/libsdl-org/SDL/issues/2942
Sam Lantinga 4e49b78a 2022-03-17T14:44:17 Fixed compile warning and comment typo
Ethan Lee 0bf8ccfb 2022-02-08T22:15:11 video: Add a hint to allow Vulkan surfaces on foreign windows
Sam Lantinga ecaa22cb 2022-03-17T14:22:51 Don't warn if anyone peeps for events after quitting the event subsystem Fixes https://github.com/libsdl-org/SDL/issues/5013
Antoine Fontaine 33185907 2022-03-09T17:02:32 Fix relative mouse input for Unvanquished (unvanquished.net) Here's an IRC dump that hopefully explains the issue this fixes: > I'm debugging something odd where, for a libre game, unvanquished.net (a FPS), relative mouse input in fullscreen is buggy > it's like, working mostly ok, but it has a weird performance/cleanup bug > after some time in relative mouse input mode, some time as low as 15s, usually more, the SDL sends A LOT of relative mouse input per frame > almost all of which have xrel==0 && yrel==0 > by A LOT, I mean that after ~1min, it's usually in the thousands per frame > each frame, a while ( SDL_PollEvent( &e)) loop reads the inputs, but it seems SDL is not clearing the list. > one way to clear the list is to open the in-game console or menu, which switches the input mode to absolute, then close it which gets a working relative input mode (for some time at least) > I've shown the issue to be present with SDL2.0.20 but not with 2.0.14 on my system > some other players on Arch Linux (SDL2.0.20) report a possibly related issue, where some keys seem to be pressed at random > I've did some bisection on SDL master, and I've found that there are actually two commits involved, one breaking it totally (no input at all), and one fixing it partially (with the problem described above) First related commit that breaks it totally: commit 82793ac279d19b5bde8fc2bd62877b05ba5a76e0 Author: Sam Lantinga <slouken@libsdl.org> Date: Thu Oct 14 14:26:21 2021 -0700 Fixed mouse warping while in relative mode We should get a mouse event with an absolute position and no relative motion and shouldn't change the OS cursor position at all Second related commit, that halfway fixes it: commit 31f8c3ef4409a93fafa894b78c2ce176bd0c3cf3 Author: Sam Lantinga <slouken@libsdl.org> Date: Thu Jan 6 11:27:44 2022 -0800 Fixed event pump starvation if the application frequently pushes its own events Reverting the first commit did fix the issue for me, but would probably reintroduce the bug it was fixing(?). This patch should fix it for everyone hopefully. https://github.com/DaemonEngine/Daemon/issues/600 is the upstream bug, and contains some early investigation.
Esme Povirk 829e15a4 2022-02-05T14:38:39 Ignore unknown WM_SIZE types. According to MSDN, we can also get SIZE_MAXHIDE and SIZE_MAXSHOW, based on state changes to other windows. It's not clear under what circumstances this will happen (I saw some docs indicating it may require multiple application windows), but it doesn't seem right to treat them as RESTORED.
uyjulian a164c9d2 2022-01-04T10:43:34 SDL_cocoawindow.m: update fullscreen toggle when SDL_SetWindowResizable called
Sam Lantinga cc152103 2022-03-17T11:37:08 Fixed warnings when building with cygwin Fixes https://github.com/libsdl-org/SDL/issues/5025
Sam Lantinga e8c3ff56 2022-03-17T10:01:13 Removed problematic call to ISensor_SetEventSink() Fixes https://github.com/libsdl-org/SDL/issues/5288
Sam Lantinga bcb0f1de 2022-03-17T08:52:31 Fixed build when events are disabled Fixes https://github.com/libsdl-org/SDL/issues/5413
pionere 01bfde45 2022-03-17T12:22:18 simplify SetDSerror - no need to keep the error in a static variable - always print the error code - reduce the required stack-size - reduce the number of snprintf calls (and code size)
Ozkan Sezer dfbe1f72 2022-03-17T03:50:02 SDL_GetBasePath() fixes for OS/2
Sylvain b2db570c 2022-03-16T18:09:40 SDL_triangle_blit_slow: sync code with SDL_blit_slow to handle ARGB2101010
Sylvain 93e7caab 2022-03-16T18:08:20 SDL_blit_slow: remove one nested 'if()' because of ARGB2101010 handling
Sylvain 56568ffb 2022-03-16T18:04:40 Remove 'reserved identifier' warning
pionere 2c6a9c51 2022-03-16T09:36:43 minor optimization (SDL_audiocvt.c)
Ozkan Sezer 5905696e 2022-03-15T23:10:04 SDL_audiocvt.c: minor cleanup.
Ozkan Sezer d1e4367f 2022-03-15T21:41:02 SDL_windowskeyboard.c: fix build with SDL_DISABLE_WINDOWS_IME defined. Fixes https://github.com/libsdl-org/SDL/issues/5408