Log

Author Commit Date CI Message
Ryan C. Gordon 30443105 2022-01-26T21:10:15 video: Don't add SDL_WINDOW_METAL to new windows if not using Cocoa or UIKit. Fixes #4656.
Cameron Gutman 77a9ca6b 2022-01-26T18:26:07 wayland: Fix SDL_SetWindowSize() being dropped right after exiting fullscreen If we get a SDL_SetWindowSize() call right after SDL_SetWindowFullscreen() but before we've gotten a new configure event from the compositor, the attempt to set our window size will silently fail (when libdecor is enabled). Fix this by remembering that we need to commit a new size, so we can do that in decoration_frame_configure().
Cameron Gutman c6ec5a07 2022-01-02T15:43:35 d3d11: Respect SDL_HINT_RENDER_DIRECT3D_THREADSAFE when creating device
Ryan C. Gordon f37e4a94 2022-01-26T17:02:49 video: Don't check if we can use a "texture framebuffer" until needed. This prevents SDL from making an OpenGL context and maybe throwing it away immediately by default. It will now only do it when trying to request a window framebuffer directly, or creating an SDL_Renderer with the "software" backend, which makes that request itself. The way SDL decides if it should use a "texture framebuffer" needs dramatic updating, but this solves the immediate problem. Reference Issue #4624.
Eric Wasylishen 71e06a53 2021-11-26T18:27:34 cmake: fix Metal detection Confirmed to work on: macOS 10.15.7 XCode Version 12.4 (12D4e)
Ethan Lee 8ceba27d 2021-04-17T12:07:38 video: Prefer Wayland over X11
Ethan Lee 68a71f91 2022-01-25T11:18:04 wayland: Try to avoid committing before the window is shown
Sam Lantinga 84320266 2022-01-25T12:37:43 Fixed the queue filling up with sentinel events when the WaitEvent call is passed NULL for the event The use case is an application that waits for events on the main thread and dispatches them on a separate thread.
Ethan Lee f0e768da 2022-01-25T13:07:00 wayland: Call SetFullscreen directly in ShowWindow. This cuts out an extra flush when getting the first configure event.
Sylvain 8c660ccb 2022-01-25T17:14:01 Fixed bug #5256: X11 Segmentation fault with multiple windows and renderers First window is created and it triggers and 'EnterNotify' event which calls SDL_SetMouseFocus() and X11_ShowCursor() while the second windows hasn't finished to be created (eg window->driverdata isn't set) Just check for a valid 'driverdata'
Ethan Lee e2d74bcb 2022-01-25T11:16:09 wayland: Detach hidden surfaces in HideWindow, not ShowWindow
Ryan C. Gordon ca22b30e 2022-01-24T22:32:58 testgles2: Use vertex buffer objects instead of client-side arrays. GLES2 always has them, and they work without hacks on Emscripten, unlike client-side arrays. I cleaned it up slightly, but this patch was mostly written by @bing2008. Fixes #5258.
ulatekh 57bc9040 2022-01-07T08:54:08 Add hint to optionally forcibly raise the window under MS Windows.
ulatekh d7873e65 2022-01-04T15:47:29 Disable tablet flicks under MS Windows.
Charlie Birks 15ebad6e 2022-01-22T13:31:11 emscripten: Implement SDL_OpenURL
Charlie Birks 99af3281 2022-01-22T12:27:43 timer: Fix Emscripten declaration-after-statement error
ulatekh 53df0e66 2022-01-21T17:15:18 Fix the erroneous generation of mouse-down events from touch-move events. The issue is that MS Windows synthesizes a mouse-move event in response to touch-move events, and those mouse-move events are NOT labeled as coming from a touch (e.g. GetMouseMessageSource() will not return SDL_MOUSE_EVENT_SOURCE_TOUCH for those synthesized mouse-move events). In addition, there seems to be no way to prevent this from happening; https://gist.github.com/vbfox/1339671 claims to demonstrate a technique to prevent it, but in my experience, it doesn't work. Because of this, the "fallthrough" case can't test that the synthesized mouse-move came from a touch-move, and starts erroneously pressing down the mouse-button, leading to massive confusion in the client application.
ulatekh 8f8b14cb 2022-01-21T17:10:09 Synthesize a missing touch-up event. If a touch-down event is received for an existing touch-ID, that probably means the operating system lost it, and that the missing touch-up should be synthesized, to keep the client state coherent.
Ozkan Sezer d2456b6e 2022-01-21T11:50:40 os2, geniconv: default functions pointers to Uni*() API, In case they get accessed before SDL_Init() was called.
Sam Lantinga 67cb548b 2022-01-20T19:31:54 Fixed build error with C90 compilers
Carl Glave a23b3c76 2022-01-20T17:21:28 Add support for correlating trigger input
Ethan Lee e1b4761c 2022-01-20T14:10:56 wayland: Avoid calling SetFullscreen in libdecor ShowWindow. This caused some weird stuff to happen in the libdecor path, probably because the window hasn't actually been mapped yet. It ends up calling stuff that should not yet apply, and so fullscreen in particular would have a really messed up titlebar. The good news is, libdecor is good about tracking fullscreen state, so we can let the callback do this for us. Keep this for xdg_shell because we actually map the window ourselves, so we know this call is valid for that path.
Ethan Lee ed3442d7 2022-01-19T15:47:52 wayland: Fix building with SDL_OPENGL=OFF
Ryan C. Gordon 426c1f4b 2022-01-19T14:27:58 opengles2: fix comment about client-side arrays.
Frank Praznik b3984df1 2022-01-19T13:14:54 audio: pipewire: Use client config files instead of module names Pipewire, as of 0.3.22, uses client config files to load modules instead of explicitly specifying them (PW_KEY_CONTEXT_PROFILE_MODULES is deprecated). Use the new method to load the realtime module to boost the audio thread priority.
Ozkan Sezer 381520ad 2022-01-18T14:32:24 updates for watcom optimization flags
Sam Lantinga a0e3c884 2022-01-17T15:32:27 Updated to version 2.0.21 for development
Ozkan Sezer 1bfefb5b 2022-01-17T20:56:50 regenerated configure script.
Ozkan Sezer a575e2cf 2022-01-17T20:56:24 Enable alloca on mingw/cygwin builds: This effectively reverts commit 391d73e37b26614e2e343ca8e9d4334e07380896 Fixes https://github.com/libsdl-org/SDL/issues/5234
Ozkan Sezer 33dadbf1 2022-01-17T20:56:20 'dnl' whitespace tidy-up in configure.ac
Cameron Gutman d3952a8a 2022-01-16T15:14:33 wayland: Avoid spurious resize events
Sam Lantinga b06866ef 2022-01-16T09:44:28 Entirely remove Xbox axis filtering, we don't want this at all.
Sam Lantinga 09aed102 2022-01-16T09:23:58 Don't send output reports to the Victrix Pro FS v2 It'll hang on reboot if it gets output reports, and it doesn't have functionality that requires them, so skip it.
Sam Lantinga 85961b61 2022-01-16T09:01:56 Disable Xbox axis deadzone handling by default Fixes https://github.com/libsdl-org/SDL/issues/5227
Mathieu Eyraud 2a0cde8f 2022-01-16T09:40:51 Always send SDL_WINDOWEVENT_SIZE_CHANGED when window is resized SDL_WINDOWEVENT_SIZE_CHANGED is now sent even if the resulting size of the window does not match the requested size.
Sam Lantinga 1a50334c 2022-01-14T15:04:26 Fixed Xbox One trigger axis zero point
Ozkan Sezer e9511f71 2022-01-14T14:39:04 hidapi, libusb: don't use iconv on OS/2, it lacks wchar_t functionality. Taken from a patch by Silvan Scherrer at bitwiseworks' OS/2 fork.
Ethan Lee 9a2bbd8a 2022-01-12T13:01:05 wayland: Convert URI to local path for DropFile
Ozkan Sezer 0abc0a6f 2022-01-12T20:37:32 SDL_string.c: tidy-up gcc2 va_copy defines after previous haiku commit.
kenmays d37c9777 2022-01-12T06:48:00 haiku: updated for Haiku
kenmays bff86701 2022-01-12T06:47:02 haiku: updated for Haiku
kenmays 094e9440 2022-01-12T06:42:17 haiku: Remove BDirectWindow, fix OpenGL handling. From e6cc4e7f4b8189be55dd3b0e13e54e59f73d7672 Mon Sep 17 00:00:00 2001 From: X512 <danger_mail@list.ru> Date: Thu, 30 Jan 2020 04:01:58 +0900 Subject: libsdl2: Remove BDirectWindow, fix OpenGL handling. * BDirectWindow changed to BWindow. * Implemented fullscreen. * Introduced view for non-OpenGL drawing. * Drawing thread removed, window thread is used instead. * Use BGLView as OpenGL context. Implement proper context switching and OpenGL locking. Only one context per window is supported. BGLView should be not deleted when window is closed, it deleted when deleting context.
Ozkan Sezer 407d4e47 2022-01-12T20:32:00 cmake: simplify after the previous os/2 commit.
Ozkan Sezer f199f832 2022-01-12T20:22:28 cmake: added target_properties for os/2.
Ozkan Sezer 5b6e2d69 2022-01-12T11:01:02 SDL_os2messagebox.c (_makeDlg): remove unnecessary casts
Ryan C. Gordon ae9e2149 2022-01-11T21:32:07 os2-buildbot.sh: Use the 64-bit Watcom binaries. GitHub Actions is a 64-bit Ubuntu instance. It was only using the 32-bit binaries because our buildbot put this on the 32-bit Linux host to spread the CPU load around more evenly.
Ryan C. Gordon 42302d0a 2022-01-11T21:17:21 x11: Let apps specify a custom _NET_WM_WINDOW_TYPE. Fixes #5185.
Ryan C. Gordon f9b918ff 2022-01-11T16:15:45 opengles2: Use client-side arrays on everything but Emscripten. Turns out they're much faster! Fixes #5206.
ulatekh bb9ebad7 2022-01-11T09:34:14 Optionally disable generation of SDL2main and uninstall projects. Mostly meant to allow SDL2 to be incorporated as a sub-project of external CMake projects.
Khem Raj fcf0e524 2022-01-07T11:17:47 cmake: Remove libunwind-generic as hard dependency when using alternate unwind implementations like LLVM libunwind this library is not provided yet the libunwind features are fully implemented in main libunwind, making this hard dependency assumes a particular libunwind implementation, this patch makes it optional which makes the builds to work with llvm libunwind Signed-off-by: Khem Raj <raj.khem@gmail.com>
Sam Lantinga 73434a96 2022-01-11T10:37:59 Removed debian directory This isn't used directly by any distribution and isn't helpful at this point.
Max Krummenacher c3a7cc34 2022-01-10T21:52:02 cmake: sdlchecks.cmake: pass cflags to the appropriate cmake variable If egl.pc sets at least two macros as the i.MX Vivante driver does, e.g.: | Cflags: -I${includedir} -DLINUX -DWL_EGL_PLATFORM then we get the following error during configuration: | -- Performing Test HAVE_OPENGL_EGL | CMake Error: Parse error in command line argument: WL_EGL_PLATFORM | Should be: VAR:type=value If one changes to add a value to the macro, e.g. | Cflags: -I${includedir} -DLINUX=1 -DWL_EGL_PLATFORM=1 then cmake does not error out but the macro is not passed to the C compiler. CMAKE_REQUIRED_FLAGS is the wrong variable to pass the CFLAGS in, CMAKE_REQUIRED_DEFINITIONS should be used. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Ozkan Sezer ea0bca57 2022-01-11T14:56:56 SDL_cocoamodes.m: fix build against older SDKs. Fixes https://github.com/libsdl-org/SDL/issues/5208
Ozkan Sezer 7527c8d3 2022-01-11T11:33:02 hidapi, libusb: provide a wcsdup implementation if it is not available. similar to mac and android versions..
Ozkan Sezer c6c4d421 2022-01-11T11:33:02 pthread: disable SetThreadPriority for OS/2 too
Ozkan Sezer b2656776 2022-01-11T11:33:02 cmake: initial attempt at adding os/2 support.
SDL Wiki Bot b424665e 2022-01-10T20:40:05 Sync wiki -> header
SDL Wiki Bot 5e3f4ccc 2022-01-10T20:35:04 Sync wiki -> header
Sam Lantinga d8129c56 2022-01-10T10:50:59 Mark internal function as static
Ethan Lee 3e1b3bc3 2022-01-10T10:07:44 wayland: Horizontal wheel values do not need to be inverted
Sam Lantinga a29d3acc 2022-01-09T11:11:34 Updated Bresenham line drawing to match software renderer output
Ozkan Sezer f14c7bb4 2022-01-09T20:33:32 added missing hidapi stuff for os/2 with libusb
Ozkan Sezer b9d98331 2022-01-09T20:33:32 os2joystick: fix uninitialized use of local var 'maxdevs'
Ozkan Sezer 17da6006 2022-01-09T20:33:32 os2joystick: fix -Wsequence-point issues.
Sam Lantinga 1f32dd8e 2022-01-09T06:36:18 Fixed overdraw with duplicate points, fixed not drawing single point lines
Ryan C. Gordon 5d07c036 2022-01-09T08:13:34 psp: Force channels to stereo if user requested anything other than mono. Before it would only clamp to stereo if it also had to resample, which would fail if the app specified 44100Hz and surround sound.
Ryan C. Gordon c275436f 2022-01-09T00:39:02 opengles2: Batching lines/points used wrong var for summing vertex counts. Fixed this in the vitagxm backend too, but I don't know what the state of that code is otherwise. Reference Issue #5061.
Joan Bruguera 9e6249fa 2022-01-08T19:24:47 wayland: Avoid spurious key repeats when not pumping events Previous to this commit, key repeats events were typically generated when pumping events, based on the time of when the events are pumped. However, if an application doesn't call `SDL_PumpEvents` for some seconds, this time can be multiple seconds in the future compared to the actual key up event time, and generates key repeats even if a key was pressed only for an instant. In practice, this can happen when the user presses a key which causes the application to do something without pumping events (e.g. load a level). In Crispy Doom & PrBoom+, when the user presses the key bound to "Restart level/demo", the game doesn't pump events during the "screen melt" effect, and the level is restarted multiple times due to spurious repeats. To fix this, if the key up event is among the events to be pumped, we generate the key repeats there, since in the Wayland callback we receive the time when the key up event happened. Otherwise, we know no key up event happened and we can generate as many repeats as necessary after pumping. Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
Joan Bruguera 461724d2 2022-01-08T19:09:35 wayland: Refactor time fields in SDL_WaylandKeyboardRepeat Refactorization with no functional changes. Instead of `next_repeat_ms` containing a timestamp based on SDL ticks, we make it zero-based relative to the key press time, and we store the key press time in SDL ticks in a new field. This refactorization is groundwork for future commits which need to use the key press and release timestamps provided by the Wayland API, which are also expressed in milliseconds, but whose base does not match the one for SDL ticks. Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
Joan Bruguera fb0c3040 2022-01-08T21:10:14 wayland: Avoid infinite loop in keyboard_repeat_handle If `repeat_info->next_repeat_ms` overflows, many key presses will be generated. In the worst case, `now = 0xFFFFFFFFU` and the loop will never terminate. Rearrange the comparison in order to gracefully handle the overflow case. Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
Sam Lantinga 3b083b99 2022-01-08T14:07:42 Fixed compile warning
Sam Lantinga b82af9df 2022-01-08T14:05:50 Improved OpenGL point drawing performance (thanks @slime73!) We'll do proper call batching for the SDL 2.0.22 release
Sam Lantinga 1a73c45a 2022-01-08T13:34:49 Fixed incorrect color in the OpenGL driver
Sylvain 3cdda8f8 2022-01-08T21:58:26 PSP: use 'data' variable which is alread the driver data
Sam Lantinga 9f1e609a 2022-01-08T12:42:36 Document SDL_HINT_RENDER_LINE_METHOD in the release notes
Sam Lantinga 4ef2529b 2022-01-08T12:37:57 More efficient calculation of render_count
Sam Lantinga 5346c93b 2022-01-08T12:28:43 Fixed assertion on number of points rendered
Sam Lantinga 4b719620 2022-01-08T12:02:08 Prevent overdraw with connected line segments
Ozkan Sezer 63d10a0a 2022-01-08T23:00:32 updates to config.guess and config.sub from mainstream.
Sam Lantinga 09ece861 2022-01-08T11:36:29 Added the hint SDL_HINT_RENDER_LINE_METHOD to select the line rendering method
Ozkan Sezer 836a4ec7 2022-01-08T22:35:02 updates to os/2 build
Sam Lantinga c1e60798 2022-01-08T11:09:11 As an optimization, draw horizontal and vertical lines using rectangles
Sam Lantinga 3da7c630 2022-01-08T11:07:03 Assert that we have drawn the expected number of points
Sam Lantinga 9f56faee 2022-01-08T10:59:31 Added line drawing using Bresenham's line algorithm (thanks @rtrussell!)
Sam Lantinga fe3a33a0 2022-01-08T10:10:18 Use RenderGeometry for drawing lines at all scales
Neal Gompa 0696fc01 2022-01-07T14:30:26 cmake: Split SDL2-static and SDL2main into their own target exports This makes it so that the generated targets are not interdependent, which allows Linux distributions to split libraries into the appropriate subpackages as needed.
Sam Lantinga 1694782b 2022-01-08T09:32:23 Remove redundant work when render scale is 1.0
Sam Lantinga 2026a78d 2022-01-08T09:23:58 Don't flush in RenderDraw*WithRects() This allows these functions to be reused in the future for other primitives
Sam Lantinga 18e4d9fe 2022-01-08T09:02:25 Re-enable line drawing path in render drivers This is still used for scaled line drawing in RenderDrawLinesWithRects()
Sam Lantinga dca281e8 2022-01-08T08:49:34 Fixed getting different results for SDL_PollEvent(NULL) and SDL_PollEvent(&event)
Ozkan Sezer 93cab32d 2022-01-08T14:40:20 minor update to test/Makefile.os2
Ozkan Sezer 4472b831 2022-01-08T11:56:56 PSP_RunCommandQueue: fix argument to PSP_SetBlendState() src/render/psp/SDL_render_psp.c: In function 'PSP_RunCommandQueue': src/render/psp/SDL_render_psp.c:1200: warning: passing argument 1 of 'PSP_SetBlendState' from incompatible pointer type
Ozkan Sezer df1474b4 2022-01-08T11:55:10 psp/SDL_sysfilesystem.c: fixed a minor compiler warning. src/filesystem/psp/SDL_sysfilesystem.c: In function 'SDL_GetPrefPath': src/filesystem/psp/SDL_sysfilesystem.c:71: warning: passing argument 1 of 'free' discards qualifiers from pointer target type
Ozkan Sezer 21914b4e 2022-01-08T11:55:10 updated Makefile.psp and SDL_config_psp.h
Ryan C. Gordon f62b8071 2022-01-07T21:31:38 wikiheaders.pl: Put the manpages in man/man3
Sam Lantinga 92946348 2022-01-07T18:28:25 Updated to version 2.0.20 for release
Ryan C. Gordon cc201337 2022-01-07T20:20:57 render: Fixed some compiler warnings. Fixes #5197.
Sam Lantinga 289c3fbb 2022-01-07T17:07:22 Revert "We only need to add the sentinel at the top of SDL_WaitEventTimeout()" This reverts commit c477768e6f926c38d4cdc236cab8376faf9f6789. We want to add the sentinel anytime we pump inside SDL_WaitEventTimeout() to avoid pumping again the next time through, as a performance optimization.
Sam Lantinga 1085c317 2022-01-07T16:43:53 Use the requested cursor size instead of the default cursor size CopyImage() will scale based on the system accessibility settings automatically. Fixes https://github.com/libsdl-org/SDL/issues/5198
Ryan C. Gordon 6d3b5d66 2022-01-07T18:18:53 psp: draw lines with RenderGeometry, same as with the other renderers.