Go to file
Sam Lantinga 4f55271571 Removed temporary memory from the API
It was intended to make the API easier to use, but various automatic garbage collection all had flaws, and making the application periodically clean up temporary memory added cognitive load to using the API, and in many cases was it was difficult to restructure threaded code to handle this.

So, we're largely going back to the original system, where the API returns allocated results and you free them.

In addition, to solve the problems we originally wanted temporary memory for:
* Short strings with a finite count, like device names, get stored in a per-thread string pool.
* Events continue to use temporary memory internally, which is cleaned up on the next event processing cycle.
2024-07-26 20:59:14 -07:00
.github workflows: Enable building examples on GitHub Actions. 2024-07-23 01:04:05 -04:00
VisualC Fix SDL3ConfigVersion.cmake of VC development package for ARM64EC 2024-07-20 00:59:58 +02:00
VisualC-GDK GDK build: fix project settings and API changes 2024-07-25 11:35:10 +03:00
VisualC-WinRT Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
Xcode main: Move SDL_RunApp bits from src/core to src/main. 2024-07-05 08:52:25 -07:00
android-project Fix running on Android 9 and older 2024-07-25 04:41:43 -07:00
build-scripts Don't automatically free temporary memory, let the application call SDL_FreeTemporaryMemory() when it's ready. 2024-07-26 10:05:03 -07:00
cmake cmake: gate all preseeding behind SDL_PRESEED option 2024-07-25 16:42:11 +00:00
docs Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
examples examples: Use the existing CMake infrastructure instead of rolling our own. 2024-07-25 11:56:19 -04:00
include Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
mingw/pkg-support mingw: use DESTDIR to change the install location of the mingw package 2024-07-07 20:35:33 +02:00
src Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
test Removed temporary memory from the API 2024-07-26 20:59:14 -07:00
wayland-protocols video: Expose HDR metadata per-window 2024-06-20 15:55:07 -04:00
.clang-format Add 'wl_list_for_each_safe' to the clang-format macro list 2024-03-14 10:22:23 -04:00
.clang-tidy Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked 2023-08-05 14:14:45 -04:00
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore audio: Refer to audio devices to "playback" and "recording". 2024-06-15 01:08:12 -04:00
.wikiheaders-options wikiheaders: bridge wiki Category docs to the headers! 2024-05-16 11:48:23 -04:00
Android.mk Create a functional CMake project using androidbuild.sh 2024-06-18 00:11:44 +02:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
CMakeLists.txt cmake: gate all preseeding behind SDL_PRESEED option 2024-07-25 16:42:11 +00:00
CREDITS.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
INSTALL.md Updated INSTALL.md 2024-04-10 09:18:42 -04: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 Tweaking documentation for the SDL 3.0 preview release 2024-03-24 06:16:02 -07:00
WhatsNew.txt audio: Refer to audio devices to "playback" and "recording". 2024-06-15 01:08:12 -04: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. 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)