Simple DirectMedia Layer https://libsdl.org
Find a file
Gabriel Wang 0f175891a6
Add SVE2 SIMD Alpha-Blending Blitter (#15504)
SVE/SVE2 is a new SIMD extension for AArch64. Compared to NEON, SVE/SVE2 brings the following benefits that are good for SDL projects:

- Lane prediction: we don't have to treat the tail part of a stride separately when the width is n times the hardware vector size
- Although the performance is almost no difference from NEON when the hardware vector size is 128bits, when the hardware provides a longer vector size, e.g. 256, 512, ... 2048, we can enjoy the large performance gain without modifying the source code or recompiling a library.

The functional correctness is validated in a dedicated [qemu project](https://github.com/GorgonMeducer/aarch64_qemu_mac_template/tree/SDL-SVE2-Acceleration-Validation).

The performance is tested on [Radxa Orion 6 N](https://radxa.com/products/orion/o6n/), which provides 4x A720 and 4x A520 processors. Since the vector size is 128 bits, which is the same as NEON, the performance is almost the same (or no worse than) the NEON acceleration.
2026-05-13 23:37:46 -07:00
.github ci: bump actions, switch away from ilammy/msvc-dev-cmd 2026-05-10 22:54:25 +02:00
android-project Support the full set of standard CSS cursors 2026-05-13 20:24:44 -07:00
build-scripts Add DOS platform support (DJGPP) (#15377) 2026-04-23 19:54:49 -04:00
cmake cmake/sdlcpu: detect mips 2026-05-05 22:48:39 +02:00
docs Add libusb-1.0-0-dev to Linux deps doc 2026-05-13 18:35:56 -07:00
examples Fix potential leak in camera example 2026-04-21 07:27:58 -04:00
include Add SVE2 SIMD Alpha-Blending Blitter (#15504) 2026-05-13 23:37:46 -07:00
src Add SVE2 SIMD Alpha-Blending Blitter (#15504) 2026-05-13 23:37:46 -07:00
test Add SVE2 SIMD Alpha-Blending Blitter (#15504) 2026-05-13 23:37:46 -07:00
VisualC testtray: created VS project and added new click callbacks 2026-02-05 11:08:05 -08:00
VisualC-GDK gdk: Update Suspend/Resume best practices. 2026-03-07 11:19:09 -05:00
wayland-protocols revert parts of CodeSpell commit d870911202 from 3rd party sources 2026-05-13 18:00:02 +03:00
Xcode Added curved window mode on visionOS 26 (#15298) 2026-05-12 16:48:06 -07:00
.clang-format Add CHECK_PARAM as a conditional macro in clang-format 2026-04-03 11:47:41 -04:00
.clang-tidy
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore Updated .gitignore for png test data 2025-10-10 08:59:27 -07:00
.wikiheaders-options wikiheaders: Generate a current list of supported environment variables. 2025-09-02 15:49:52 -04:00
AGENTS.md AGENTS.md: Change "may not" to "must not". 2026-04-15 17:26:54 -04:00
Android.mk Add SVE2 SIMD Alpha-Blending Blitter (#15504) 2026-05-13 23:37:46 -07:00
BUGS.txt Added a Discord link to BUGS.txt 2025-01-13 16:42:50 -08:00
CLAUDE.md CLAUDE.md: Just copy the text from AGENTS.md in here for now. 2026-04-16 13:51:49 -04:00
CMakeLists.txt Add SVE2 SIMD Alpha-Blending Blitter (#15504) 2026-05-13 23:37:46 -07:00
CREDITS.md Updated the credits for SDL 3.0 2025-01-13 16:42:50 -08:00
INSTALL.md Add a link to docs/INTRO-mingw.md 2025-03-06 16:25:17 -08:00
LICENSE.txt Updated copyright for 2026 2026-01-01 09:40:08 -08:00
README.md Revert "Update README.md" 2025-11-16 01:15:10 +03:00
WhatsNew.txt Added SDL_HINT_MOUSE_DPI_SCALE_CURSORS 2025-12-09 17:12:08 -08:00

Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multi-media software, such as games and emulators.

You can find the latest release and additional information at: https://www.libsdl.org/

Installation instructions and a quick introduction is available in INSTALL.md

This library is distributed under the terms of the zlib license, available in LICENSE.txt.

Enjoy!

Sam Lantinga (slouken@libsdl.org)