Commit Graph
100 Commits
Author SHA1 Message Date
Anonymous Maarten 26df689935 docs: expand CMake documentation + add minimal CMake project for reporting issues 2023-06-16 14:21:38 +02:00
Anonymous Maarten 76a919d458 cmake: don't force enable/disable SDL_HIDAPI_LIBUSB
Use CMakeDependentOption instead to configure SDL_HIDAPI_LIBUSB to a okay-ish variable.
2023-05-28 03:27:20 +02:00
Anonymous Maarten 860e52c99e windows: SDL_Delay expects a 32-bit integer 2023-05-27 02:12:59 +02:00
Anonymous Maarten 13a6a72b88 windows: SDL_GetTicks64 -> SDL_GetTicks 2023-05-27 02:02:46 +02:00
Anonymous Maarten b4291412a4 tests: build tests with C90 standard
C90 mode is disabled for:
- testautomation: use of isnan/isfinite
- testlock: use of kill
- testvulkan: use of c++ style strings in vulkan.h
2023-05-27 01:49:07 +02:00
Anonymous Maarten 5b5b67df20 wayland: don't use libdecor_frame_get_* functions when header doesn't have it
and we're statically linking to the library.
This fixes building SDL with -DSDL_WAYLAND_SHARED=OFF
2023-05-27 01:25:27 +02:00
Anonymous Maarten c810e5f63d video: set error code when SetWindowPosition fails 2023-05-05 17:50:32 +02:00
Anonymous Maarten 72e5a52c51 ci: use Haiku cross toolchain
A cross compiler is much faster then an emulated one.
2023-05-04 08:26:54 -04:00
Anonymous Maarten fe68fd3af9 ci: disable pull_request trigger for haiku 2023-05-04 05:15:10 +02:00
Anonymous Maarten c721155b89 cmake: prepend generated wayland protocol include path 2023-04-05 08:58:12 -04:00
Anonymous Maarten ac72cdcf79 Fix -Wmissing-prototypes warning
./src/video/SDL_video.c:1734:13: warning: no previous prototype for function 'SDL_CreateWindowInternal' [-Wmissing-prototypes]
SDL_Window *SDL_CreateWindowInternal(const char *title, int x, int y, int w, int h, SDL_Window *parent, Uint32 flags)
            ^
