Commit Graph

73 Commits

Author SHA1 Message Date
libretroadmin dc9ffcce66 (sinc resampler) style nits 2025-07-20 09:37:15 +02:00
libretroadmin d37068cfb8 Move code back 2025-07-15 23:35:37 +02:00
libretroadmin 215219dc51 Change libretro-common code back 2025-07-14 05:50:17 +02:00
libretroadmin f6da101330 (resampler) indentation cleanups 2025-07-13 18:40:11 +02:00
libretroadmin 4973e47cac (Resampler) Style nits/cleanups 2025-07-13 01:59:36 +02:00
pstef 2e868fc00b Pop fast-math at the end of the file
so that it doesn't affect the rest of the code in Griffin builds.

This is unfortunately GCC-only, but Clang will miss only 1 vectorization.
2025-05-03 12:29:42 +00:00
pstef 6bfb7862e7 Make -ffast-math exclusive to sinc_resampler.c
-ffast-math was added in ff14092d8d with a comment that it "helps SINC
resampler to auto-vectorize". The flag is an alias for "-fno-math-errno
-funsafe-math-optimizations -ffp-contract=fast -fno-honor-infinities
-fno-honor-nans". The last two of those cause compiler complaints
because while the flag was meant for this file, it's shared across the
codebase that includes statements that operate on infinities and NaNs.

GCC 13.3 with -fopt-info-vec reports 18 vectorizations for `-O3
-ffast-math`, 17 for `-O3 -fno-math-errno -funsafe-math-optimizations
-ffp-contract=fast` and also 17 for plain `-O3`. So using the subset of
-ffast-math without the offending flags buys nothing and loses 1
vectorization.

