src


Log

Author Commit Date CI Message
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)
Cameron Cawley c270949b 2021-09-28T18:07:22 Add a fast path for ARGB888->(A)BGR888 blending with pixel alpha
Ryan C. Gordon 114d1d46 2021-09-27T23:18:25 direct3d: Remove unnecessary render target support check. Direct3D 9 dictates that caps.NumSimultaneousRTs must always be at least 1, which is to say that Direct3D 9 level hardware must always support render targets. (caps.NumSimultaneousRTs is meant to show if you can draw to multiple render targets in a single draw call.) We had already hardcoded SDL_RENDERER_TARGETTEXTURE as available earlier in the function anyhow. Fixes #4781.
Ethan Lee 0fc43504 2021-09-27T16:41:43 wayland: Add support for XCURSOR_THEME/SIZE
Martin Mauersics 7c050aa6 2021-09-27T13:53:16 egl: Don't fail to create a context if KHR_create_context_no_error is unsupported
David Gow 35d04558 2021-09-27T16:57:09 video: wayland: Support displays with a 0 refresh rate Some wayland compositors report the refresh rate as 0. Since we want to force a minimum refresh rate of 10 frames worth, we were dividing by the reported refresh rate, causing a divide-by-zero. If the refresh rate is 0, instead force a frame every second if no frame callbacks are received. This fixes bug #4785
Sam Lantinga 9672d581 2021-09-26T14:22:11 Need to check structure version before setting xdg_toplevel to NULL
Northfear 14f22519 2021-09-26T18:11:22 Use SDL_calloc for allocation of gxm_texture
Cacodemon345 b592e78f 2021-09-25T12:55:41 wayland: Expose xdg_toplevel to SysWM
Sam Lantinga 477fcf52 2021-09-24T10:49:46 Fixed whitespace
Sam Lantinga db68af80 2021-09-24T10:49:44 Reduce the likelyhood that the mouse will hover over the taskbar or toast notification while in relative mode, which causes a mouse leave event. This will still happen occasionally as the mouse is whipped around, if there is a window overlapping the game window, but it should happen less often now. This could even happen with the original code that warped the mouse every frame, so this should be a good compromise where we don't warp the mouse continously and we still keep the mouse in the safe area of the game window. Note that notifications can be any size, so the safe area may need to be adjusted or even dynamically defined via a hint.
Ethan Lee 7ed415d2 2021-09-23T14:07:38 wayland: Reuse KeySymToUcs4 to replicate X11 keymap behavior
Ethan Lee 1a4e2e5e 2021-09-23T14:31:54 wayland: For text, ignore key events when Ctrl is held Fixes #4695
Ryan C. Gordon 0aff42a1 2021-09-23T00:02:44 egl: Group data fields before function pointers in SDL_EGL_VideoData.
Ryan C. Gordon 0ad4956c 2021-09-23T00:00:46 egl: explicitly call eglBindAPI during SDL_GL_MakeCurrent. The EGL API binding must be specified per-thread, per the docs. Fixes #1820.
Ryan C. Gordon 31477160 2021-09-22T09:27:41 egl: make an int into an SDL_bool.
Sam Lantinga 4ec259a7 2021-09-22T19:06:11 Fixed building on Visual Studio 2013 and older
Sam Lantinga 287571fb 2021-09-22T17:40:57 Limit effect of in_title_click and focus_click_pending to only blocking cursor warping; without this all relative mouse motion was getting ignored when a window was activated via a mouse button
Northfear 52921563 2021-09-22T21:23:42 End Scene on RunCommandQueue on Vita
Cameron Cawley 08ae7904 2021-09-14T20:38:03 Replace calls to asprintf with SDL_asprintf
Cameron Cawley 25a614bc 2021-09-14T20:37:35 Add SDL_asprintf and SDL_vasprintf
Sam Lantinga 79b0aae8 2021-09-22T11:42:10 The return value of SDL_snprintf is the number of characters that would have been written. Fixes https://github.com/libsdl-org/SDL/issues/4762
Ethan Lee 9b74623b 2021-09-22T13:52:36 wayland: Woops, forgot to assign cursor theme size...
Ethan Lee 8e54698a 2021-09-22T13:26:44 wayland: Add support for high-DPI cursors
Sam Lantinga 432ee7d8 2021-09-22T09:29:21 Fixed building SDL_dynapi.c without stdio support
Sam Lantinga 345c161f 2021-09-22T09:06:45 Fixed some accidental uses of external C runtime functions
Sam Lantinga 5d455cab 2021-09-21T18:15:11 Don't process raw input when the window is being dragged or clicked on.
Sam Lantinga 0fd54f91 2021-09-21T18:15:11 Fixed using a tablet with raw input relative motion Tested with a Wacom Cintiq Pro 16"
Sam Lantinga 8fee82d1 2021-09-21T18:15:09 Improve relative motion handling over RDP CR and research: @danielj
Sam Lantinga eb3bf80f 2021-09-21T18:15:09 Fixed compiler warnings using Visual Studio 2019
Ryan C. Gordon ce11caa8 2021-09-21T16:41:29 alsa: Map 7.1 audio channels to match what Windows and macOS expect. This matches what we did a long time ago for 5.1 audio. Fixes #55. (FIFTY FIVE. Bug reported 15 years, 3 months, and 11 days ago! lol)
pkubaj 9886d897 2021-09-21T16:23:48 Fix AltiVec detection on FreeBSD The previous code was not correct, because there's no PPC_FEATURE_HAS_ALTIVEC MIB. Instead, elf vector check should be done.
Ryan C. Gordon c45facf2 2021-09-21T11:13:46 alsa: clean up macro salsa a little.
Northfear 3b2fbb1c 2021-09-20T23:44:22 End current scene before destroying the texture on Vita
Northfear fc4296c1 2021-09-20T23:02:43 Use aligned stride in sceGxmColorSurfaceInit
Northfear 7080bc2a 2021-09-20T23:02:01 Fallback to SCE_KERNEL_MEMBLOCK_TYPE_USER_RW_UNCACHE if CDRAM texture allocation fails
Ivan Epifanov 512355d7 2021-09-20T20:21:05 Vita: fix thread detach. Remove leftover KillThread
Ivan Epifanov ddcd847c 2021-09-20T14:08:01 Vita: fix thread priority Add support for thread name and stack size
Ryan C. Gordon 478f9eed 2021-09-20T10:20:04 x11: Don't include X11/extensions/extutil.h We don't use it, it was a leftover from 1.2, I think, and it doesn't exist on Solaris, so this should hopefully fix the build there. This also means we don't need the configure/cmake checks for SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY, so that was removed also. Fixes #1666.
Ryan C. Gordon ca9a3217 2021-09-19T15:47:24 render: GL/GLES now draw lines almost perfectly matching software renderer. One place known to differ in a significant way is a single line segment that starts and ends on the same point; the GL renderers will light up a single pixel here, whereas the software renderer will not. My current belief is this is a bug in the software renderer, based on the wording of the docs: "SDL_RenderDrawLine() draws the line to include both end points." You can see an example program that triggers that difference in Bug #2006. As it stands, the GL renderers might _also_ render diagonal lines differently, as the the Bresenham step might vary between implementations (one does three pixels and then two, the other does two and then three, etc). But this patch causes those lines to start and end on the correct pixel, and that's the best we can do, and all anyone really needs here. Not closing any bugs with this patch (yet!), but here are several that it appears to fix. If no other corner cases pop up, we'll call this done. Reference Bug #2006. Reference Bug #1626. Reference Bug #4001. ...and probably others...
Ryan C. Gordon 857cc7c0 2021-09-19T00:05:21 render: constified some local variables in SDL_AllocateRenderVertices.
Ryan C. Gordon 5faea84c 2021-09-18T11:54:25 render: Mark viewport/cliprect dirty when window is resized. Fixes #4751.
Cameron Gutman 5dccffd7 2021-08-23T21:16:58 Allow usage of the new Condition Variable code with Critical Sections Vista and later provide the SleepConditionVariableCS() function for this. Since SDL_syscond_srw.c doesn't require SRW locks anymore, rename it to SDL_syscond_cv.c which better reflects the implementation of condition variables rather than the implementation of mutexes. Fixes #4051.
Alex R ebdfd0e1 2021-09-17T00:45:07 atomic: detect clang separately
Ivan Epifanov 8d1e0ca3 2021-09-16T12:48:39 Vita: add support for disabling 'screensaver' (screen dimming and suspend)
Ivan Epifanov 79ec8986 2021-09-16T12:47:45 Vita: refactor gxm texture render and add SDL_RenderGeometry support
Zach Reedy 2a8938f2 2021-09-15T12:40:22 Fixed: Whitespace being striped from the end of IME strings incorrectly + Regression with SDL_SetTextInputRect (#4752) * Fixed: Whitespace being striped from the end of IME strings incorrectly * Fixed: Google IME Candidate Window not placing correctly * Why are PostBuild events stored in the vcxproj and not a user file? * Revert SDL.vcxproj properly... * Remove whitespace as per code review * Fix Werror=declaration-after-statement error in code
Ivan Epifanov ce177049 2021-09-12T09:34:41 Vita: Allow completely skipping pvr init to override apphint from app
Misa 4a994733 2021-09-14T15:51:17 `SDL_RenderSetVSync()`: Restrict `vsync` to 0 or 1 In the future, we might want to support special swap intervals. To prevent applications from expecting nonzero values of vsync to be the same as "on", fail with SDL_Unsupported() if the value passed is neither 0 nor 1.
Misa 4549769d 2021-03-07T15:20:45 Add `SDL_RenderSetVSync()` Currently, if an application wants to toggle VSync, they'd have to tear down the renderer and recreate it. This patch fixes that by letting applications call SDL_RenderSetVSync(). This is the same as the patch in #3673, except it applies to all renderers (including PSP, even thought it seems that the VSync flag is disabled for that renderer). Furthermore, the renderer flags also change as well, which #3673 didn't do. It is also an API instead of using hint callbacks (which could be potentially dangerous). Closes #3673.
Ivan Epifanov b2504b5d 2021-09-11T20:08:03 Fix typos
Jaylon Gowie e4556594 2021-09-10T21:13:51 Simplify Backspace and Enter
Jaylon Gowie f162d9ee 2021-09-10T21:02:22 Fix Indentation
Jaylon Gowie 058c4d36 2021-09-10T20:55:49 Add envvar to disable touchpads independently
Jaylon Gowie 4435543d 2021-09-10T20:01:40 Add PVR On Screen Keyboard Support
Ivan Epifanov 10d3df44 2021-09-09T12:46:28 Vita: fix copyright dates
Ivan Epifanov 2a836860 2021-09-09T12:36:40 Fix default path
Ivan Epifanov 134dd468 2021-08-16T19:08:12 Add pvr gles/gles2 context support
Sam Lantinga ff85d4fb 2021-09-08T17:51:47 Fixed Xbox Series X controller being detected by both IOKit and GCController on macOS
Sam Lantinga 9f855258 2021-09-08T17:50:17 Added mapping for Xbox One S controller with newer firmware on macOS
Sam Lantinga bf97c5a2 2021-09-08T14:47:40 Make sure SDL file descriptors don't leak into child processes
Ryan C. Gordon d49d955d 2021-09-08T11:44:17 render: SDL_RenderGeometry should still render when hidden, in most cases. (otherwise render targets may fail, etc...the check is a legacy helper for iOS apps that crash if you try to use OpenGL while in the background.)
Sam Lantinga 7d66fa20 2021-09-07T17:38:26 Fixed double-copy of the report in BlueZ >= 5.56
Sam Lantinga 7ed7644a 2021-09-07T17:37:47 Fixed compiling HIDAPI Steam Controller support with C89 compiler
Sam Lantinga 27a48b14 2021-09-07T15:50:21 Check the pathname first, as that's a faster check for XInput devices
Zach Reedy 6f972052 2021-08-30T12:21:05 Added: Support for showing the IME Candidate Window on Windows
Sylvain 183eb067 2021-09-01T15:46:32 Fixed bug #4711: prevent opengl SDL_renderer from crashing if GL_ARB_multitexture isn't supported
Rokas Kupstys 515b7e93 2021-08-27T17:02:07 Fix horizontal wheel scroll direction of X11.
David Gow a1ffeda0 2021-08-28T22:52:13 Add SDL_HINT_APP_NAME and DBUS inhibition hint See SDL bug #4703. This implements two new hints: - SDL_APP_NAME - SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME The former is the successor to SDL_HINT_AUDIO_DEVICE_APP_NAME, and acts as a generic "application name" used both by audio drivers and DBUS screensaver inhibition. If SDL_AUDIO_DEVICE_APP_NAME is set, it will still take priority over SDL_APP_NAME. The second allows the "activity name" used by org.freedesktop.ScreenSavver's Inhibit method, which are often shown in the UI as the reason the screensaver (and/or suspend/other power-managment features) are disabled.
Lee Salzman 9fae8f70 2021-08-29T15:33:58 Treat empty SDL_VIDEODRIVER var to check all video drivers.
Lee Salzman 7d90df0e 2021-08-29T15:24:23 Restore previous behavior of empty SDL_AUDIODRIVER trying all drivers. The recent change to make SDL_AUDIODRIVER support comma-separated lists broke the previous behavior where an SDL_AUDIODRIVER that was empty behaved the same as if it was not set at all. This old behavior was necessary to paper over differences in platforms where SDL_setenv may or may not actually delete the env var if an empty string is specified. This patch just adds a simple check to ensure SDL_AUDIODRIVER is not empty before using it, restoring the old interpretation of the empty var.
Sam Lantinga 8b1f8b6e 2021-08-27T11:14:09 Use the high speed alternate setting on new Microsoft Xbox controllers
Sylvain 1fe9ad04 2021-08-27T14:09:47 SDL_ConvertSurface: add an intermediate variable to remove static analysis false positive (see bug #4600)
Sylvain be6bee0b 2021-08-27T07:47:28 SW_RenderGeometry: add a redundant check to clear static analysis (see bug #4600)
Sylvain 54ca1d19 2021-08-27T07:44:03 SW_RenderGeometry: add a redundant check to clear static analysis (see bug #4600)
Sylvain b17aa5d0 2021-08-27T07:16:40 SW_RenderGeometry: remove a few static analysis false positives (see bug #4600)
David Gow 3261f7f6 2021-08-26T16:15:30 audio: Support "pulse" as an alias for "pulseaudio" Originally, SDL 1.2 used "pulse" as the name for its PulseAudio driver. While it now supports "pulseaudio" as well for compatibility with SDL 2.0 [1], there are still scripts and distro packages which set SDL_AUDIODRIVER=pulse [2]. While it's possible to remove this in most circumstances or replace it with "pulseaudio" or a comma-separated list, this may still conflict if the environment variable is set globally and old binary builds of SDL 1.2 (e.g. packaged with older games) are being used. To fix this on SDL 2.0, add a hardcoded check for "pulse" as an audio driver name, and replace it with "pulseaudio". This mimics what SDL 1.2 does (but in reverse). Note that setting driver_attempt{,_len} is safe here as they're reset correctly based on driver_attempt_end on the next loop. [1] https://github.com/libsdl-org/SDL-1.2/commit/d9514097846381cd30fe08df65dbdd48de92a058 [2] https://bugzilla.opensuse.org/show_bug.cgi?id=1189778
Sam Lantinga 503ea8e8 2021-08-25T14:41:58 Don't modify the Nintendo Switch home LED state by default
Vanfanel b1e492d1 2021-08-25T19:31:47 Search for an appropiate plane instead of simply using the first one.
Eric Engestrom 23ffa3d9 2021-08-25T21:31:07 Update SDL's copy of the EGL headers from Khronos
Ethan Lee 524964f9 2021-08-14T12:09:13 Add SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY
Eric Engestrom 5113fedf 2021-08-02T23:01:12 video/wayland: use EGL_EXT_present_opaque when available
Sam Lantinga 130b6beb 2021-08-24T17:01:34 Manually scan for Linux joysticks before udev scan runs This allows us to have joysticks sorted by insert time at startup, fixing https://github.com/libsdl-org/SDL/issues/4688
Sam Lantinga cbccf5bb 2021-08-24T17:01:06 Use SDL_GetHint() instead of SDL_getenv() for Linux joystick hints
Shawn Ellis 0ae2a9f8 2021-08-22T17:44:08 Fixed the Atari gamecontroller mappings and added Atari Xbox 360 This change corrects the mappings for the Atari gamecontroller and adds support for the Atari Xbox 360 compatible gamecontroller. The Atari game controller can switch between Atari and Xbox 360 mappings.
Ryan C. Gordon d5fe9c30 2021-08-24T14:18:47 x11: Log a warning if we decide to use XVidMode. Reference issue #1782.
Ryan C. Gordon 9504bb12 2021-08-23T00:47:25 pulseaudio: Fix some function signatures that expect const pointers. This might have changed at some point in the Pulse API, or this might have always been wrong, but we didn't notice because the dynamic loading code hides it by casting things to void *. The static path, where it assigns the function pointer directly, puts out a clear compiler warning, though.
Sylvain e426bb80 2021-08-20T07:50:30 Fixed bug #4671 - D3D_QueueGeometry: use "count / 3" (Thanks alittlesail!)
Oschowa 70c23b25 2021-08-18T13:18:11 audio: pipewire: Reset hotplug atomic variables on deinit.
Sylvain ae5336a3 2021-08-19T14:03:10 Fixed bug #4669: D3D_QueueGeometry: -0.5f offset position of vertexs This similar to D3D_QueueCopy positions
Ozkan Sezer 8270172e 2021-08-19T12:11:10 fix -Wshorten-64-to-32 warnings in android builds. see: https://github.com/libsdl-org/SDL/pull/4195#issuecomment-901506386
Ozkan Sezer ccb06296 2021-08-19T03:15:02 SDL_windowsevents.c: fix build against older SDKs.