Sam Lantinga
96292a5b46
Updated to version 3.2.20 for release
2025-08-04 09:58:55 -07:00
Sam Lantinga
707717e94b
Reverted: Added Steam Virtual Gamepad support to the GameInput driver
...
This version of SDL doesn't support newer GameInput versions required for this feature.
2025-07-24 14:00:20 -07:00
Sam Lantinga
a140bba55a
Fixed building with GameInput v1.0
...
(cherry picked from commit e5d57d8ad6 )
2025-07-24 10:52:28 -07:00
Sam Lantinga
f4ddacacd0
Fixed building with GameInput v1.0
...
(cherry picked from commit 0ee0fe1572 )
2025-07-24 10:43:05 -07:00
Sam Lantinga
ebba656bdb
Added Steam Virtual Gamepad support to the GameInput driver
...
(cherry picked from commit 66dad9c21f )
2025-07-24 10:38:02 -07:00
Sam Lantinga
b78c61d67a
Fixed double SDL_EVENT_GAMEPAD_ADDED for controllers with automatic gamepad mappings
...
(cherry picked from commit 6babade758 )
2025-07-24 10:38:02 -07:00
Sam Lantinga
ee371ff740
Fixed crash if a clipboard event was sent with video uninitialized
...
This can happen if you're using SDL on Android without using the video subsystem.
(cherry picked from commit 855d28e97a )
2025-07-17 08:48:00 -07:00
Sam Lantinga
a6ed8ab59d
Updated to version 3.2.19 for development
2025-07-14 11:44:22 -07:00
Sam Lantinga
bd40d0ded1
Removed the Mayflash GameCube adapter from the PS3 controller list
...
(cherry picked from commit 277f91c317 )
2025-07-14 11:30:46 -07:00
Sam Lantinga
913813a933
Updated to version 3.2.18 for release
2025-07-11 15:56:55 -07:00
Sam Lantinga
4a55143e15
Fixed build
...
(cherry picked from commit 92e8224d32 )
2025-07-11 14:12:27 -07:00
Sam Lantinga
87c9bc1b1f
Fixed long delay when enumerating the Razer Huntsman keyboard
...
Fixes https://github.com/libsdl-org/SDL/issues/13236
(cherry picked from commit 0b2e389ee3 )
2025-07-11 14:12:27 -07:00
Sam Lantinga
16a57b70f7
Set hwndTarget to NULL when unregistering raw input
...
Fixes https://github.com/libsdl-org/SDL/issues/13335
(cherry picked from commit 937e8d55a4 )
2025-07-11 12:14:50 -07:00
Sam Lantinga
5886d90308
Fixed long delay when enumerating the Razer Huntsman keyboard
...
Fixes https://github.com/libsdl-org/SDL/issues/13236
(cherry picked from commit f199aafaeb )
2025-07-11 11:56:06 -07:00
Sam Lantinga
608101a185
Update the viewport when logical presentation changes
...
Fixes https://github.com/libsdl-org/SDL/issues/13256
(cherry picked from commit 727b4924c8 )
2025-06-25 09:59:13 -07:00
Sam Lantinga
bde5687a3c
Fixed Nintendo Switch Pro thumbstick calibration
...
Fixes https://github.com/libsdl-org/SDL/issues/13246
(cherry picked from commit 038a3806eb )
2025-06-21 19:57:04 -07:00
Sam Lantinga
0f3504f78d
Updated testffmpeg for ffmpeg 7.1
...
(cherry picked from commit e6c2649afc )
2025-06-21 08:49:43 -07:00
Sam Lantinga
0aaa0321cc
Fixed warning C5286: implicit conversion from enum type 'VkFilter' to enum type 'SDL_ScaleMode'
2025-06-21 07:41:20 -07:00
Sam Lantinga
079967afa5
Clarify that SDL_GetAudioStreamDevice() returns the logical device.
...
(cherry picked from commit c19ad189dc )
2025-06-20 14:01:32 -07:00
Sam Lantinga
8d578d590f
Fixed replacing existing specific gamepad mappings
...
If the first mapping we see doesn't have a CRC, continue looking for another exact CRC match.
Fixes testautomation --filter TestVirtualJoystick
(cherry picked from commit 5826966873 )
2025-06-06 09:55:04 -07:00
Sam Lantinga
6b4a211374
Added support for the ZEROPLUS P4 Wired Gamepad
...
(cherry picked from commit f90a21483c )
2025-06-06 09:27:17 -07:00
Sam Lantinga
55b023c961
Remove the CRC from automatically generated gamepad mappings
...
Fixes https://github.com/libsdl-org/SDL/issues/13127
(cherry picked from commit 638acdc02a )
2025-06-06 09:25:19 -07:00
Sam Lantinga
06da7490fc
Added support for the NACON Revolution X Unlimited controller on macOS
...
This adds support for the controller in Bluetooth mode.
Fixes https://github.com/libsdl-org/SDL/issues/13143
(cherry picked from commit 6622f4e1ea )
2025-06-03 15:08:11 -07:00
Sam Lantinga
af83c442d3
Fixed input from the MayFlash GameCube adapter with version 7 firmware
...
(cherry picked from commit 7457857304 )
2025-06-03 11:14:09 -07:00
Sam Lantinga
d726e98596
Updated to version 3.2.17 for development
2025-06-02 15:57:36 -07:00
Sam Lantinga
e0f6e96da0
Use HEAPU8.set rather than Module.HEAPU8.set (thanks @sbc100!)
...
The Module object is the external interface to the application, internal symbols like HEAPU8 don't need to be exported to be used and usage should not be prefixed with Module.
Fixes https://github.com/libsdl-org/SDL/issues/13156
Closes https://github.com/libsdl-org/SDL/pull/13157
(cherry picked from commit cf6c42e6e6 )
2025-06-02 09:48:55 -07:00
Sam Lantinga
57de46ae7e
Mark gamepads as invalid if they can't be opened
...
Fixes https://github.com/libsdl-org/SDL/issues/13129
(cherry picked from commit 4b0f48c4cf )
2025-06-02 09:25:10 -07:00
Sam Lantinga
59693c8996
Updated to version 3.2.16 for release
2025-06-01 14:37:23 -07:00
Sam Lantinga
180b454d61
kmsdrm: fixed creating GBM surfaces on NVIDIA cards
...
(cherry picked from commit fc1c0618de )
2025-05-29 11:20:44 -07:00
Sam Lantinga
abbaf95cf0
Added macros to push/pop error messages while cleaning up
...
(cherry picked from commit 885e611f3c )
2025-05-29 10:54:46 -07:00
Sam Lantinga
1081b70951
Fixed typos
...
(cherry picked from commit 61d105247e )
2025-05-29 10:54:46 -07:00
Sam Lantinga
4f51f956ad
Updated SDL_StretchSurface() documentation
...
Fixes https://github.com/libsdl-org/SDL/issues/13135
(cherry picked from commit 7db0ac7380 )
2025-05-29 09:09:29 -07:00
Sam Lantinga
b076f4b590
Removed obsolete documentation
...
(cherry picked from commit 737b9e117d )
2025-05-28 15:57:23 -07:00
Sam Lantinga
91180f8cb4
Disable SDL_HINT_JOYSTICK_RAWINPUT by default
...
Windows can get in a state when it stops reporting raw input events for game controllers until reboot.
The downside of this change is that we lose support for trigger rumble and are limited to 4 controllers again, but if that's important for your application you can use SDL_SetHint(SDL_HINT_JOYSTICK_RAWINPUT, true) to enable this functionality.
Fixes https://github.com/libsdl-org/SDL/issues/13047
(cherry picked from commit aa870d511e )
2025-05-27 09:51:58 -07:00
Sam Lantinga
bc3eeecf7f
Set the initial axis values for HIDAPI and XInput controllers
...
Fixes https://github.com/libsdl-org/SDL/issues/13020
(cherry picked from commit 1f6b5c681d )
2025-05-23 12:09:58 -07:00
Sam Lantinga
26a1aae098
Fixed the Bluetooth flag for the combined Joy-Con controller
...
(cherry picked from commit 264eb8d440 )
2025-05-21 13:30:30 -07:00
Sam Lantinga
d6212ae839
Fixed rare crash trying to interrupt SDL_WaitEvent()
...
Fixes https://github.com/libsdl-org/SDL/issues/12797
(cherry picked from commit 992e4c59bd )
2025-05-19 14:16:25 -07:00
Sam Lantinga
559d4415eb
Fixed touch not being delivered as mouse events by default on Vita
...
Closes https://github.com/libsdl-org/SDL/pull/13070
(cherry picked from commit 25f2376e79 )
2025-05-19 08:33:28 -07:00
Sam Lantinga
7f0a5d6a10
Updated to version 3.2.15 for development
2025-05-14 13:08:44 -07:00
Sam Lantinga
c038d6f7f8
Updated to version 3.2.14 for release
2025-05-13 14:24:40 -07:00
Sam Lantinga
ed22220bc6
Fixed crash if out of memory in the Vulkan GPU driver
...
(cherry picked from commit cd95152b2c )
2025-05-13 09:08:19 -07:00
Sam Lantinga
6e97d8d1b3
Fixed crash if WGI isn't correlated in RAWINPUT_JoystickRumble()
...
(cherry picked from commit 87fe9ef79b )
2025-05-08 15:39:50 -07:00
Sam Lantinga
9d9a24d325
Define illegal_instruction() when it will be actually used
...
(cherry picked from commit 29d2116495 )
2025-05-08 12:50:08 -07:00
Sam Lantinga
0897f4a7d1
Backported Metal sampler improvements from main
...
Fixes https://github.com/libsdl-org/SDL/issues/12988
2025-05-08 10:22:17 -07:00
Sam Lantinga
5aec645191
Added GCController mapping for the 8BitDo SN30 Pro on macOS
...
(cherry picked from commit 2b57d58f7d )
2025-05-08 09:57:36 -07:00
Sam Lantinga
07c33068f3
Added GCController mapping for the 8BitDo Pro 2 on macOS
...
Fixes https://github.com/libsdl-org/SDL/issues/12987
(cherry picked from commit d157600d3d )
2025-05-08 09:49:46 -07:00
Sam Lantinga
50d02ad732
Updated to version 3.2.13 for development
2025-05-04 10:56:10 -07:00
Sam Lantinga
7dd2915475
Updated to version 3.2.12 for release
2025-05-04 10:09:23 -07:00
Sam Lantinga
db4c7e47f1
Added support for the share button on the GameSir-K1 FLUX controller
...
(cherry picked from commit ab12b7cbba )
2025-05-02 10:15:39 -07:00
Sam Lantinga
362445460e
Added support for the PowerA Battle Dragon Advanced Wireless Controller
...
(cherry picked from commit 1e6a25324c )
2025-05-02 10:01:42 -07:00
Sam Lantinga
337f012de2
Fixed right mouse button emulation when using a pen
...
Pen button 1 is typically used as right click. Pen button 2 (Wacom eraser) doesn't have a specific mapping, but we'll use middle click for now.
(cherry picked from commit e3df61b070 )
2025-04-30 11:08:24 -07:00
Sam Lantinga
3c29b620e4
Fixed missing simulated mouse events using a Wacom tablet
...
The low 16-bits of the message extra info is an event sequence number when using the Wacom tablet with Windows Ink disabled. The high bits of normal mouse motion when using touch input match the touch signature, 0xFF515700. The high bits of raw input mouse motion when using touch input do not match that signature, so we have to check for the touch bit in that case.
Fixes https://github.com/libsdl-org/SDL/issues/12927
(cherry picked from commit 106ccc722e )
2025-04-30 11:08:24 -07:00
Sam Lantinga
579fc161f0
Fixed build
...
(cherry picked from commit 8ae962c904 )
2025-04-29 19:57:15 -07:00
Sam Lantinga
22e968af4e
Fixed right click mouse emulation for the Wacom tablet
...
The problems are two-fold. When this happens a WM_POINTERDOWN event is sent with IS_POINTER_INCONTACT_WPARAM() evaluating as true. So when SDL_SendPenButton() is sent for the barrel button, there is no pen in contact yet, so the right mouse button is sent. Then SDL_SendPenTouch() is sent, which generates a left button press event.
Fixes https://github.com/libsdl-org/SDL/issues/12926
(cherry picked from commit e04064350f )
2025-04-29 19:57:15 -07:00
Sam Lantinga
b2b92bbe25
Removed timeout in SDL_RunOnMainThread()
...
Fixes https://github.com/libsdl-org/SDL/issues/12923
(cherry picked from commit 8abcc27535 )
2025-04-29 08:58:54 -07:00
Sam Lantinga
a29c67ac94
Always enable D3D12 GPU on Windows
...
This isn't dependent on the render subsystem
Fixes https://github.com/libsdl-org/SDL/issues/12922
(cherry picked from commit ef54c3bf18 )
2025-04-29 08:53:40 -07:00
Sam Lantinga
825c0c7691
Reset the keyboard when entering a modal loop on Windows
...
Fixes https://github.com/libsdl-org/SDL/issues/12876
(cherry picked from commit da3c864d4c )
2025-04-24 13:58:56 -07:00
Sam Lantinga
e045edb567
Corrected documentation for SDL_SetGPUSwapchainParameters()
...
(cherry picked from commit 695cad459b )
2025-04-23 16:16:24 -07:00
Sam Lantinga
f5ac58c9f4
Added tests to cover invalid surface blits
...
Reproduction case for https://github.com/libsdl-org/SDL/issues/12844
(cherry picked from commit 89d7d406ab )
2025-04-22 13:06:36 -07:00
Sam Lantinga
cf95db46a7
Renamed SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_UINT8 to SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER
...
Typically we will name the property with the function that is used to set it, and document the range of values.
(cherry picked from commit 18fbe6a92f )
2025-04-22 10:28:43 -07:00
Sam Lantinga
014e24e1a8
Removed incorrect documentation for SDL_RenderViewportSet()
...
Closes https://github.com/libsdl-org/SDL/pull/12854
(cherry picked from commit c076b0d17f )
2025-04-22 10:17:57 -07:00
Sam Lantinga
1543f523b7
Updated documentation for SDL_HINT_GPU_DRIVER
...
(cherry picked from commit 3aed80cd82 )
2025-04-22 08:58:58 -07:00
Sam Lantinga
18d367afd2
Fixed process I/O redirection to NUL on Windows
...
(cherry picked from commit 4093e4a193 )
2025-04-11 15:45:33 -07:00
Sam Lantinga
9a4faf9ab9
Add the CREATE_NO_WINDOW flag for background processes
...
Fixes https://github.com/libsdl-org/SDL/issues/12097
(cherry picked from commit c025fdbb7c )
2025-04-11 15:45:33 -07:00
Sam Lantinga
cb0ba020d4
Don't reset the render target when invalidating GPU renderer cache state
...
Fixes https://github.com/libsdl-org/SDL/issues/12646
(cherry picked from commit f35a2736b7 )
2025-04-11 09:24:38 -07:00
Sam Lantinga
f705e2f9f7
Fixed conflict when linking both SDL and hidapi statically
...
Fixes https://github.com/libsdl-org/SDL/issues/12790
(cherry picked from commit 98e76d283f )
2025-04-10 09:58:13 -07:00
Sam Lantinga
4e1282617a
Fixed non-XBox controllers being detected as Series X controllers
...
First make sure we have an XBox One controller before checking whether it's a Series X/S controller.
(cherry picked from commit 93ac1e6894 )
2025-04-08 12:21:34 -07:00
Sam Lantinga
f102ff16a2
Don't treat the Keychron K1 Pro System Control keyboard as a joystick
...
Fixes https://github.com/libsdl-org/SDL/issues/12758
(cherry picked from commit d29bb902f3 )
2025-04-08 11:08:55 -07:00
Sam Lantinga
a1dde664d1
Updated version documentation to match SDL 3.x practice
...
(cherry picked from commit cccad933a0 )
2025-04-07 10:23:27 -07:00
Sam Lantinga
a447863e4f
Set a default shader entry point
...
The default should be the entrypoint generated by SDL_shadercross. That way it doesn't need to be hand-specified in the common workflow.
(cherry picked from commit dcb97a5f49 )
2025-04-04 07:39:16 -07:00
Sam Lantinga
8222513f63
Added special handling for SDL_HINT_ANDROID_ALLOW_RECREATE_ACTIVITY
...
This hint needs to persist outside of the normal application flow, so use the environment to set the initial value, and then save the value set via SDL_SetHint() after that.
Fixes https://github.com/libsdl-org/SDL/issues/12677
(cherry picked from commit 6bb16296b0 )
2025-04-03 11:34:03 -07:00
Sam Lantinga
2dd20ce8e7
Fixed building for Xbox One
...
Fixes https://github.com/libsdl-org/SDL/issues/12714
(cherry picked from commit 756b455d3a )
2025-04-03 09:10:01 -07:00
Sam Lantinga
f51b88e6b5
Note that you might get a different size window than you expect
...
(cherry picked from commit df32827407 )
2025-04-03 08:54:27 -07:00
Sam Lantinga
7cb0fa5c56
Fixed documentation for SDL_GL_*_SIZE
...
(cherry picked from commit ab34ea5a26 )
2025-04-02 22:32:39 -07:00
Sam Lantinga
976c92a2fb
Added support for the HORI Taiko No Tatsujin Drum Controller
...
(cherry picked from commit 82b245d13a )
2025-04-02 08:30:55 -07:00
Sam Lantinga
0759f22a91
More clarification for high DPI support
...
(cherry picked from commit 4de396734d )
2025-03-31 18:53:57 -07:00
Sam Lantinga
02036ee643
Fixed texture colorspace when creating a texture from a surface
...
Fixes https://github.com/libsdl-org/SDL/issues/12691
(cherry picked from commit 36fc1c2c9c )
2025-03-31 18:50:45 -07:00
Sam Lantinga
2103451d00
Clarify high DPI support and best practices
...
(cherry picked from commit 2e494fda30 )
2025-03-31 16:49:55 -07:00
Sam Lantinga
b6db091d60
Fixed A/B/X/Y buttons on Nintendo 3DS
...
Fixes https://github.com/libsdl-org/SDL/issues/12690
(cherry picked from commit 44faac2921 )
2025-03-31 15:38:16 -07:00
Sam Lantinga
9827653c38
Updated to version 3.2.11 for development
2025-03-31 13:54:19 -07:00
Sam Lantinga
877399b2b2
Updated to version 3.2.10 for release
2025-03-31 13:12:19 -07:00
Sam Lantinga
366294e1c5
Fixed build
...
(cherry picked from commit 0d04e9ea6a )
2025-03-30 21:35:22 -07:00
Sam Lantinga
4d966ff546
Set the alpha opaque when blending to an RGB format
...
Fixes the render_testRGBSurfaceNoAlpha automated test in sdl2-compat
(cherry picked from commit 7bb95bde49 )
2025-03-30 21:30:04 -07:00
Sam Lantinga
6b665066f0
Added SIMD blitters for 8888 -> 8888 format conversion
...
(cherry picked from commit e20e27e1fb )
2025-03-30 21:29:48 -07:00
Sam Lantinga
4b8c38e7ba
Temporarily disable DwmFlush()
...
For some reason this locks up the Windows compositor when called by Steam. I'm disabling it for now until we understand why and whether this can cause issues for other applications as well.
(cherry picked from commit a23f97483f )
2025-03-28 20:32:28 -07:00
Sam Lantinga
cec6073085
Updated link to PSP Hello World
...
(cherry picked from commit 304cb742881c5da76d41f28181624f8c2aafa05a)
2025-03-27 12:19:51 -07:00
Sam Lantinga
d73ad0ef18
Don't send relative motion while in a modal loop
...
This fixes queuing up a bunch of relative motion events while moving or resizing a window.
(cherry picked from commit 2e61b41652 )
2025-03-27 08:10:58 -07:00
Sam Lantinga
e77ef86f09
Added mappings for the NSO N64/SEGA/SNES controllers
...
These are used on Linux when the HIDAPI driver isn't available.
(cherry picked from commit e28974124a )
2025-03-25 14:46:30 -07:00
Sam Lantinga
951ba597ed
Fixed face buttons for the NSO SNES controller under the HIDAPI driver
...
(cherry picked from commit b88200b797 )
2025-03-25 14:46:30 -07:00
Sam Lantinga
38697dd812
Fixed mixed trigger and body rumble for Xbox controllers on Windows
...
Fixes https://github.com/libsdl-org/SDL/issues/12095
(cherry picked from commit b6ca03611f )
2025-03-24 11:07:12 -07:00
Sam Lantinga
134b57f6f5
Improve move/resize visual smoothness on Windows
...
Fixes https://github.com/libsdl-org/SDL/issues/12528
(cherry picked from commit 6b13d69105 )
2025-03-21 16:47:29 -07:00
Sam Lantinga
ed8e7e85f0
SDL_ClaimWindowForGPUDevice() should fail for transparent windows
...
The GPU API doesn't currently support transparent windows (transparent swapchain effects doesn't seem possible on D3D12) so we should explicitly fail so users don't expect transparency and then not get it.
Fixes https://github.com/libsdl-org/SDL/issues/12410
(cherry picked from commit 2fbb583290 )
2025-03-21 12:15:09 -07:00
Sam Lantinga
f971a59746
Fixed DebugLogRenderCommands() output
...
(cherry picked from commit 758eb256b9 )
2025-03-20 21:25:23 -07:00
Sam Lantinga
5836266bfb
We need to rebind D3D12 resources after updating them
...
Fixes https://github.com/libsdl-org/SDL/issues/12544
(cherry picked from commit 4ceb02434b )
2025-03-20 20:22:33 -07:00
Sam Lantinga
59857acd08
Always show the on-screen keyboard on Steam Deck
...
Steam will eventually have smarts about whether a keyboard is active and will igore the request appropriately.
Fixes https://github.com/libsdl-org/SDL/issues/12595
(cherry picked from commit 03a53ce0d1 )
2025-03-20 16:30:04 -07:00
Sam Lantinga
8129b637f3
A Steam Controller might be generating keyboard input
...
We can't use keyboard input as a signal about whether a keyboard is attached. There might be keyboard input from any number of generated inputs or non-keyboard devices.
(cherry picked from commit 8caeaaacdd )
2025-03-20 16:30:04 -07:00
Sam Lantinga
9e1675671d
Show the on-screen keyboard if we don't have active keyboard input
...
Active keyboard input is based on the input the user has most recently sent.
Fixes https://github.com/libsdl-org/SDL/issues/12595
(cherry picked from commit cbb83be895 )
2025-03-20 16:30:04 -07:00
Sam Lantinga
8b191c3ca6
Fixed typo in build.gradle
...
(cherry picked from commit fe024b8fe3 )
2025-03-20 11:22:20 -07:00
Sam Lantinga
06a412cd68
Fixed gradle deprecation warnings
...
"Space-assignment syntax in Groovy DSL has been deprecated. This is scheduled to be removed in Gradle 10.0"
(cherry picked from commit bf7b9b020e )
2025-03-20 11:05:56 -07:00
Sam Lantinga
b74609d5f3
Use the android-21 SDK as documented in README-android.md
...
(cherry picked from commit ac28702504 )
2025-03-20 11:05:56 -07:00