Commit Graph

12943 Commits

Author SHA1 Message Date
Anonymous Maarten
28ea4a8e31 surface: verify surface palette in SDL_Save(BMP|PNG) before hitting the FS 2026-02-03 09:31:57 -08:00
Ryan C. Gordon
bb6ced6fc0 emscripten: Cleanup some wasm32/wasm64 ifdefs.
Fixes #14066.
2026-02-02 19:21:42 -05:00
Ryan C. Gordon
7d093940a7 emscripten: Unify creation of Module['SDL3'] in at SDL_Init time. 2026-02-02 19:21:42 -05:00
Sam Lantinga
b5206909a7 Fixed the GameCube Controller Adapter showing up twice on macOS 2026-02-02 15:53:23 -08:00
Sam Lantinga
cdffbdfeaf Fixed handling GameCube adapters in PC mode on Linux and macOS
On Windows there is a separate HIDAPI device for each slot. On Linux and macOS, there is a single HIDAPI device and the slot is included in the report.
2026-02-02 15:44:44 -08:00
Cameron Cawley
12f97dbc97 egl: Make GLESv1 and v2 shared objects optional 2026-02-02 14:09:17 -08:00
Ryan C. Gordon
8c0ac97b0d wgl: Added debug code for sRGB issues. 2026-02-02 17:03:22 -05:00
Evan Hemsley
e25e0f3c5b GPU: Allow D3D12 backend to load vendored D3D12Core.dll (#14946)
---------

Co-authored-by: Ethan Lee <flibitijibibo@gmail.com>
2026-02-02 11:10:03 -08:00
Sam Lantinga
4970067c9a Use SDL_PixelFormat appropriately 2026-02-02 09:46:13 -08:00
eleir9268
a029709f68 QNX: support Wayland backend. (#14950)
Co-authored-by: Aaron Bassett <abassett@qnx.com>
Co-authored-by: Felix Xing <fxing@qnx.com>
2026-02-02 09:02:31 -08:00
Aaron Benjamin
1f7db1ebcf Improve OpenXR loader error messages
When the OpenXR loader library fails to load, provide a detailed error
message explaining:
- On Windows: need openxr_loader.dll in app directory or PATH
- On Linux: install libopenxr-loader package or set LD_LIBRARY_PATH
- Can use SDL_HINT_OPENXR_LIBRARY hint to specify path

Also update D3D12 backend to include the error in its warning log,
and remove redundant SDL_SetError in Vulkan backend that was
overwriting the detailed message.
2026-02-02 10:31:59 -05:00
Ethan Lee
5640647e14 render: D3D12 Xbox buildfixes 2026-02-02 10:10:08 -05:00
Anonymous Maarten
d26fef415e SDL_test: add --no-time option to not log times
Combining this new option with a known seed hash allows easy diff-ing between runs
2026-02-01 23:30:51 +01:00
Ethan Lee
e8065ad9a0 gpu: Update the CHECK_DEVICE_MAGIC comments one more time.
Me fail English? That's unpossible!
2026-02-01 14:02:58 -05:00
Ethan Lee
415cc64d2f gpu: Update comments above CHECK_DEVICE_MAGIC macro 2026-02-01 13:54:27 -05:00
Cameron Gutman
4743f97c39 Fix invalidation of bound textures/shaders across a renderer flush on D3D9 2026-01-31 17:17:07 -08:00
Lucas Murray
a0dc3a6727 GPU: Fix memory leak when creating D3D12 compute pipelines 2026-01-31 16:23:04 -05:00
Caleb Cornett
742a6fd092 GPU: Query UnrestrictedBufferTextureCopyPitchSupported to avoid D3D12 realignment copies 2026-01-31 16:22:32 -05:00
Ryan C. Gordon
4df13e8806 asyncio: don't report failures on closing read-only files with Windows IoRing.
We still need the task to go through the IoRing, even though the flush
operation we use to get it there will always fail on a read-only file. So
check for this specific case and don't report failure.

Fixes #14878.
2026-01-31 13:27:19 -05:00
Ethan Lee
fe8b68db60 gpu: Rank dzn above lavapipe, for WSL Vulkan support 2026-01-31 08:34:47 -05:00
Cameron Gutman
e3c9ec7b67 gamepad: Accept older 'Mac OS X' mappings on macOS 2026-01-30 18:12:17 -06:00
eleir9268
f4a541682a Up-to-date QNX support (#14806)
Co-authored-by: Roberto Speranza <rsperanza@qnx.com>
Co-authored-by: Darcy Phipps <dphipps@qnx.com>
Co-authored-by: Pierce McKinnon <pimckinnon@qnx.com>
2026-01-30 15:32:43 -08:00
Aaron Benjamin
9a91d7236a GPU: OpenXR integration (#14837)
Based on Beyley's initial draft in #11601.

Co-authored-by: Beyley Cardellio <ep1cm1n10n123@gmail.com>
Co-authored-by: Ethan Lee <flibitijibibo@gmail.com>
2026-01-30 17:18:51 -05:00
Henrique Jorge Barateli
8fa8c331a5 Fixed PS2 joystick analog sticks not enabled 2026-01-30 12:17:26 -08:00
Eddy Jansson
23fec649c2 Fix typos in comments. 2026-01-30 07:25:02 -08:00
Ethan Lee
db9676875e gpu: MSVC buildfix for Vulkan device property struct initialization 2026-01-30 09:40:24 -05:00
Ethan Lee
ad70aac0db gpu: Check for Vulkan conformance while checking the device rank.
This should behave largely the same, except now Dozen is given a pass for WSL.

This is a better fix for #14915.
2026-01-30 09:20:26 -05:00
Sam Lantinga
e3e8adcb76 Added SDL_TryLockJoysticks() 2026-01-29 16:15:51 -08:00
Sam Lantinga
5f0c889082 Fixed macOS build when video is disabled
Fixes https://github.com/libsdl-org/SDL/issues/14912
2026-01-29 14:29:46 -08:00
Sam Lantinga
696c12826f Reference count window claim calls for a given GPU device
Fixes https://github.com/libsdl-org/SDL/issues/14918
2026-01-29 14:05:00 -08:00
Ethan Lee
a4fa04f2d4 gpu: Vulkan should fail if the best device is non-conformant 2026-01-29 14:41:34 -05:00
Sam Lantinga
58c30a4451 Fixed typo 2026-01-28 13:43:28 -08:00
Sam Lantinga
0f10f81b3b Fixed the 8BitDo Ultimate 2 Wireless for PC controller showing up twice on macOS 2026-01-28 13:37:38 -08:00
Wouter Wijsman
c1e715439a Fix PSP_QueueGeometry funcion rendering some textures too small 2026-01-28 07:39:04 -08:00
Sam Lantinga
3aa3a357fc Fixed the 8BitDo Ultimate 2 Wireless controller showing up twice on macOS
Fixes https://github.com/libsdl-org/SDL/issues/14902
2026-01-27 14:40:35 -08:00
Sam Lantinga
1fe6bf4982 Fixed the NVIDIA SHIELD Controller showing up twice on macOS
Fixes https://github.com/libsdl-org/SDL/issues/14911
2026-01-27 13:52:06 -08:00
Sam Lantinga
72343b9ee2 Fixed hang sending output reports to the NVIDIA SHIELD Controller on macOS 2026-01-27 13:51:16 -08:00
Sam Lantinga
cae2a28f5b Fixed unaligned access in NVIDIA SHIELD Controller driver
Also refactored the LOAD16() and LOAD32() macros into SDL_hidapijoystick_c.h
2026-01-27 11:25:38 -08:00
Sam Lantinga
dd53ecbce8 Fixed Steam Controller battery state 2026-01-27 09:53:04 -08:00
Nintorch
90dabda3b4 Add support for joystick LED for Switch controllers
Co-Authored-By: Thiago Lelles Fernandes <125714191+thilelito@users.noreply.github.com>
2026-01-27 09:45:23 -08:00
Anonymous Maarten
ac4f852a6a stb_image: use SDL_TARGETING("sse2") macro for supporting intrinsics on 386 2026-01-25 18:34:10 +01:00
Anonymous Maarten
0457891d50 stb_image: use SDL_HasSSE2 and <SDL3/SDL_intrin.h> macro's for SSE2 detection 2026-01-25 18:34:10 +01:00
Sam Lantinga
a929eb71b3 Set SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN for the GPU renderer 2026-01-25 09:14:29 -08:00
Sam Lantinga
17c375738f Add the type to SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1 2026-01-25 09:12:15 -08:00
Ethan Lee
16f2037efd gpu: Add SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1 property 2026-01-25 09:09:08 -08:00
Madeline Whitmore
97b177c92f SDL GPU: Fix features not being enabled with Vulkan 1.1 (#14885)
Use pre-Vulkan 1.2 structs to request features from a Vulkan 1.1 instance.
2026-01-25 08:18:57 -08:00
Eddy Jansson
248223592a More prefer SDL_zero*()
Transform clearing of arrays into SDL_zeroa(), and
clearing through a T* with size(T) into SDL_zerop().

Extends commit 83fb7b6636.
2026-01-23 16:02:16 -08:00
Eddy Jansson
83fb7b6636 Prefer SDL_zero()/SDL_zerop()
Replace uses of 'SDL_memset(E, 0, sizeof(E))' and similar
with the SDL_zero()/SDL_zerop() macros.
2026-01-23 11:23:27 -08:00
Sam Lantinga
fe403220f0 Don't load libdecor if SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR is false
Fixes https://github.com/libsdl-org/SDL/issues/14887
2026-01-23 11:20:26 -08:00
Frank Praznik
79b40ad397 wayland: Don't try to set the seat cursor when no pointer object exists 2026-01-23 09:02:42 -05:00