Commit Graph

20725 Commits

Author SHA1 Message Date
Sam Lantinga
4560fae07e Fail configuration if X11 dependency packages aren't available
It happens fairly often that people enable X11 support but don't install the extension libraries that SDL depends on. This makes those required if not explicitly disabled, which should help prevent accidentally broken builds.
2025-11-03 13:01:41 -08:00
Sam Lantinga
a6351ac474 Added libxtst-dev to Linux CI build dependencies 2025-11-03 13:01:41 -08:00
yuanhecai
dc5b136930 loongarch: add SDL_FillSurfaceRect4LSX opt 2025-11-03 08:45:51 -08:00
yuanhecai
0b1eb4c841 loongarch: add Blit8888to8888PixelAlphaSwizzleLSX opt 2025-11-03 08:45:51 -08:00
aikawayataro
5ad9b6b317 Add bounds checks in SDL_qsort (#10066) 2025-11-03 08:40:30 -08:00
Sam Lantinga
ea8e66ccd1 Don't use getpagesize() on Windows
Fixes https://github.com/libsdl-org/SDL/issues/14328
2025-11-03 08:36:29 -08:00
Sam Lantinga
6493be9eea Removed SDL_AUTO_ENABLE_ENHANCED_FLYDIGI 2025-11-03 08:20:41 -08:00
Joshua T. Fisher
641deb9c0e Initial port to SDL3 audio subsystem 2025-11-03 10:08:50 -05:00
Frank Praznik
05ce978e18 cocoa: Use cached viewport dimensions when querying the window pixel size
Recalculate the backing viewport dimensions in the resize handler, otherwise, this data can be out-of-sync with the logical window size if queried during transition animations.
2025-11-03 09:43:08 -05:00
Sam Lantinga
97e2951875 Removed redundant wait at shutdown in the ALSA audio driver 2025-11-02 18:30:12 -08:00
Sam Lantinga
4db63e323e Save a copy of the D3D12 semantic string
Fixes https://github.com/libsdl-org/SDL/issues/14383
2025-11-02 16:16:20 -08:00
Anonymous Maarten
63cb046d38 release: don't use legacy Android CMake toolchain file
[ci skip]
2025-11-02 23:24:51 +01:00
Sam Lantinga
0882623092 Clamp the audio drain delay to 100 ms
Fixes https://github.com/libsdl-org/SDL/issues/9829
2025-11-02 11:15:25 -08:00
Sam Lantinga
889e4787d6 Clarify when we want to auto-enable Apex 5 enhanced functionality 2025-11-02 11:14:41 -08:00
Sam Lantinga
3336aa95f1 Fixed the paddle mapping for Steam Controllers
Fixes https://github.com/libsdl-org/SDL/issues/14380
2025-11-02 10:06:49 -08:00
Sam Lantinga
b695e5c24b Fixed whitespace 2025-11-02 09:31:55 -08:00
bleeqer
fc6f97f162 Fix NULL pointer dereference in SDL_GlobStorageDirectory 2025-11-02 08:55:52 -08:00
Sam Lantinga
eb87a36940 Fixed the right touchpad calculation for the BLE Steam Controller
Fixes https://github.com/libsdl-org/SDL/issues/14368
2025-11-02 08:31:37 -08:00
Sam Lantinga
6c4f2bd83d Use DefWindowProc for the initial SDL window proc
This makes sure that anything that hooks window creation to set up window proc hooks will call DefWindowProc instead of infinitely recursing when we set up our window proc afterwards.

Fixes https://github.com/libsdl-org/SDL/issues/10529
2025-11-02 07:23:29 -08:00
Sam Lantinga
a82e8a701d Allow dynamically switching mode of the Apex 5 controller
The controller can be in XInput mode or enhanced mode, so it will always show up as an XInput controller, and the enhanced mode controller will come and go as enhanced mode is enabled or disabled in the FlyDigi Space Station app.
2025-11-01 14:49:31 -07:00
Sam Lantinga
28849fd789 Manually enable acquiring the Apex 5 controller if necessary
The FlyDigi Space Station app isn't available on non-Windows platforms, so we need to manually enable acquiring the controller on those platforms.
2025-11-01 14:49:31 -07:00
Sam Lantinga
524739900a Fixed potential double-free when creating a renderer (thanks @Sackzement!)
Closes https://github.com/libsdl-org/SDL/pull/14371
2025-11-01 11:24:14 -07:00
Sam Lantinga
aafbf7183f Copy shader params instead of caching a pointer to them
It's possible for a new texture to be allocated with the same address as a previous one, so we can't just cache the pointer value.

Fixes https://github.com/libsdl-org/SDL/issues/14369
2025-11-01 11:24:14 -07:00
Frank Praznik
3a59163614 wayland: Optimize custom cursor image lookup
Store the images in order from smallest to largest to simplify lookup and be able to early-out of the search loop even if there is no exact match for the scale.
2025-10-31 16:15:12 -04:00
Frank Praznik
6a510d6174 wayland: Set tablet cursors separately from pointer cursors
Some compositors don't implicitly use the pointer cursor when the tablet cursor is not set, and the presence of a tablet doesn't necessarily guarantee pointer capability. Set the cursor for tablet tools independently of pointer cursors.

This required refactoring of cursor state handling, as well as some tablet related structures.
2025-10-31 16:15:12 -04:00
Frank Praznik
ca569bb837 wayland: Use viewports to scale custom cursors
Cache the cursor image data at creation time, and use a viewport to render scaled custom cursors, instead of generating new cursor images for every scale.
2025-10-31 16:15:12 -04:00
Sam Lantinga
de5d8616bf Updated SDL tests XCode project 2025-10-31 10:34:42 -07:00
Sam Lantinga
d97e8bd49b Removed SDL_uikitwindow
This was only needed as a workaround for buggy behavior in iOS 8
2025-10-31 10:34:42 -07:00
Sam Lantinga
b46e26e65a Added support for the UIScene life cycle on Apple platforms
Fixes https://github.com/libsdl-org/SDL/issues/12680
2025-10-31 10:34:42 -07:00
Sam Lantinga
b6f67dd2b2 tests: add a template Info.plist that uses the whole screen
The OS uses the presence of the UILaunchScreen key to determine whether to display the application in compatibility mode or display using the whole screen.
2025-10-31 10:34:42 -07:00
Sam Lantinga
09f00e397c testsymbols: include SDL_main.h 2025-10-31 10:34:42 -07:00
Sam Lantinga
446fb65ca6 Mark the Apex 5 controller as being acquired by SDL 2025-10-30 22:35:06 -07:00
techflashYT
b3dd0995df cmake: don't auto vectorize with AltiVec on PPC
Allowing GCC/Clang to auto-vectorize with AltiVec support breaks support
for non-AltiVec compatible processors.  Adding this option allows the
existing AltiVec specific code to function as it always did, but
prevents the compiler from inserting AltiVec instructions into arbitrary
codepaths that SDL can't gate off via the existing CPUInfo code.
2025-10-30 21:56:52 -07:00
Sam Lantinga
1502c2fd8b Added support for the Flydigi Apex 5 controller (#14218) 2025-10-30 21:20:44 -07:00
Arkadiusz Hiler
0d2f081d41 pulseaudio: Match channel map to SDL's chosen order
pa_channel_map_init_auto() with PA_CHANNEL_MAP_WAVEEX does the wrong
thing as it just takes the lest significant bits of
WAVEFORMATEXTENSIBLE's dwChannelMask in order. This doesn't match SDL's
chosen channel ordering.

The implementation here mirrors what we do for PipeWire.
2025-10-30 13:32:43 -07:00
SDL Wiki Bot
45a1cfde1f Sync SDL3 wiki -> header
[ci skip]
2025-10-30 16:01:56 +00:00
Sam Lantinga
2f5279eb01 Clarify SDL_ConvertEventToRenderCoordinates() documentation
Fixes https://github.com/libsdl-org/SDL/issues/14360
2025-10-30 09:00:14 -07:00
Sam Lantinga
c21b7f8cb8 Check to see if joysticks are actually initialized in SDL_UpdateJoysticks()
Fixes https://github.com/libsdl-org/SDL/issues/14362
2025-10-30 08:53:57 -07:00
Sam Lantinga
a7147f327f Temporarily disable WASAPI device roles
Setting AudioCategory_GameChat breaks audio on several devices, including Behringer U-PHORIA UM2 and RODE NT-USB Mini. We'll disable this for now until we understand more about what's happening.
2025-10-30 07:27:23 -07:00
Simon McVittie
0773e88df5 CI: Make some important libraries mandatory on Steam Linux Runtime 3.0
This means we exercise the non-dlopen()-based code paths for these,
as used in Debian and the Steam Runtime.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2025-10-30 07:13:37 -07:00
Simon McVittie
8b64dd67d2 wayland: Fix compile with libdecor 0.2 and SDL_WAYLAND_LIBDECOR_SHARED=OFF
libdecor 0.3, which changes the signature of libdecor_new and
libdecor_decorate to use a const pointer to the interface struct, has
not yet been released. In the latest release, libdecor 0.2.4, the
interface struct is a mutable pointer.

This doesn't affect typical upstream builds with
SDL_WAYLAND_LIBDECOR_SHARED=ON, in which case we're casting a pointer
returned by dlsym(); but Linux distributions that want tighter control
over dependencies often prefer to link them in the normal way, in which
case the build will fail if the signature doesn't match.

Fixes: 33834360 "wayland: Fix libdecor incompatible pointer types"
Signed-off-by: Simon McVittie <smcv@collabora.com>
2025-10-30 07:13:37 -07:00
Sam Lantinga
d9ca0457b5 Make sure we don't allocate a TLS ID clobbering an application defined one
Fixes https://github.com/libsdl-org/SDL/issues/14359
2025-10-29 14:05:49 -07:00
Kirill Andriiashin
a76fb7b2fb Add support for GPU RGB565 (B5G6R5_UNORM) textures with DX11 (#14358) 2025-10-29 10:39:58 -07:00
Quentin Thébault
3b80fcd1a0 KMSDRM/EVDEV: add VT switching support for FreeBSD (#14346)
Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr>
2025-10-29 09:52:32 -07:00
Sam Lantinga
b3612f6462 testautomation: fixed RLE operation test on big endian systems
Fixes https://github.com/libsdl-org/SDL/issues/14348
2025-10-29 16:26:31 +00:00
Sam Lantinga
8b8c51573b Disabled incorrect 16-bit Altivec blitters 2025-10-29 16:11:25 +00:00
Sam Lantinga
84fac6ca44 testautomation: verify that RLE operation output is correct 2025-10-29 09:07:56 -07:00
Sam Lantinga
bf0752a8d7 Fixed converting RLE encoded surfaces to other formats 2025-10-29 09:06:25 -07:00
Sam Lantinga
c4cef905ae Updated internal documentation 2025-10-29 08:39:56 -07:00
Sam Lantinga
cecf4b0d4e Fixed the right shoulder button on the 8BitDo Pro 3 2025-10-28 14:55:06 -07:00