Go to file
Ryan C. Gordon 1e8b006d43 stdlib: qsort and bsearch changes.
- Always use internal qsort and bsearch implementation.
- add "_r" reentrant versions.

The reasons for always using the internal versions is that the C runtime
versions' callbacks are not mark STDCALL, so we would have add bridge
functions for them anyhow, The C runtime qsort_r/qsort_s have different
orders of arguments on different platforms, and most importantly: qsort()
isn't a stable sort, and isn't guaranteed to give the same ordering for
two objects marked as equal by the callback...as such, Visual Studio and
glibc can give different sort results for the same data set...in this
sense, having one piece of code shared on all platforms makes sense here,
for reliabillity.

bsearch does not have a standard _r version at all, and suffers from the
same SDLCALL concern. Since the code is simple and we would have to work
around the C runtime, it's easier to just go with the built-in function
and remove all the CMake C runtime tests.

Fixes #9159.
2024-03-01 08:28:12 -05:00
.github ci: update deprecated node.js 16 actions 2024-02-23 21:53:40 +01:00
VisualC Fixed building the Vulkan renderer on Windows with Visual Studio 2024-02-22 17:18:46 -08:00
VisualC-GDK camera: Add sources to Xcode and Visual Studio projects. 2024-02-20 15:56:26 -05:00
VisualC-WinRT camera: Add sources to Xcode and Visual Studio projects. 2024-02-20 15:56:26 -05:00
Xcode Added SDL_camera.h to the public Framework headers 2024-02-25 15:54:34 -08:00
android-project Added JNI native methods to proguard-rules.pro (thanks @AntTheAlchemist!) 2024-02-25 08:40:47 -08:00
build-scripts stdlib: qsort and bsearch changes. 2024-03-01 08:28:12 -05:00
cmake cmake: fix SDL_RENDER_VULKAN reporting 2024-02-26 20:37:10 +01:00
docs Sync SDL3 wiki -> header 2024-02-25 22:26:23 +00:00
include stdlib: qsort and bsearch changes. 2024-03-01 08:28:12 -05:00
mingw/pkg-support/cmake build: don't add SDL3 subfolder to include path for external projects 2022-11-27 14:33:13 -08:00
src stdlib: qsort and bsearch changes. 2024-03-01 08:28:12 -05:00
test stdlib: qsort and bsearch changes. 2024-03-01 08:28:12 -05:00
wayland-protocols wayland: Use the preferred order of displays exposed by KDE 2024-01-27 02:10:49 -05:00
.clang-format Commented out syntax that causes Visual Studio 2019 to complain on every edit 2022-12-02 00:43:01 -08:00
.clang-tidy Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked 2023-08-05 14:14:45 -04:00
.editorconfig Fixed formatting for Haiku cc files 2023-01-25 03:03:41 -08:00
.gitignore Make Xbox GDK code public (and fix some GDK code rot) (#8844) 2024-01-14 20:31:41 -08:00
.wikiheaders-options sdlwiki: SDL3 advises users to include through 'SDL3/SDL.h' 2023-03-21 02:19:19 +01:00
Android.mk camera: Rewrote Android support. 2024-02-20 15:56:26 -05:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
CMakeLists.txt stdlib: qsort and bsearch changes. 2024-03-01 08:28:12 -05:00
CREDITS.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
INSTALL.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
LICENSE.txt Updated copyright for 2024 2024-01-01 13:15:26 -08:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.md docs: Convert everything to Unix-style endlines. 2023-11-29 11:29:57 -05:00
WhatsNew.txt Added the environment variable SDL_LOGGING to control default log output 2024-01-27 19:30:22 -08:00

README.md

Simple DirectMedia Layer (SDL) Version 3.0

https://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting with README.md. If you are migrating to SDL 3.0 from SDL 2.0, the changes are extensively documented in README-migration.md.

Enjoy!

Sam Lantinga (slouken@libsdl.org)