SDL/test
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
..
android test: Add testgpu_spinning_cube_xr (#14943) 2026-02-23 11:14:19 -05:00
emscripten tests: fix test/emscripten/server.py when running without --map 2026-04-29 20:30:14 +02:00
n3ds
testgpu Added support for using the GPU renderer as an offscreen renderer 2025-10-01 23:32:18 -07:00
unix cmake: add SDLTEST_GDB option to run tests under gdb debugger printing stacktraces 2026-04-11 04:12:15 +02:00
win32 sdlprocdump: print name of module throwing exceptions 2026-02-02 00:59:20 +01:00
audiofile.png Fixed permissions 2025-10-06 17:24:56 -07:00
build-shaders.sh Added an example of fullscreen shader effects with the GPU renderer 2025-03-14 09:26:30 -07:00
checkkeys.c Enable text editing events in checkkeys 2026-05-07 09:57:08 -07:00
childprocess.c [Process API] Quoting enhancements (#12946) 2025-05-12 09:17:21 -07:00
CMakeLists.txt Add DOS platform support (DJGPP) (#15377) 2026-04-23 19:54:49 -04:00
COPYING
gamepad_axis.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_axis.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_axis_arrow.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_axis_arrow.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_back.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_back.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_battery.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_battery.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_battery_unknown.h
gamepad_battery_unknown.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_battery_wired.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_battery_wired.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_button.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_button.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_button_background.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_button_background.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_button_small.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_button_small.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_face_abxy.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_face_abxy.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_face_axby.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_face_axby.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_face_bayx.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_face_bayx.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_face_sony.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_face_sony.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_front.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_front.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_touchpad.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_touchpad.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_wired.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_wired.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_wireless.h Fixed permissions 2025-10-06 17:24:56 -07:00
gamepad_wireless.png Fixed permissions 2025-10-06 17:24:56 -07:00
gamepadutils.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
gamepadutils.h Updated copyright for 2026 2026-01-01 09:40:08 -08:00
glass.h Fixed permissions 2025-10-06 17:24:56 -07:00
glass.png Use PNG files for tests and examples 2025-10-06 16:45:53 -07:00
icon.h Fixed permissions 2025-10-06 17:24:56 -07:00
icon.png Fixed permissions 2025-10-06 17:24:56 -07:00
icon2x.png Fixed permissions 2025-10-06 17:24:56 -07:00
LICENSE.txt Updated copyright for 2026 2026-01-01 09:40:08 -08:00
logaudiodev.png Fixed permissions 2025-10-06 17:24:56 -07:00
loopwave.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
main.cpp
moose.dat
msdf_font.csv windows: Fix stale zoom/iconic state in WM_WINDOWPOSCHANGED handler 2025-04-25 16:21:44 -07:00
msdf_font.png Fixed permissions 2025-10-06 17:24:56 -07:00
physaudiodev.png Fixed permissions 2025-10-06 17:24:56 -07:00
picture.xbm
pretest.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
relative_mode.markdown Removed SDL_bool in favor of plain bool 2024-09-18 08:32:30 -07:00
sample.png Fixed permissions 2025-10-06 17:24:56 -07:00
sample.wav
sdl-test_round.png Fixed permissions 2025-10-06 17:24:56 -07:00
soundboard.png Fixed permissions 2025-10-06 17:24:56 -07:00
soundboard_levels.png Fixed permissions 2025-10-06 17:24:56 -07:00
speaker.png Fixed permissions 2025-10-06 17:24:56 -07:00
sword.wav examples/audio/04-multiple-streams: Remove drag-and-drop support. 2024-12-10 23:10:43 -05:00
template.test.in build: Fix testprocess invocation during "as-installed" tests 2024-09-25 14:48:26 -07:00
testasyncio.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testatomic.c Shifting a number into the sign bit of a signed integer is UB 2026-04-02 21:25:41 +02:00
testaudio.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testaudiohotplug.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testaudioinfo.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testaudiorecording.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testaudiostreamdynamicresample.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testautomation.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testautomation_audio.c isfinite is not available on all platforms, so add a bitmasking alternative 2025-12-08 20:48:47 +01:00
testautomation_blit.c Fixed build warning 2025-09-22 11:27:23 -07:00
testautomation_clipboard.c testautomation: use the correct return type for clipboard APIs 2025-09-21 23:27:59 -07:00
testautomation_events.c tests: Flush events after an SDL_WaitEvent() call 2025-09-19 12:36:59 -04:00
testautomation_guid.c
testautomation_hints.c tests: port failing SDL_Hint tests from pysdl2 to testautomation 2025-04-01 21:31:10 +02:00
testautomation_images.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testautomation_images.h Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testautomation_intrinsics.c Avoid unaligned memory access while testing SSE4.2 CRC intrinsics 2026-04-02 21:25:41 +02:00
testautomation_iostream.c iostream: Properly support the "x" mode for SDL_IOFromFile() 2025-10-06 13:23:42 -07:00
testautomation_joystick.c Try matching gamepad mappings with CRC first 2025-10-14 10:30:03 -07:00
testautomation_keyboard.c testautomation keyboard: use space instead of a 2024-11-08 07:01:50 -08:00
testautomation_log.c Added SDL_LogTrace() 2024-09-17 02:04:54 -07:00
testautomation_main.c tests: include SDL_build_config.h when HAVE_BUILD_CONFIG is defined 2024-12-29 20:08:06 +01:00
testautomation_math.c conditional expression is constant 2026-02-08 09:38:35 -08:00
testautomation_mouse.c test: Fix mouse focus test on X11 2024-10-10 11:37:45 -04:00
testautomation_pixels.c Use PNG files for tests and examples 2025-10-06 16:45:53 -07:00
testautomation_platform.c Removed SDL_bool in favor of plain bool 2024-09-18 08:32:30 -07:00
testautomation_properties.c Removed SDL_bool in favor of plain bool 2024-09-18 08:32:30 -07:00
testautomation_rect.c emscripten tests: fix warning: uninitialized variable 2025-08-13 17:00:45 -07:00
testautomation_render.c Loosened epsilon for color matching 2025-11-15 16:51:19 -08:00
testautomation_sdltest.c fix integer overflow ub in testautomation_sdltest 2025-01-06 13:18:03 -05:00
testautomation_stdlib.c conditional expression is constant 2026-02-08 09:38:35 -08:00
testautomation_subsystems.c Verify that the subsystems were successfully initialized 2024-09-15 12:04:10 -07:00
testautomation_suites.h isfinite is not available on all platforms, so add a bitmasking alternative 2025-12-08 20:48:47 +01:00
testautomation_surface.c Fix warnings: extra semi - spurious (#15014) 2026-02-09 11:48:58 -08:00
testautomation_time.c Removed SDL_bool in favor of plain bool 2024-09-18 08:32:30 -07:00
testautomation_timer.c Removed SDL_bool in favor of plain bool 2024-09-18 08:32:30 -07:00
testautomation_video.c variable conditionally uninitialized 2026-02-08 09:35:07 -08:00
testbounds.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testcamera.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testclipboard.c tests: Don't try to load unsupported image types in testclipboard 2026-01-14 11:00:50 -05:00
testcolorspace.c testcolorspace: fixed color check when output is linear colorspace with 8-bit precision 2026-04-07 14:05:51 -07:00
testcontroller.c tests: Fix unreachable code warnings (#14993) 2026-02-07 20:42:59 +03:00
testcustomcursor.c Support the full set of standard CSS cursors 2026-05-13 20:24:44 -07:00
testdialog.c test: use SDL_test for event handling 2026-04-14 02:46:42 +02:00
testdisplayinfo.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testdlopennote.c dlnote: embed trailing semicolon in SDL_ELF_NOTE_DLOPEN macro 2025-12-24 23:45:50 +03:00
testdraw.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testdrawchessboard.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testdropfile.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testerror.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testevdev.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testffmpeg.c Fixed memory leak in testffmpeg EGL codepath 2026-01-28 08:20:44 -08:00
testffmpeg_vulkan.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testffmpeg_vulkan.h Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testfile.c Add DOS platform support (DJGPP) (#15377) 2026-04-23 19:54:49 -04:00
testfilesystem.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testgeometry.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testgl.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testgles.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testgles2.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testgpu_simple_clear.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testgpu_spinning_cube.c annotate no return 2026-02-07 18:10:02 +03:00
testgpu_spinning_cube_xr.c test: Add testgpu_spinning_cube_xr (#14943) 2026-02-23 11:14:19 -05:00
testgpurender_effects.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testgpurender_effects_CRT.frag.dxil.h testgpurender_effects: use the grayscale algorithm from BT.709 2025-09-26 10:27:10 -07:00
testgpurender_effects_CRT.frag.hlsl Added an example of fullscreen shader effects with the GPU renderer 2025-03-14 09:26:30 -07:00
testgpurender_effects_CRT.frag.msl.h testgpurender_effects: use the grayscale algorithm from BT.709 2025-09-26 10:27:10 -07:00
testgpurender_effects_CRT.frag.spv.h testgpurender_effects: use the grayscale algorithm from BT.709 2025-09-26 10:27:10 -07:00
testgpurender_effects_grayscale.frag.dxil.h testgpurender_effects: use the grayscale algorithm from BT.709 2025-09-26 10:27:10 -07:00
testgpurender_effects_grayscale.frag.hlsl testgpurender_effects: use the grayscale algorithm from BT.709 2025-09-26 10:27:10 -07:00
testgpurender_effects_grayscale.frag.msl.h testgpurender_effects: use the grayscale algorithm from BT.709 2025-09-26 10:27:10 -07:00
testgpurender_effects_grayscale.frag.spv.h testgpurender_effects: use the grayscale algorithm from BT.709 2025-09-26 10:27:10 -07:00
testgpurender_msdf.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testgpurender_msdf.frag.dxil.h testgpurender_effects: use the grayscale algorithm from BT.709 2025-09-26 10:27:10 -07:00
testgpurender_msdf.frag.hlsl Added support for custom shaders with the GPU renderer 2025-03-14 09:26:30 -07:00
testgpurender_msdf.frag.msl.h Added support for custom shaders with the GPU renderer 2025-03-14 09:26:30 -07:00
testgpurender_msdf.frag.spv.h Added support for custom shaders with the GPU renderer 2025-03-14 09:26:30 -07:00
testhaptic.c CodeSpell 2026-02-07 18:14:00 +03:00
testhittesting.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testhotplug.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testiconv.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testime.c testime: use the correct properties when enabling text input 2026-04-27 10:54:03 -07:00
testintersections.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testkeys.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testloadso.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testlocale.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testlock.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testmanymouse.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testmessage.c CodeSpell 2026-02-07 18:14:00 +03:00
testmodal.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testmouse.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testmultiaudio.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testnative.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testnative.h Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testnativecocoa.m
testnativew32.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testnativewayland.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testnativex11.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testoffscreen.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testoverlay.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testpalette.c Fix warning: strict prototypes (#14992) 2026-02-07 07:38:59 -08:00
testpen.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testplatform.c Add SVE2 SIMD Alpha-Blending Blitter (#15504) 2026-05-13 23:37:46 -07:00
testpopup.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testpower.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testprocess.c tests: Fix unreachable code warnings (#14993) 2026-02-07 20:42:59 +03:00
testqsort.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testrelative.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testrendercopyex.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testrendertarget.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testresample.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testrotate.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testrumble.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testrwlock.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testscale.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testsem.c Add DOS platform support (DJGPP) (#15377) 2026-04-23 19:54:49 -04:00
testsensor.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testshader.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testshape.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testsoftwaretransparent.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testsprite.c Reverted unintended testsprite changes 2026-02-02 16:00:49 -08:00
testspriteminimal.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testspritesurface.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testsurround.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testsymbols.c render: Add Suspend/Resume calls for GDK support 2026-03-07 11:19:09 -05:00
testthread.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testtime.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testtimer.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testtray.c test: Render a blank window in testtray 2026-04-11 10:11:43 -04:00
testurl.c misc: Use the OpenURI D-Bus portal for opening URLs 2026-04-05 16:31:50 -04:00
testutils.c Add DOS platform support (DJGPP) (#15377) 2026-04-23 19:54:49 -04:00
testutils.h Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testver.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testviewport.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testvulkan.c Fix compile error in MSVC 19.29 2026-02-28 22:41:30 +01:00
testwaylandcustom.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testwm.c Support the full set of standard CSS cursors 2026-05-13 20:24:44 -07:00
testyuv.c testyuv: make test params static const 2026-04-02 21:25:41 +02:00
testyuv.png Fixed permissions 2025-10-06 17:24:56 -07:00
testyuv_cvt.c Updated copyright for 2026 2026-01-01 09:40:08 -08:00
testyuv_cvt.h Updated copyright for 2026 2026-01-01 09:40:08 -08:00
torturethread.c Add DOS platform support (DJGPP) (#15377) 2026-04-23 19:54:49 -04:00
trashcan.png Fixed permissions 2025-10-06 17:24:56 -07:00
unifont-15.1.05-license.txt
unifont-15.1.05.hex
utf8.txt