./src/video/SDL_video.c:1734:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
SDL_Window *SDL_CreateWindowInternal(const char *title, int x, int y, int w, int h, SDL_Window *parent, Uint32 flags)
^
static
2023-04-05 05:39:48 +02:00
Anonymous Maarten 029e61a07e cmake: split SDL_NEON into SDL_NEON and SDL_NEON_BLITTERS 2023-04-04 15:55:02 -07:00
Anonymous Maarten b6ae281e97 Use #ifdef/#ifndef instead of #if defined/#if \!defined 2023-03-30 21:35:01 +00:00
Anonymous Maarten c82cca0494 ci: use loongson official cross toolchains 2023-03-30 05:15:28 +02:00
Anonymous Maarten eed266d266 SDL_syshaptic.c and SDL_sysjoystick.c need string.h for strerror 2023-03-30 04:19:43 +02:00
Anonymous Maarten cf8899ec94 cmake: allow HAVE_LINUX_INPUT_H with !defined(HAVE_LIBC) 2023-03-30 04:19:36 +02:00
Anonymous Maarten b99f380498 intrinsics: add lsx/lasx intrinsic headers when not disabled
__attribute__((target(xx))) is not supported by LoongArch64.
The following warning is emitted:
target attribute is not supported on this machine [-Wattributes]
2023-03-30 04:00:48 +02:00
Anonymous Maarten 94bca5a2a3 ci: add loongarch64 workflow 2023-03-30 03:24:52 +02:00
Anonymous Maarten 0c3777d566 video: fix warnings about unused variables when building without duff's loop 2023-03-28 16:59:27 +00:00
Anonymous Maarten 11c70406c3 testautomation_audio: fix -Wimplicit-fallthrough warning 2023-03-28 16:59:27 +00:00
Anonymous Maarten f7961b7c9a video/blit: fix -Wimplicit-fallthrough warnings 2023-03-28 16:59:27 +00:00
Anonymous Maarten e1b8a03239 testsurround: fix channel names
Used table in include/SDL3/SDL_audio.h as reference.
2023-03-28 16:59:27 +00:00
Anonymous Maarten cb076b83ff cmake: fix testnative for Macos 2023-03-28 04:01:50 +02:00
Anonymous Maarten 1259a60731 cmake: build tests as library on Android 2023-03-28 01:30:55 +02:00
Anonymous Maarten b8b852a55b cmake: testnative can also be built on non-Linux 2023-03-28 00:43:54 +02:00
Anonymous Maarten 9ada9daf51 SDL_blit_copy: Don't call potentially FPU using SDL_memcpy in SDL_memcpyMMX 2023-03-27 06:12:49 +00:00
Anonymous Maarten 37c9329db2 cmake: rename SDL_AVX512 -> SDL_AVX512F cmake option 2023-03-27 06:12:49 +00:00
Anonymous Maarten 8789729b4a cpuinfo: update \sa's of SDL_HasXXX functions 2023-03-27 06:12:49 +00:00
Anonymous Maarten b0a5182e84 Sunset SDL_HasRDTSC 2023-03-27 06:12:49 +00:00
Anonymous Maarten 513025b182 Implement _intel_fast_(memcpy|memset)
The classic Intel compiler generates calls to these functions when
building the SDL library with SDL_LIBC=OFF.
2023-03-27 06:12:49 +00:00
Anonymous Maarten 99a799ad8b cmake: add /Q_no-use-libirc flag when building a no-libc library
The new Intel LLVM compiler needs this when building SDL3
in release mode.
2023-03-27 06:12:49 +00:00
Anonymous Maarten 46f5c1fe6a Move and rename SDL_rdtsc macro to testautomation 2023-03-27 06:12:49 +00:00
Anonymous Maarten a06046c55c memset and memcpy are not intrinsic functions in new LLVM-based Intel compiler 2023-03-27 06:12:49 +00:00
Anonymous Maarten 4be82202de cmake: new LLVM based Intel compiler does not recognize MSVC's /MP 2023-03-27 06:12:49 +00:00
Anonymous Maarten 51d96a1680 cmake: increase threshold for stack probes
The /Gs argument controls the number of bytes that local variables
can occupy before a stack probe is initiated.
By setting it to a huge value, no calls to __chkstk are inserted.

This change is needed for the classic Intel C compiler to build SDL
with -DSDL_LIBC=OFF.
2023-03-27 06:12:49 +00:00
Anonymous Maarten 095d4b1ffc byteswap: Don't use intrinsic byteswap functions with Intel C compiler
It reroutes intrinsic _byteswap_u(short|long|int64) call to libc function.
2023-03-27 06:12:49 +00:00
Anonymous Maarten 09832c701c cpuinfo: use __cpuidex instead of __cpuid
The classic Intel Compiler does not clear the ecx register prior
to executing the cpuid opcode.
2023-03-27 06:12:49 +00:00
Anonymous Maarten 904e4a6e7c ci: reduce amount of data copied back from VM in FreeBSD action
By reducing the amount of data to be copied back from the VM to the host,
we hope that the chance on failure is reduced.
2023-03-27 06:12:49 +00:00
Anonymous Maarten e66f4fa71c ci: test with (old) Intel compiler + (new) oneAPI compiler 2023-03-27 06:12:49 +00:00
Anonymous Maarten d392ce516a testautomation_math: avoid equality tests with INFINITY
Fixes this warning:
 warning: comparison with infinity always evaluates to false in fast floating point modes [-Wtautological-constant-compare]
2023-03-27 06:12:49 +00:00
Anonymous Maarten 29e19bf829 cmake: disable warnings in libm + warning about EMMS instruction
SDL_BlitCopyMMX ends with _mm_empty(), so the MMX state should be emptied.