Both GCC and Clang provide the "fast-math" pragma directive, which I add
to this one file that benefits from it, under the condition that it's
supported. -ffast-math is removed from most of the makefiles.
2025-05-02 17:26:19 +00:00
libretroadmin 6e3f168c1c (sinc) Hopefully that's the last of these warnings 2022-11-23 18:07:53 +01:00
libretroadmin 8ed246be86 (sinc resampler) Silence warning
(MaterialUI) Style nits
2022-11-23 18:03:44 +01:00
libretroadmin 1c9d3ad0bf Silence some warnings 2022-11-21 20:56:28 +01:00
LibretroAdmin 78f4e0abda C89_BUILD buildfix 2022-08-02 11:34:41 +02:00
LibretroAdmin a974cef001 (sinc resampler) Simplifications - call besseli0 directly instead of
through kaiser_window_function wrapper function - get rid of some unnecessary
sqrtf calls and such, some other small opts
2022-08-02 11:29:05 +02:00
Christopher Snowhill b5504dda99
Implement sinc kaiser NEON function (#13452) 2022-01-08 04:21:51 +01:00
twinaphex 6d1c0e96a3 Simplify sinc NEON code 2021-09-04 00:35:45 +02:00
Autechre 9a5f4602cc
Add intrinsic NEON versions for float_to_s16/s16_to_float (#12933)
* Add intrinsic NEON versions for float_to_s16/s16_to_float courtesy
of davidgfnet

* Define -DDONT_WANT_ARM_OPTIMIZATIONS for resampler sinc - this should
default to intrinsic versions

* Default to ARM NEON intrinsic codepath and make the ASM codepaths
optional by defining HAVE_ARM_NEON_ASM_OPTIMIZATIONS

* (Pkg/apple/Android) Take out ASM files being compiled in
2021-09-04 00:25:21 +02:00
twinaphex 9a97eb47ad Fix typos 2021-08-21 19:11:21 +02:00
twinaphex ca26e50050 (sinc) Add non-ASM ARM NEON intrinsics codepath for Sinc resampler 2021-08-21 18:52:20 +02:00
twinaphex b620325714 Rename HAVE_ARM_NEON_OPTIMIZATIOn to HAVE_ARM_NEON_ASM_OPTIMIZATIONS,
rename DONT_WANT_ARM_OPTIMIZATIONS to DONT_WANT_ARM_NEON_OPTIMIZATIONS
2021-08-21 18:00:59 +02:00
twinaphex 6223ba47fd Bring back these tiny optimizations from foobar2k 2021-08-15 22:54:21 +02:00
twinaphex 1906a741c2 Rollback sinc resampler changes - themaister wasn't sure if these were
actual optimizations
2021-08-15 22:45:59 +02:00
twinaphex 3f00d2f041 (Resampler) Cleanups 2021-06-22 01:14:32 +02:00
twinaphex 7492f5d60c Revert "Add HAVE_GRIFFIN fallback for now"
This reverts commit dc50ff584e.
2021-06-11 12:05:59 +02:00
twinaphex bd9c35d379 Revert "Rollback changes for now until we can get this compiling on MSVC 2005 on"
This reverts commit 08481e2a68.
2021-06-11 12:05:48 +02:00
twinaphex 08481e2a68 Rollback changes for now until we can get this compiling on MSVC 2005 on
the commandline (it builds with the VS solution file but not CLI)
2021-06-09 16:39:43 +02:00
twinaphex dc50ff584e Add HAVE_GRIFFIN fallback for now 2021-06-09 16:33:32 +02:00
Autechre 74d85e3269
Backport optimizations from foobar2K 2021-06-09 06:05:14 +02:00
twinaphex c01df07f3d Fix ARM NEON detection 2021-02-16 23:02:06 +01:00
twinaphex a2a58147e7 Update libretro-common 2020-10-31 06:22:10 +01:00
twinaphex 0ad9175d77 (sinc resampler) We don't need to keep fetching these variables
within this inner loop
2020-10-03 21:20:32 +02:00
twinaphex f48dc0ff5b Reorder structs, alignment 2020-08-15 20:38:31 +02:00
twinaphex 023fd4f330 Alignment changes 2020-08-14 18:19:57 +02:00
twinaphex 69756ebd93 Add HAVE_NEAREST_RESAMPLER ifdef 2020-06-30 21:45:05 +02:00
twinaphex 1ae20ea17c Style nits - turn macro names into upper-case - some while style nits 2020-06-26 20:00:19 +02:00
twinaphex fa50695b89 Cleanups 2020-06-26 19:25:53 +02:00
twinaphex dce610747b Update audio resampler 2020-02-07 07:53:23 +01:00
twinaphex 5ff4ee96e4 (Resampler) More buildfixes 2020-02-03 03:33:50 +01:00
twinaphex e1603c0f44 (Resampler) Cleanups 2020-02-03 01:59:24 +01:00
twinaphex 076fddd9d9 (Resampler) Turn this void 2020-02-03 00:16:16 +01:00
twinaphex cd9ca691ca (libretro-common) Update copyright 2020-01-31 15:43:42 +01:00
twinaphex 261f1b72d4 Remove separate null_resampler.c file and move it into audio_resampler.c 2020-01-07 23:03:23 +01:00
twinaphex d88e37a2f1 (Audio resampler/Sinc) Don't do kaiser window check inside hot loop 2020-01-03 22:12:11 +01:00
twinaphex 836fb17d0d (libretro-common) Update libretro-common 2019-10-17 01:48:41 +02:00
twinaphex 660d0c8de9 Remove mutexes - should hopefully fix dolphin/reicast threaded
again
2019-02-12 03:55:08 +01:00
Themaister 5e7513ad60 Sinc: memset the resampler buffer.
No idea how this survived asan and valgrind over these years ...
2019-02-05 23:35:39 +01:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
Brad Parker 90db5e7e27 Implement in-menu sound effects 2019-01-27 11:22:16 -05:00
twinaphex a6941fb4ed Initial work done on VS2017 solution for Android 2018-08-14 16:02:31 +02:00
twinaphex 768ebbfdb5 Merge commit 'ce9ce1d35387ef8144e53bf071396fa075bfb6c5' as 'libretro-common' 2018-05-12 17:56:34 +02:00
twinaphex 0548349991 Remove libretro-common 2018-05-12 17:56:14 +02:00
twinaphex be7eb4de1c Update libretro-common 2018-04-16 08:57:17 +02:00