kc3-lang/SDL/src

Branch :


Log

Author Commit Date CI Message
d81fee76 2022-03-19 10:27:31 SDL_Rect: Added floating point versions of all the rectangle APIs. Fixes #5110.
4d9bef60 2022-03-19 09:44:09 SDL_Rect: minor code cleanups.
c573ebe1 2022-03-19 09:29:01 SDL_UnionRect: If both rects are empty, zero out the result struct.
fbbd0270 2022-03-18 23:10:19 Fix "SDL_TRUE is not defined" runtime error for emscripten.
6c962177 2022-03-18 10: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
1868c5b5 2022-03-17 18:25:50 Start rumbling once a raw input controller has been correlated Fixes https://github.com/libsdl-org/SDL/issues/5351
3167ba34 2022-03-17 17:58:35 Fixed freeing the Windows blank cursor
0387bf82 2022-03-17 17:55:28 Fixed memory leak in WIN_CreateBlankCursor()
5ff42438 2022-03-17 17: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
09b8152f 2022-03-17 17:19:21 Use SDL_Log instead of printf
b22ce2b5 2022-03-17 17:10:40 Workaround for bug in Microsoft WGI support Fixes https://github.com/libsdl-org/SDL/issues/5270
d4062785 2022-03-17 17:01:36 Try not forcing activation when grabbing the mouse in fullscreen windows
4e784fce 2022-03-17 16:57:33 When updating grab state, only activate windows that are grabbed, fullscreen, and shown. Fixes https://github.com/libsdl-org/SDL/issues/5371
e5f45455 2022-03-17 14:44:34 Added a hint to mark a foreign window as usable with OpenGL Fixes https://github.com/libsdl-org/SDL/issues/2942
4e49b78a 2022-03-17 14:44:17 Fixed compile warning and comment typo
0bf8ccfb 2022-02-08 22:15:11 video: Add a hint to allow Vulkan surfaces on foreign windows
ecaa22cb 2022-03-17 14:22:51 Don't warn if anyone peeps for events after quitting the event subsystem Fixes https://github.com/libsdl-org/SDL/issues/5013
33185907 2022-03-09 17: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.
829e15a4 2022-02-05 14: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.
a164c9d2 2022-01-04 10:43:34 SDL_cocoawindow.m: update fullscreen toggle when SDL_SetWindowResizable called
cc152103 2022-03-17 11:37:08 Fixed warnings when building with cygwin Fixes https://github.com/libsdl-org/SDL/issues/5025
e8c3ff56 2022-03-17 10:01:13 Removed problematic call to ISensor_SetEventSink() Fixes https://github.com/libsdl-org/SDL/issues/5288
bcb0f1de 2022-03-17 08:52:31 Fixed build when events are disabled Fixes https://github.com/libsdl-org/SDL/issues/5413
01bfde45 2022-03-17 12: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)
dfbe1f72 2022-03-17 03:50:02 SDL_GetBasePath() fixes for OS/2
b2db570c 2022-03-16 18:09:40 SDL_triangle_blit_slow: sync code with SDL_blit_slow to handle ARGB2101010
93e7caab 2022-03-16 18:08:20 SDL_blit_slow: remove one nested 'if()' because of ARGB2101010 handling
56568ffb 2022-03-16 18:04:40 Remove 'reserved identifier' warning
2c6a9c51 2022-03-16 09:36:43 minor optimization (SDL_audiocvt.c)
5905696e 2022-03-15 23:10:04 SDL_audiocvt.c: minor cleanup.
d1e4367f 2022-03-15 21:41:02 SDL_windowskeyboard.c: fix build with SDL_DISABLE_WINDOWS_IME defined. Fixes https://github.com/libsdl-org/SDL/issues/5408
f3e86b9f 2022-03-15 17:46:12 Fixed bug #2199: make SDL_blit_slow handles SDL_PIXELFORMAT_ARGB2101010, storing as RGBA
3bebdacc 2022-03-15 10:37:17 METAL: clip rect w/h must be <= render pass
7c421fec 2022-03-14 05:55:41 SDL_audiocvt.c: Don't byteswap 8-bit streams Otherwise, this results an assert on big endian machines when attenpting to use SDL_LoadWAV_RW function to load 8-bit WAV files.
363c3678 2022-03-10 17:12:33 Fixed: Incorrect assumption that mouse button is released when window is allocated
7495b981 2022-03-11 15:14:51 Make SDL_VIDEO_OPENGL_EGL optional on Android
ee6bfcdd 2022-03-13 20:56:42 SDL_blit_N.c: removed duplicated const (fixes bug #5401)
072db7b0 2022-03-12 01:56:40 SDL_windowskeyboard.c (IME_IsTextInputShown): remove unused local vars.
d14a1263 2022-03-11 17:45:17 IME Composition Truncation + SDL_IsTextInputShown + SDL_ClearComposition (#5398) * Fixes for IME Composition Truncation + Addition of SDL_ClearComposition, SDL_IsTextInputShown * Fixed: Documentation and code style issues raised during code review.
9de97e19 2020-12-01 12:46:59 emscripten: Don't prevent default on filtered key events
afb0606f 2022-03-10 18:50:10 minor os/2 clean-ups.
677dc101 2022-03-09 19:43:29 rawinput: Fix double detection of gamepads on some 3rd party X360 wireless receivers The name that the Raw Input joystick driver pulls from the HID stack comes from USB string descriptors contained on the device. For official wireless receivers, this always contains "Xbox 360 Wireless Receiver for Windows" which matches the friendly name that WGI provides. 3rd party Xbox 360 wireless receivers may have different strings in their USB string descriptors (one uses "XBOX 360 For Windows" instead). This fails to match WGI's name and causes Raw Input and WGI to both report the same gamepad. Since wireless Xbox 360 controllers seem to have a consistent VID/PID regardless of the adapter enumerating them, we can also match on that to catch these. The duplicate case reported to me was: Controller (XBOX 360 For Windows) - 030000005e040000a102000000007200 Xbox 360 Wireless Receiver for Windows - 030000005e0400000000000000007701
bf698689 2022-03-10 01:55:04 reduced a few ifdefs, fixed an unused warning if built w/o SDL_HAVE_YUV.
01d38e7a 2022-03-09 14:03:52 Make Win32 fullscreen and borderless windows minimizable
09b652b7 2022-03-09 13:54:23 Make sure the string properties are actually strings (thanks Nat!)
c6eef542 2022-03-09 13:48:31 Removed dead code
911ba8d3 2022-02-05 12:30:45 hide impossible branch in D3D_UnlockTexture
ea5b482b 2022-03-09 15:38:36 Remove unused warning
45833a14 2022-03-09 15:33:45 Prevent shadowing static variable '_this' with local paramter '_this' of SDL_CreateWindowTexture
a4a80c86 2022-03-09 15:21:55 Fix variable may be uninitialized when used here [-Wconditional-uninitialized]
04256a53 2022-03-09 15:12:25 Fix compilation (see #5313)
0983fcee 2022-02-05 12:28:37 fix memory leak in D3D11_CreateRenderer
3f8b450d 2022-02-05 12:22:34 extend the code hidden by SDL_HAVE_YUV
ce1883e1 2022-02-05 12:12:21 fix compile error with disabled SDL_HAVE_YUV (vita) - UpdateTextureYUV is not defined if SDL_HAVE_YUV is not defined/zero + calling SDL_free suffice if the VITA_GXM_RenderData was just allocated
14db417e 2022-03-08 21:32:27 Reenable getting the serial number on macOS We filter now on game controllers, so we shouldn't hit the crash bug on random devices that this was working around.
c3ca3445 2022-03-08 18:56:49 Prefer HIDAPI on macOS, as that has extended functionality
6a787619 2022-03-08 18:42:13 Allow reading background events for MFi controllers
b064ad6a 2022-03-08 18:14:10 Allow GL_ARB_texture_non_power_of_two environment variable to override OpenGL 2.0 check
1b766937 2022-03-08 09:58:24 Fixed the SDL controller type for USB_PRODUCT_XBOX_ONE_XINPUT_CONTROLLER
41e7d1ba 2022-03-06 23:02:57 Add SDL_GetDisplayDPI implementation on Emscripten Signed-off-by: Mahyar Koshkouei <mk@deltabeard.com>
b2463a91 2022-03-06 15:02:53 events: Add logging support for several missing event types
bdafe1e0 2022-03-04 11:01:55 Fixed whitespace
2e801b1a 2022-03-04 10:49:12 Split long text input into multiple events if needed (thanks @zreedy!)
2f7b885d 2022-02-28 16:30:34 Fix 'potentially uninitialized local pointer variable' error in UWP builds
98353533 2022-02-23 18:54:31 riscos: Report keyboard repeat events
af40cb6f 2022-02-23 15:49:10 Added support for the Razer Huntsman Analog keyboard in controller mode
94d43186 2022-02-22 00:41:15 GameCubeAdapter: Add suppport for all rumble modes This adds support for all 3 of the gamecube controller's rumble modes Rumble: 1 Stop: 0 StopHard: 2 This is useful for applications that need the full range of support This also adds a hint to control rumble behavior, defaults 0 to maintain compatibility
b946e31e 2022-02-23 09:10:46 video: Allow unaccelerated SDL_HINT_FRAMEBUFFER_ACCELERATION renderers. If the app requested a specific renderer, even if it's not the optimal path, let them have it, because they might want to render with a specific GPU API on top of the framebuffer pixels. This fixes DosBox-X crashing on startup, which forces the hint to "opengl".
60ddb74c 2022-02-02 12:19:37 video: rework how we prepare a texture framebuffer. Now we see if we can create an SDL_Renderer, and if that renderer reports itself as "accelerated," and added some initial heuristics to the OpenGL renderer to make better decisions about what qualifies as "accelerated." This adds some FIXMEs that might be merely hypothetical, and removes the old OpenGL checks from the video subsystem that probably weren't meaningful in modern times. This will definitely need to improve the existing list in the GL renderer, to catch things like llvmpipe, etc. Reference issue #4624.
08d27dfd 2022-02-22 15:27:30 SDL_openslES.c: Detect float support in runtime and use it Allow using of the float output type on newer Android devices, but keep PCM16 output on older Closes #5358
293a0aa8 2022-02-22 10:54:21 opengl: If GL version >= 2.0, NPOT textures are supported, so favor them. Fixes #5041.
9299a3e7 2022-02-21 16:24:45 Workaround for crash in CoUninitialize()
978fbc32 2022-02-21 12:02:44 Fixed compile warnings
6c531c43 2022-02-21 11:35:31 Correct handling of sentinel events when polling without removing events Fixes https://github.com/libsdl-org/SDL/issues/5350
d90bd261 2022-02-16 13:26:10 wscons: Make USB keyboard input layout independent
9d86ec85 2022-02-18 09:57:10 Palette format: software Render Jitter in rotation (see #5143) - same fix applied for rotation with palette surfaces - allow other 8bits format (eg 332)
ceb09ee7 2022-02-17 23:11:02 Fixed #5143 - software Render Jitter in rotation better precision calculating rotated coordinates and interpolation
18032979 2022-02-15 13:07:51 Added the hint SDL_HINT_JOYSTICK_ROG_CHAKRAM to control whether ROG Chakram mice show up as joysticks This hint defaults off, but when it is enabled the mice will have a game controller mapping set up for Profile 3 (set in the Armoury Crate software)
75ffa24e 2022-02-15 13:35:59 Software Render Jitter in rotation (bug #5143) The output surface doesn't necessarily to have even width and height.
61abc4e5 2022-02-15 11:34:50 PSP: SDL_RenderCopyEx rotation and global scaling around the wrong way (see #bug 3070)
18b76fcc 2022-02-15 11:33:56 Fixed bug #3070 - SDL_RenderCopyEx rotation and global scaling around the wrong way (software renderer)
e366ad12 2022-02-15 10:02:34 Fixed bug #2308: SDL_RenderCopyEx rotation center precision (software renderer)
66ee79bd 2022-02-14 10:59:25 [PSP] Don't swizzle streaming textures It was causing issues in the teststreaming demo and unswizzling later is inefficient and causes issues.
f97a29f6 2022-02-11 22:10:33 Use the real device VID/PID when seeing the Steam virtual controller
85e65000 2022-02-11 11:08:08 X11 Segmentation fault with multiple windows and renderers (see #5256)
a75041e8 2022-02-10 13:44:59 Fixed bug #2140: basic support to convert 16 colors palette PIXELFORMAT_INDEX4, to allow conversion to SDL_Texture
abc8198a 2022-02-09 18:07:46 Render all sides when drawing rect on PSP
228db352 2022-02-08 13:29:40 audio: pipewire: Tidy up formatting
9da9e85c 2022-02-08 12:59:01 audio: pipewire: Reset all hotplug values and pointers on shutdown Ensure that all hotplug variables and pointers are reset to NULL or their original value when shutting down.
5b36a527 2022-02-08 12:30:28 audio: pipewire: Remove redundant locks The io_list_check_add() and io_list_remove() functions are only ever called from within the Pipewire thread loop, so the locks are redundant. io_list_sort() is called from within a lock in the device detection function, so those additional locks are redundant as well.
48b4d1c4 2022-02-08 12:20:52 audio: pipewire: Convert atomic hotplug conditional variables to SDL_bool The hotplug loop condition variables are always guarded by the loop mutex while the loop is running, so they don't need to be atomic.
67f12ede 2022-02-08 21:32:50 move bug #5333 fix to headers
54304b97 2022-02-08 18:31:43 Fix rotation direction and center point on PSP
2b572dff 2022-02-08 18:03:11 Make RenderCopyEx rotate around center This still isn't perfect. The rotation is the wrong way around and the images are upside down.
7935cfac 2022-02-08 18:55:10 SDL_mfijoystick.m: use __typeof instead of typeof. Fixes https://github.com/libsdl-org/SDL/issues/5319
9b817248 2022-02-08 18:50:02 SDL_spinlock.c: define HAVE_GCC_ATOMICS for windows/clang builds, ... if not already defined. Fixes https://github.com/libsdl-org/SDL/issues/5333 diff --git a/src/atomic/SDL_spinlock.c b/src/atomic/SDL_spinlock.c index bdd347e..4f10741 100644 --- a/src/atomic/SDL_spinlock.c +++ b/src/atomic/SDL_spinlock.c @@ -28,6 +28,12 @@ #include "SDL_mutex.h" #include "SDL_timer.h" +#if defined(__WIN32__) && defined(__clang__) +# ifndef HAVE_GCC_ATOMICS +# define HAVE_GCC_ATOMICS 1 +# endif +#endif + #if !defined(HAVE_GCC_ATOMICS) && defined(__SOLARIS__) #include <atomic.h> #endif
e7e44df0 2022-02-08 11:34:41 Dynapi: add SDL_GetTouchName() entry
34d4f5b1 2022-02-08 11:32:20 Fixed bug #2032: add SDL_GetTouchName to expose the driver name of the device (Thanks @mgerhardy!)
53091e36 2022-02-02 12:30:34 audio: pipewire: Remove the hard upper bound on rates and buffer sizes Remove the hard upper limit of 8192 samples and instead use the buffer sizes provided by Pipewire to determine the size of the intermediate input buffer and whether double buffering is required for output streams. This allows for higher latency streams to potentially avoid double-buffering in the output case, and we can guarantee that the intermediate input buffer will always be large enough to handle whatever Pipewire may deliver. As the buffer size calculations occur in a callback in the Pipewire processing thread itself, the stream readiness check has been modified to wait on two distinct flags set when the buffers have been configured and when the stream is ready and running.
66866249 2022-02-02 11:09:02 audio: pipewire: Condition variable doesn't need to be atomic The condition variable is guarded by a mutex, so no need for it to be atomic.