Commit Graph

21872 Commits

Author SHA1 Message Date
Cameron Cawley
e50faf4e6a Support the full set of standard CSS cursors 2026-05-13 20:24:44 -07:00
Sam Lantinga
4884dbbe56 Added SDL_SendGamepadEffect() support for the new Steam Controller 2026-05-13 20:14:50 -07:00
Joel Auterson
c247f06f01 Add libusb-1.0-0-dev to Linux deps doc
libusb-1.0-0 is needed to enable SDL_HIDAPI_LIBUSB. It does not work with the `libusb-dev` package on Ubuntu, which is for the older version.
2026-05-13 18:35:56 -07:00
Cameron Cawley
c6b232f5d4 Support loading JPEG images through SDL_LoadSurface() 2026-05-13 16:11:53 -07:00
Ryan C. Gordon
9672f5b68b android: Change how apps access their APK's "assets" directory.
Now they can explicitly access it with "assets://" filenames, and
SDL_GetBasePath() returns "assets://"

Fixes #15347.
Fixes #5044.
2026-05-13 17:12:36 -04:00
Brenton Bostick
e8127a9a11 Fix #15500: deprecation warning on Android for slCreateEngine 2026-05-13 16:44:19 -04:00
Eddy Jansson
4eb221881a DOS: Replace SDL_memset() with SDL_zero*() 2026-05-13 11:28:54 -07:00
Eddy Jansson
70159c34f6 DOS & Tray: Don't do NULL-checks before SDL_free() 2026-05-13 11:28:54 -07:00
Sam Lantinga
3dbd3e43e2 Return the touch device name for SDL_TOUCH_MOUSEID 2026-05-13 09:07:36 -07:00
Cameron Cawley
b1f390255a Allow formats with alpha channels for window textures
Because the blend mode is explicitly set to SDL_BLENDMODE_NONE, it doesn't matter if there's a transparency channel in the texture format or not for opaque windows. This ensures that a 32-bit format is used with Metal instead of SDL_PIXELFORMAT_RGB565.
2026-05-13 08:52:30 -07:00
Sam Lantinga
716c767b7e Document that you may receive mouse events with SDL_PEN_MOUSEID 2026-05-13 08:11:41 -07:00
Sam Lantinga
fcaf5bbf8c Use predefined names for constant keyboard and mouse IDs
Fixes https://github.com/libsdl-org/SDL/issues/15563
2026-05-13 08:11:41 -07:00
Ozkan Sezer
36e1efccb4 revert parts of CodeSpell commit d870911202 from 3rd party sources 2026-05-13 18:00:02 +03:00
Sam Lantinga
c362f1341f Change controller sensor state on the main UI thread on Android
Fixes https://github.com/libsdl-org/SDL/issues/15565
2026-05-13 07:39:02 -07:00
Sam Lantinga
7222c04fbf Synchronize controller access on the Java side on Android 2026-05-13 07:39:02 -07:00
Cameron Cawley
7071efb6a3 Fix switching modes on RISC OS 2026-05-12 20:18:02 -07:00
Rachel Blackman
418960bb4e Handle the Amazon Fire TV's weird Bluetooth behavior 2026-05-12 17:40:37 -07:00
SDL Wiki Bot
fd8682ccc9 Sync SDL3 wiki -> header
[ci skip]
2026-05-12 23:49:34 +00:00
Sam Lantinga
5cf16e4522 Added curved window mode on visionOS 26 (#15298) 2026-05-12 16:48:06 -07:00
Sam Lantinga
f30ec9940a Removed Wooting 60HE (ARM) from the controller blacklist
Fixes https://github.com/libsdl-org/SDL/issues/15555
2026-05-11 22:10:20 -07:00
Al. Lopez
4940345a2e added additional examples of paddle/misc buttons for Steam Controller (#15544) 2026-05-11 21:45:10 -07:00
Sam Lantinga
bb4eedd67d Fixed a crash if we get a HID device with no path
This can happen on Linux if udev_device_get_devnode() fails.
2026-05-11 16:47:26 -07:00
Rachel Blackman
e4a327709d Correctly support OG Steam Controller when connected via USB on Android (#15561) 2026-05-11 15:19:57 -07:00
Rachel Blackman
fd3cfb97c1 Ensure Android gamepad mappings don't lose the first button. 2026-05-11 12:59:30 -07:00
Evan Hemsley
76f8705c12 GPU: Fix segfault when copying to Vulkan swapchain (#15543) 2026-05-11 11:42:11 -07:00
Rachel Blackman
7ec70d39c4 *Only* preserve report byte for feature reports. Oops. 2026-05-11 11:33:11 -07:00
Nintorch
287e2573cd Ignore Keychron K10 Pro and Huion Tablet_GS1331 2026-05-11 07:15:14 -07:00
Cameron Gutman
7439a94ed2 atomic: Implement loads on MSVC without RMW operations
This fixes faults when loading from read-only memory and avoids
cache line bouncing across cores which reduces performance.
2026-05-11 06:43:08 -07:00
Anthony
c94b1435c7 Add joystickSetSensorsEnabled to proguard-rules.pro 2026-05-11 06:38:19 -07:00
Anonymous Maarten
f6a1eb9ba9 ci: bump actions, switch away from ilammy/msvc-dev-cmd 2026-05-10 22:54:25 +02:00
Frank Praznik
f48525aa70 x11: Store the mouse button serial for emulated pointer events as well
Otherwise, filtered emulated button events, such as for mouse wheels, can slip through the core event handler.
2026-05-10 14:16:49 -04:00
SDL Wiki Bot
e497077cbf Sync SDL3 wiki -> header
[ci skip]
2026-05-09 23:58:32 +00:00
Evan Hemsley
cbe3fbe9f3 GPU: Validate that 2D textures don't have layers (#15535) 2026-05-07 19:20:21 -07:00
SDL Wiki Bot
8efa8014df Sync SDL3 wiki -> header
[ci skip]
2026-05-08 00:37:31 +00:00
Evan Hemsley
d08ef12b12 GPU: Allow depth texture arrays (#15534) 2026-05-07 16:34:32 -07:00
Frank Praznik
04d8a654d8 wayland: Ensure the viewport size is always non-zero
A viewport size of zero is a protocol error, so guard against it when adjusting the aspect ratio.
2026-05-07 13:16:50 -04:00
Frank Praznik
ba3577f584 wayland: Ensure window dimensions are greater than zero after adjusting for aspect
Resizing to zero can cause a bad viewport size error.
2026-05-07 13:16:50 -04:00
cosmonaut
c8feb29746 GPU: Clarify VK_KHR_maintenance9 comment 2026-05-07 09:59:14 -07:00
Susko3
2949a0d6d5 Enable text editing events in checkkeys 2026-05-07 09:57:08 -07:00
Sam Lantinga
ab19d09939 Fixed build 2026-05-06 19:42:39 -07:00
Torbjorn Laedre
5d63a4cad2 Change 3D texture memory barrier sub-resource range to be maintenance9 compatible. 2026-05-06 18:20:58 -07:00
Sam Lantinga
386f198622 Don't report 10% battery for Xbox controllers using XInput 2026-05-06 18:12:01 -07:00
Rachel Blackman
f8c364ae74 Ensure Android hidapi does not drop the report byte (#15527) 2026-05-06 15:14:09 -07:00
Ryan C. Gordon
56e0d052f1 opengles2: Rework render targets.
Now this keeps one FBO for each SDL_TEXTUREACCESS_TARGET texture, and doesn't
reuse it. We check if the FBO is "complete" once, at creation time, and
setting a render target merely has to bind the right FBO and never look back.

This simplifies the code and removes a guaranteed pipeline stall when setting
a new render target.

Fixes #15524.
2026-05-06 13:26:41 -04:00
Michael Fitzmayer
51925aa92e [N-Gage] Resolve hang on repeated app launch.
CAudio::~CAudio() waited on MaoscBufferCopied(KErrAbort) to set
EStateDone, but that callback can never fire once the active scheduler
loop has exited, deadlocking every close.

- StopThread() before iStream->Stop() in ~CAudio()
- Force iState = EStateDone instead of waiting on a dead callback
- Add 5s timeout to AudioIsReady() poll in E32Main()
- Fix CleanupStack LIFO pop order (mainApp before gRenderer)
2026-05-06 18:32:05 +02:00
Frank Praznik
e3393e6304 wayland: Queue the surface frame callback after the initial commit
Some compositors may dispatch this too early, during the initial empty commit, when subsurfaces are attached to a toplevel window, but a buffer has yet to be committed to the parent surface. Don't set the frame callback until the initial empty commit is done, so it will be called when the actual parent surface frame is committed.
2026-05-06 12:27:41 -04:00
Sam Lantinga
702f9d94cd Use SDL_HasWindows() 2026-05-06 09:12:10 -07:00
Michael Fitzmayer
77cd3872c4 [N-Gage] Add missing include, clean-up. 2026-05-06 17:27:12 +02:00
Michael Fitzmayer
b9da2b8d97 [N-Gage] Add Gouraud-shaded triangle rasteriser
Implement DrawGeometry using a software scanline rasteriser that fills
triangles directly into the EColor4K framebuffer. Vertices are sorted by
Y, split into upper/lower halves and filled with per-scanline edge
interpolation. Colour is stepped incrementally across each span (one
division per span edge rather than per pixel) to avoid the cost of
emulated integer division on the ARM920T.
2026-05-06 16:40:50 +02:00
misscelan
37089cf0a8 Update for N-Gage - Audio is now double buffered (#15516)
[N-Gage] Audio is now double buffered to avoid stuttering and glitches. Some audio platform specific variables were exposed through SDL_Hints. Same method was used to display FPS. N-gage functions to obtain the current buffer and screen pitch were added to the render.

Adds hints:

SDL_AUDIO_NGAGE_LATENCY
SDL_AUDIO_NGAGE_SCHEDULER_TICK
SDL_AUDIO_NGAGE_PROCESS_TICK
SDL_AUDIO_NGAGE_PROCESS_PRIORITY
SDL_RENDER_SHOW_FPS

Adds functions to get current buffer address and pitch:

void *NGAGE_GetBackbufferAddress(void);
int NGAGE_GetBackbufferPitch(void);

---------
Co-authored-by: Michael Fitzmayer <mail@michael-fitzmayer.de>
Co-authored-by: Eddy Jansson <eloj@users.noreply.github.com>
2026-05-06 16:39:23 +02:00