(_mm_empty is the intrinsic function for emms)
2023-03-27 06:12:49 +00:00
Anonymous Maarten 345d1cd355 cmake: add support for building with Intel C compiler 2023-03-27 06:12:49 +00:00
Anonymous Maarten 97c3077678 cmake: detect rdtsc in CMake 2023-03-27 06:12:49 +00:00
Anonymous Maarten e2f51bf38e SDL_intrin.h: add SDL_rdtsc macro 2023-03-27 06:12:49 +00:00
Anonymous Maarten 749f3ebd14 Fix arguments of SDL_BlitCopyMMX 2023-03-24 02:18:06 +01:00
Anonymous Maarten c30903882b cmake+tests: include SDL_build_config.h in select tests + add include paths 2023-03-21 23:03:02 +03:00
Anonymous Maarten 0bd5ce13db cmake: add underscore in SSE4_1 and SSE4_2 options 2023-03-21 23:03:02 +03:00
Anonymous Maarten 5775d5e112 Add intrinsics test automation 2023-03-21 23:03:02 +03:00
Anonymous Maarten cb46cbe684 include: include intrinsics headers for RDTSC SSE4.1 and SSE4.2 2023-03-21 23:03:02 +03:00
Anonymous Maarten 905b892314 cmake: simplify mmx/sse/sse2/avx compiler support detection 2023-03-21 23:03:02 +03:00
Anonymous Maarten 6a9e2495f0 docs: add general information on how to build optimized binaries 2023-03-21 23:03:02 +03:00
Anonymous Maarten b5b9ddb205 SDL_intrin.h: define SDL_<simd>_INTRINSICS in user-visible header 2023-03-21 23:03:02 +03:00
Anonymous Maarten cd7a3f8af5 cmake: generate and install man pages 2023-03-21 02:19:19 +01:00
Anonymous Maarten 70edd54835 sdlwiki: SDL3 advises users to include through 'SDL3/SDL.h' 2023-03-21 02:19:19 +01:00
Anonymous Maarten 77b8edb5ad wikiheaders.pl: add --manpath argument 2023-03-21 02:19:19 +01:00
Anonymous Maarten 81ca9d61d6 cmake+test: add more automated tests + use properties 2023-03-21 02:19:19 +01:00
Anonymous Maarten 115460a930 torturethread: sleep a bit in SubThreadFunc to avoid starvation
testtorture, built by MinGW from msys2, got blocked indefinitely.
2023-03-21 02:19:19 +01:00
Anonymous Maarten 6a9c692bb9 testsem: don't re-parse positional argument twice 2023-03-21 02:19:19 +01:00
Anonymous Maarten abfc2a01ca ci: disable parallel building for ps2
The ps2 builds were flaky.

