Log

Author Commit Date CI Message
Ryan C. Gordon d9d8f51e 2021-10-23T14:37:47 wikiheaders.pl: Add support for deprecated functions.
Ryan C. Gordon dbe55350 2021-10-23T14:38:32 include: Improve doxygen text on SDL_GetRevisionNumber().
David Gow b528d484 2021-10-22T16:59:46 wayland: Wayland cursors should use premultiplied alpha It turns out that Wayland's WL_SHM_FORMAT_ARGB8888 format (and, indeed, all wayland RGBA formats) should be treated as premultiplied. SDL surfaces tend not to be premultiplied, and this is assumed by other backends when dealing with cursors. This change premultiplies the cursor surface in Wayland_CreateCursor() using the new SDL_PremultiplySurfaceAlphaToARGB8888(). In so doing, it also adds support for a wider range of input surfaces, including those with non-ARGB8888 pixel formats, and those which don't have pitch==width. This should fix #4856
David Gow 84808ea4 2021-10-22T17:48:32 video: Add SDL_PremultiplySurfaceAlphaToARGB8888() A number of video backends need to get ARGB8888 formatted surfaces with premultiplied alpha, typically for mouse cursors. Add a new function to do this, based loosely on legacy_alpha_premultiply_ARGB8888() from the KMSDRM backend. The new function, SDL_PremultiplySurfaceAlphaToARGB8888() takes two arguments: - src: an SDL_Surface to be converted. - dst: a buffer which is filled with premultiplied ARGB8888 data of the same size as the surface (assuming pitch = w). This is not heavily optimised: it just repeatedly calls SDL_GetRGBA() to do the conversion, but should do for now.
David Gow a76b73dd 2021-10-22T19:04:32 kmsdrm: Use SDL_PremultiplySurfaceAlphaToARGB8888() for cursor surface Instead of taking a direct copy of the mouse cursor surface, and then premultiplying on every BO upload (using the custom legacy_alpha_premultiply_ARGB8888 function), use the new SDL_PremultiplySurfaceAlphaToARGB8888() function, which converts a whole surface at a time, once and save the result. The already-premultiplied data is then copied from that to the BO on each upload, adjusting for the stride (which the previous implementation required to be equal to the width), thereby making the extra copy slightly useful.. This also adds support for non-SDL_PIXELFORMAT_ARGB8888 surfaces.
uyjulian 007b5463 2021-10-21T22:50:33 video/uikit: Do not use setNeedsUpdateOfPrefersPointerLocked on iOS SDKs older than 14
Sam Lantinga 8f58bb9c 2021-10-21T20:48:08 Added SDL_USE_BUILTIN_OPENGL_DEFINITIONS to avoid system OpenGL headers
Sam Lantinga b360965d 2021-10-21T20:48:05 Added a hint for alternate OpenGL NV12 data format
SDL Wiki Bot 6c134cf1 2021-10-22T00:39:04 Sync wiki -> header
Cacodemon345 19dee1cd 2021-10-22T06:37:20 Add SDL_GetWindowICCProfile(). (#4314) * Add SDL_GetWindowICCProfile * Add new SDL display events * Implement ICC profile change event for macOS * Implement ICC profile notification for Windows * Fix SDL_GetWindowICCProfile() for X11 * Fix compile errors
Sam Lantinga a34fe816 2021-10-21T12:28:35 Added the ability to bind NV12 textures in the OpenGL renderer
Sam Lantinga a43d3f69 2021-10-20T15:19:22 Don't detect the ROG Chakram mouse as a joystick
Sam Lantinga f3fd1ffb 2021-10-20T15:18:03 Fixed crash if SDL API functions are called on a disconnected controller on iOS
Sam Lantinga bfd2f899 2021-10-19T17:29:23 Fixed grab handling when focus changes between windows in the same application
James Howard d9c44b65 2021-10-19T10:49:17 Allow Cocoa_VideoInit to succeed when current display mode has invalid flags This fixes a specific issue seen on macOS 10.14.6 where a DELL E248WFP Display connected to a 2014 Mac Mini with a scaled 1920x1080 resolution selected and SDL_Init(SDL_INIT_VIDEO) failed with the error: "The video driver did not add any displays". The underlying cause was that the current 1080p display mode did not have the flag kDisplayModeSafeFlag, the check for which was added in a963e36, with the idea that certain display modes should not be candidates for switching to in fullscreen exclusive mode. That may well be the right thing to do for filtering down a list of candidate modes, but it doesn't pay to be so picky about the current mode. After all, this current mode was set by System Preferences, the picture does appear correctly on screen, and other non-SDL based applications launch and run correctly in this mode. Therefore the fix is to have GetDisplayMode only filter out a mode based on flags if it's part of a candidate list, but if it's the current mode and it can possibly be converted to an SDL_DisplayMode, do so.
Sylvain 649a33ae 2021-10-18T23:00:43 X11: remove redundant 'wakeup_lock' mutex creation
Ozkan Sezer c4bac66b 2021-10-18T14:11:20 os2, geniconv: replaced many uses of libc calls with SDL_ counterparts. FIXME: figure out a way to handle errno checks properly.
Ozkan Sezer 0a0f6854 2021-10-18T14:10:56 SDL_os2video.c: missed replacing a use of libc function
Ozkan Sezer 8e9ea2e3 2021-10-18T14:10:37 SDL_os2joystick.c: missed replacing a use of libc function
Sylvain 8b1a2fe8 2021-10-17T23:47:59 backout SDL_AndroidSetInputType()
Sylvain 6ef3bc56 2021-10-17T23:40:36 Add Dynapi for SDL_AndroidSetInputType()
Sylvain ccb12457 2021-10-17T23:17:54 Fixed bug #4843 - Can not get the ime candidatelist like chinese/japaness input method
Sam Lantinga 7fb43643 2021-10-17T13:56:31 Don't process WM_INPUT when handling relative mode by warping the mouse cursor
DomGries 06824b18 2021-10-17T19:50:39 Cleanup windows events after recent changes Improves clarity without any functional changes
Sylvain 50f969c1 2021-10-17T22:02:19 Fixed bug #4841 - Out of bounds read (by 1 byte) in yuvnv12_rgb24_sseu
shaquan-omari ea97ab61 2021-10-13T16:31:05 Add mapping for HORI Fighting Commander OCTA controller on Linux
Sam Lantinga 1c5b3e0e 2021-10-15T18:12:18 Don't center the mouse when gaining focus unless we're using relative mode warping This is necessary now that we actually change the mouse position when calling SDL_WarpMouseInWindow() in relative mode.
Sam Lantinga a70a94e0 2021-10-15T18:11:19 Don't send a mouse leave event if the mouse is outside the window when gaining focus and in relative mode.
Ozkan Sezer c583055a 2021-10-15T10:11:24 SDL_windowsevents.c (WIN_WindowProc): remove SAFE_AREA_X and SAFE_AREA_Y Not used since commit https://github.com/libsdl-org/SDL/commit/a1fabca162091b50d6f7dd71879d028319e09d80
Sam Lantinga d5700ed2 2021-10-15T00:01:39 Don't log SDL_POLLSENTINEL, it's purely for internal bookkeeping
Sam Lantinga dd5d8950 2021-10-14T23:53:25 Fixed whitespace
Ozkan Sezer 7f728f3e 2021-10-15T08:51:02 enabled os2 joystick code (if anyone has actually a use for it...)
SDL Wiki Bot 8a48ce00 2021-10-15T05:28:04 Sync wiki -> header
Brick 8bf32e12 2021-10-15T06:26:10 Improved SDL_PollEvent usage (#4794) * Avoid unnecessary SDL_PumpEvents calls in SDL_WaitEventTimeout * Add a sentinel event to avoid infinite poll loops * Move SDL_POLLSENTINEL to new internal event category * Tweak documentation to indicate SDL_PumpEvents isn't always called * Avoid shadowing event variable * Ignore poll sentinel if more (user) events have been added after Co-authored-by: Sam Lantinga <slouken@libsdl.org>
Sam Lantinga 43da35b5 2021-10-14T22:22:59 Back out documentation changes in favor of https://github.com/libsdl-org/SDL/pull/4794
Sam Lantinga 0dc57b0f 2021-10-14T19:42:36 Remove slightly misleading comment in the example code
Sam Lantinga ddf1d5c5 2021-10-14T19:10:30 Update documentation to reflect that a single SDL_PumpEvents() each frame is the recommended way to handle events
Sam Lantinga 88e9f776 2021-10-14T18:37:27 Fixed relative mouse mode using warping after https://github.com/libsdl-org/SDL/commit/82793ac279d19b5bde8fc2bd62877b05ba5a76e0
Sam Lantinga a1fabca1 2021-10-14T16:52:21 Removed mouse warping for local mice and improved warp handling for mouse over RDP
Sam Lantinga 82793ac2 2021-10-14T14:26:21 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
Sylvain 072e3fdf 2021-10-14T23:17:08 Fixed bug #4534: NEON implementation of Convert51ToStereo (Thanks Ryan!)
Sam Lantinga 5e89b3c8 2021-10-14T11:46:07 Don't need to use raw input to track the mouse during mouse capture (thanks Brick!)
Brick 0b6a8211 2021-10-12T14:08:20 Messages posted on the same tick are not new
Rémy Tassoux 0789610c 2021-10-14T00:52:05 Add SDL_HINT_WINDOW_NO_ACTIVATION_WHEN_SHOWN
Sam Lantinga 227c33b8 2021-10-13T09:33:57 Add note about SDL_TICKS_PASSED hitting int overflow problems with large timeouts
Sam Lantinga 1fa154fd 2021-10-13T09:33:54 Fix weak enforcement of timeouts in SDL_WaitEventTimeout_Device. This will loop pumping events and waiting for a system event to come in. However not all system events will turn into an SDL event. It's not unusual for a Windows message to be some internal thing that SDL doesn't convert into a message. In that case the loop will simple circle but not exit. As long as such messages are coming in the loop will continue to run regardless of the timeout. When messages finally stop it'll still wait for the full timeout so you can have arbitrarily long delays. Instead do an absolute elapsed time check since the start of the wait. If that is exceeded during any iteration the routine exits as the timeout has elapsed.
Sam Lantinga 2423c514 2021-10-13T09:33:51 Work around hang in AAudioStream_write() during extended shared object loading while running in a debugger. Observed on a OnePlus 8T (KB2005) running Oxygen OS 11.0.10.10.KB05AA. The observed behavior is that any nonzero timeout value would hang until the device was paused and resumed. And a zero timeout value would always return 0 frames written even when audio fragments could be heard. Making a manual timeout system unworkable. None of the straightforward systems imply that there's a detectable problem before the call to AAudioStream_write(). And the callback set within AAudioStreamBuilder_setErrorCallback() does not get called as we enter the hang state. I've found that AAudioStream_getTimestamp() will report an error state from another thread. So this change codifies that behavior a bit until a better fix or more root cause can be found.
Sylvain 325ae5c3 2021-10-13T08:35:56 Android: getCurrentOrientation uses getContext() to retrieve the activity (see bug #4825)
Erik Soma 0e294e90 2021-10-12T18:55:31 Ensure that SDL_InitSubSystem quits subsystems after an error. (#4834) * Ensure that SDL_InitSubSystem quits subsystems after an error. * Fix unnecessary change.
Ozkan Sezer 6149e601 2021-10-13T00:03:56 remove IsWin10FCUorNewer() -- not used since commit 40ed9f75c9e1ed
Ozkan Sezer 311671a0 2021-10-12T23:50:02 fixed build after commit 6e356e20ad
Rémy Tassoux 6e356e20 2021-10-12T18:35:52 Fix mouse focus being set to null when a captured mouse cursor leaves the window.
Cameron Cawley 9ee6942e 2021-09-22T14:01:00 Improve RISC OS implementations of SDL_GetBasePath and SDL_GetPrefPath
Cameron Cawley 3db898c5 2020-02-13T22:32:35 riscos: Implement SDL_GetPrefPath()
Sylvain 723f5cea 2021-10-12T20:58:58 Fixed bug #4825 - NullPointerException on SDLActivity.getCurrentOrientation() (Thanks Benau!)
Ryan C. Gordon 1b49f092 2021-10-08T20:22:48 include: manually ran wikiheaders.pl and cleaned up the obvious issues.
Ryan C. Gordon 55f60847 2021-10-08T20:49:51 wikiheaders.pl: Try to handle functions with multiple declarations better.
Ryan C. Gordon 3970a885 2021-10-08T14:39:28 wikiheaders.pl: Migrate in docs that exist only in the wiki. This is going to expose some docs that needs cleaning up once the bridge imports those docs, though.
Ryan C. Gordon 194657a2 2021-10-08T15:57:18 include: Fix indentation on SDL_SoftStretch doxygen comment. Otherwise wikiheaders.pl doesn't think it's valid.
Sam Lantinga 40ed9f75 2021-10-08T10:05:27 Workaround for Windows occasionally ignoring SetCursorPos() calls Also, since we're flushing mouse motion before and including the warp, we don't need the isWin10FCUorNewer hack to simulate mouse warp motion. Fixes https://github.com/libsdl-org/SDL/issues/4339 and https://github.com/libsdl-org/SDL/issues/4165
Sam Lantinga 373216ae 2021-10-07T18:14:16 Added support for touchpads in the Linux evdev code (thanks Francisco!)
Sam Lantinga 16aeb8d0 2021-10-07T15:04:06 Guarantee that we don't dispatch any mouse motion from before or including the last mouse warp
Sam Lantinga 649466f4 2021-10-07T13:28:44 Flush any pending mouse motion when warping the mouse cursor Fixes https://github.com/libsdl-org/SDL/issues/4165
Väinö Mäkelä ad520573 2021-10-06T09:52:06 wayland: Only dispatch frame events in Wayland_GLES_SwapWindow Dispatching all events in Wayland_GLES_SwapWindow leads to resizes being acked before the program has a chance to handle the resize. This change reduces jumping on fullscreen transition with apps that call SDL_PollEvent before issuing any render calls.
Brick f30e2e43 2021-10-06T22:52:33 Fix compiler warnings in testvulkan.c MSVC gives the following warnings when compiling testvulkan.c: ``` testvulkan.c(656,1): warning C4018: '<': signed/unsigned mismatch testvulkan.c(656,1): warning C4018: '>': signed/unsigned mismatch testvulkan.c(660,1): warning C4018: '<': signed/unsigned mismatch testvulkan.c(660,1): warning C4018: '>': signed/unsigned mismatch ```
Sam Lantinga dd95c9c8 2021-10-06T09:09:39 Moved focus click check into WIN_UpdateFocus() so we have the correct state when setting keyboard focus Fixes https://github.com/libsdl-org/SDL/issues/4817
Sam Lantinga 1ec409c2 2021-10-06T09:09:09 Don't warp the mouse within a window while it's minimized
Daniel Gibson 87ac3734 2021-10-06T03:39:59 Fix Debug-only builds with CMake "get_filename_component(SDL2_LIBDIR ${sdl2implib} PATH)" failed if sdl2implib was set from sdl2implibdbg instead of ${sdl2implibdbg} Thanks to seyuup from the SDL Discourse for pointing this out.
DomGries 0d541e5a 2021-10-06T00:36:27 Revert "Fixed relative mode mouse events stopping if you click on the title bar" This has been better fixed by b28ed02 or another related relative mouse mode change of @slouken in SDL 2.0.17 and as such can be reverted to reduce unneeded processing in WM_MOUSEMOVE
Sam Lantinga c542de92 2021-10-05T14:08:36 React to WM_NCACTIVATE instead of WM_SETFOCUS or WM_ACTIVATE for focus changes See https://github.com/libsdl-org/SDL/pull/4293 and https://github.com/libsdl-org/SDL/issues/4450 for details
Ryan C. Gordon ab7910fa 2021-10-05T12:34:29 cmake: Move the old, global add_definitions (etc) to an interface library. Fixes #4150.
Ryan C. Gordon f1793af4 2021-10-05T11:19:30 cmake: removed an add_definitions call.
Ryan C. Gordon 25fdba39 2021-10-05T11:19:14 cmake: fix indentation.
Ryan C. Gordon f3066625 2021-10-05T11:13:41 cmake: Correctly set IOS variable. Fixes #4635.
Ryan C. Gordon 60d59aeb 2021-10-05T10:54:06 cmake: Calculate padding for dislaying options automatically.
Ryan C. Gordon 7850d0cf 2021-10-05T10:43:35 cmake: Prefix all options with "SDL_" This makes it clear which options came from SDL's CMake project when building SDL as a subdirectory of a parent CMake project. Fixes #4139.
Sylvain 17295738 2021-10-04T22:12:08 PSP: links for setting up, compiling and running on PSP
Sylvain f080273a 2021-10-04T22:00:16 PSP: add implementation for RenderGeometry
Ozkan Sezer e92a639b 2021-10-04T23:00:28 replaced many uses of libc calls with SDL_ counterparts in os2 sources. TODO: core/os2 and geniconv sources _must_ be updated, as well..
Sylvain dd9b2daf 2021-10-04T21:56:42 PSP: fixed build
Ozkan Sezer 3ea35fe5 2021-10-04T21:32:00 fix SDL_atoi() fixes https://github.com/libsdl-org/SDL/issues/4811
Ivan Epifanov 407867cf 2021-07-13T13:47:08 Alias SDL2::SDL2 to SDL2::SDL2-static on static-only builds
Ozkan Sezer cd7ef24c 2021-10-04T00:32:56 minor update to os2 makefile.
Sam Lantinga c501d159 2021-10-03T14:10:21 Fixed range for Steam Controller sensor values
Sam Lantinga ea1a2b94 2021-10-02T09:12:57 Use the correct update rate for Steam Controller sensors
David Gow eadc8f93 2021-10-02T23:08:39 wayland: Cleanup some SDL_TryLockMutex() calls. Check the result of these against 0 explicitly, so that it's obvious we're bailing out on failure, not success.
David Gow 25f9e32b 2021-10-02T16:52:43 wayland: Don't let multiple threads dispatch wayland events at once wl_display_dispatch() will block if there are no events available, and while we try to avoid this by using SDL_IOReady() to verify there are events before calling it, there is a race condition between SDL_IOReady() and wl_display_dispatch() if multiple threads are involved. This is made more likely by the fact that SDL_GL_SwapWindow() calls wl_display_dispatch() if vsync is enabled, in order to wait for frame events. Therefore any program which pumps events on a different thread from SDL_GL_SwapWindow() could end up blocking in one or other of them until another event arrives. This change fixes this by wrapping wl_display_dispatch() in a new mutex, which ensures only one thread can compete for wayland events at a time, and hence the SDL_IOReady() check should successfully prevent either from blocking.
Sam Lantinga 8b745752 2021-10-01T21:32:21 Added support for the gyro and accelerometer on Steam Controllers Fixes https://github.com/libsdl-org/SDL/issues/4577
Sam Lantinga db18764e 2021-10-01T16:27:59 Use correct relative include path
Sam Lantinga 632aca29 2021-10-01T16:17:38 Window input focus is based on WM_SETFOCUS and WM_KILLFOCUS as WM_ACTIVATE doesn't necessarily imply focus. Hopefully resolves https://github.com/libsdl-org/SDL/issues/4450 and https://github.com/libsdl-org/SDL/pull/4293
Sam Lantinga 9706feac 2021-10-01T15:11:25 Update length after shortening string (thanks mayraud705!) Closes https://github.com/libsdl-org/SDL/pull/4698
Sylvain 77acd44f 2021-10-01T22:30:51 DirectFB: fixed creation of palette textures
Sylvain 83d60090 2021-09-30T23:47:37 DirectFB: add partial support for RenderGeometry allow to fill triangles with color or texture but only uniform vertex color is handled (not per vertex color)
Ryan C. Gordon 7def81cf 2021-09-30T17:34:25 wikiheaders.pl: Don't treat chars in `code` blocks as markdown. Otherwise a formula like `x = y * 2;` would treat that '*' as the start of an italicized section when converting to MediaWiki format, and match any other '*' in the content as the end marker.
Ryan C. Gordon 2f93fbbb 2021-09-30T10:04:09 include: Fix markdown in a doxygen comment.
Ryan C. Gordon ab09f3da 2021-09-30T10:00:58 cmake: Remove warning about CFLAGS environment variable. CMake 3.11.0 respects this environment var. Fixes #4681.
Ryan C. Gordon cd6f96de 2021-09-30T09:57:51 cmake: bump minimum CMake allowed to 3.11.0. This cmake is 3 years old, but it removes confusion about the CFLAGS environment variable (as of CMake 3.10.0, reference PR #4681) and also consolidates resolves the need to have a separate requirement for Windows Store apps (which requires CMake 3.11.0).
Daniel Inkpen 344f018d 2021-09-30T00:06:09 Xcode-iOS Demos: Add CFBundleShortVersionString to Info.plist Xcode 13.0 requires this key to be present in the Info.plist to be able to run the compiled code.
Cameron Cawley c270949b 2021-09-28T18:07:22 Add a fast path for ARGB888->(A)BGR888 blending with pixel alpha
SDL Wiki Bot 8b23029d 2021-09-28T17:03:06 Sync wiki -> header