https://github.com/ps2dev/ps2dev/issues/67
2023-03-21 02:19:19 +01:00
Anonymous Maarten 38219e08d9 ci: increase memory size of vmactions workflow
By default, the VM gets 1024MiB. https://github.com/vmactions/freebsd-vm/issues/28 suggests to increase it.
2023-03-21 02:19:19 +01:00
Anonymous Maarten 773aad14f8 cmake: Fix building without libsamplerate library
On Fedora, the headers for 32-bit and 64-bit are shared.
When building a 32-bit library, CMake found the header (that was installed
for the 64-bit libsamplerate development package). Because no 32-bit libsamplerate
library was installed, linking failed. (SDL_LIBSAMPLERATE_DYNAMIC was set to FALSE
because CMake could not find a library)
2023-03-20 05:34:41 +01:00
Anonymous Maarten 4a6528e3f0 testprograms: parse arguments using SDLTest_CommonState 2023-03-17 17:54:16 +01:00
Anonymous Maarten 8bea41f737 testthread: parse arguments using SDLTest_CommonState + add arguments 2023-03-17 17:54:16 +01:00
Anonymous Maarten 64b739bc1e testlock: parse arguments using SDLTest_CommonState + extra arguments 2023-03-17 17:54:16 +01:00
Anonymous Maarten 4d86a83fa9 testver: don't allow any arguments 2023-03-17 17:54:16 +01:00
Anonymous Maarten 0268881e30 testspriteminimal: don't allow any arguments 2023-03-17 17:54:16 +01:00
Anonymous Maarten 08d5235da0 testintersections: check integer argument + no global done + get final tick before SDL shutdown 2023-03-17 17:54:16 +01:00
Anonymous Maarten 6e2851878f testhittesting: use SDLTest_Common for creating window(s) and renderer(s) 2023-03-17 17:54:16 +01:00
Anonymous Maarten 75da730a88 testfile: fix reference values 2023-03-17 17:54:16 +01:00
Anonymous Maarten ee13b74d59 testyuv: fix buffer overflow write 2023-03-17 17:54:16 +01:00
Anonymous Maarten 774e51627e SDL_test: fix infinite loop when passing invalid argument 2023-03-17 17:54:16 +01:00
Anonymous Maarten c52ad54b05 SDL_test: don't parse audio/video arguments when its subsystem is not enabled 2023-03-17 17:54:16 +01:00
Anonymous Maarten c8d4ca35ad SDL_test: always print common log usage, even without audio/video backend 2023-03-17 17:54:16 +01:00
Anonymous Maarten 08c85ebae0 SDL_test: introduce SDLTest_CommonDestroyState to only destroy SDLTest_CommonState 2023-03-17 17:54:16 +01:00
Anonymous Maarten 5109e19935 SDL_test: remove unused BuildCommonUsageString 2023-03-17 17:54:16 +01:00
Anonymous Maarten 9451d3079d dynapi: SDL_DYNAPI_entry must be in version script
For SDL dynapi to work, the SDL_DYNAPI_entry symbol must be externally visible.
Adding __attribute__((visibility(default))) would not work
since version scripts override these.
2023-03-17 08:53:14 -07:00
Anonymous Maarten 7ea6ef4076 ci: add workflow for building SDL on ppc64le 2023-03-15 14:54:20 +01:00
Anonymous Maarten e77132b8aa ci: only store cache vita reqs when restore-cache didn't find anything 2023-03-15 14:54:20 +01:00
Anonymous Maarten 65178df717 ci: test ARM neon and simd on ci using vita toolchain 2023-03-15 14:54:20 +01:00
Anonymous Maarten d27db3defa cmake+video: always use altivec.h header for detection + introduce SDL_ENABLE_ALTIVEC 2023-03-15 14:54:20 +01:00
Anonymous Maarten 684709a5b6 cmake: fix building testautomation without X11 support 2023-03-15 14:54:20 +01:00
Anonymous Maarten 9cb5f0bfc6 video: fix ARM neon and simd 2023-03-15 14:54:20 +01:00
Anonymous Maarten 64e242fd77 cmake: Add test resources to list of files to clean 2023-03-15 14:54:20 +01:00
Anonymous Maarten ba5b1f2fd2 Fix build with -DX11MODES_DEBUG in CPPFLAGS 2023-03-15 14:54:20 +01:00
Anonymous Maarten d24ef0213b SDL_threadprio.c uses SCHED_RR and SCHED_FIFO from sched.h 2023-03-15 14:54:20 +01:00
Anonymous Maarten 3db3424b4e cmake: Detect powerpc architecture 2023-03-15 14:54:20 +01:00
Anonymous Maarten fc4085b54e cmake: Allow build system to disable arm neon intrinsics 2023-03-15 14:54:20 +01:00
Anonymous Maarten 46de6241d7 cmake: Allow build system to disable loongarch intrinsics 2023-03-15 14:54:20 +01:00
Anonymous Maarten 99b8313eb1 add SDL_DISABLE_MMX to SDL_build_config.h.cmake 2023-03-15 14:54:20 +01:00
Anonymous Maarten 4681240241 cmake: Detect AVX + allow build system to disable Intel intrinsics 2023-03-15 14:54:20 +01:00
Anonymous Maarten 683411e96f cmake: only use precompile headers for C and CXX 2023-03-15 14:38:26 +01:00
Anonymous Maarten 7d55bbc0da cmake: get_filename_component(EXT) returns extension including leading dot 2023-03-15 14:38:26 +01:00
Anonymous Maarten c304fbded6 cmake: disable ccache by default 2023-03-09 20:24:03 +01:00
Anonymous Maarten 103fbcfc05 cmake: use compatible interface properties to disallow linking to a different version of SDL 2023-03-03 23:40:57 +01:00
Anonymous Maarten 790612f4f8 cmake: make sdltests_utils static library 2023-03-01 23:41:22 +01:00
Anonymous Maarten 02fede7c8c cmake: initialize SDL_SHARED and SDL_STATIC from BUILD_SHARED_LIBS 2023-02-28 02:15:39 +01:00
Anonymous Maarten f2a277414f raspberry: SDL_DisplayMode's w/h members have been renamed to screen_w/screen_h
Found by running the coccinelle script on SDL's source tree.
2023-02-24 06:55:28 -08:00
Anonymous Maarten f1202fccdc cmake: create SDL3::SDL3-shared for VC and Xcode devel package 2023-02-20 00:43:53 +01:00
Anonymous Maarten 213fbd01c5 SDL_endian.h: improve doxygen documentation 2023-02-19 10:01:33 -08:00
Anonymous Maarten 549cedfa88 include: add \brief to includes 2023-02-19 10:01:33 -08:00