Commit Graph
100 Commits
Author SHA1 Message Date
Erik Hofman 8d6e543cc2 Only use readwav for OpenAL 2020-04-28 09:41:11 +02:00
Erik Hofman ad24ce02e7 Remove some debugging statements 2020-04-12 14:53:16 +02:00
Erik Hofman 695616a8f2 Switch from doing the calculations ourselves in case of a bad_doppler implementation to using alDopplerFactor 2020-04-12 14:50:12 +02:00
Erik Hofman b3bdf8636a Limit the velocity to the sound velocity after multiplying it by a foctor of 100 to compensate for bad Doppler calculations. Also add the option to set the sound velocity for the sound manager from within FlightGear (not yet used). 2020-04-11 09:48:49 +02:00
Erik Hofman ad1833a4d5 Move more modern C++ idioms and use std::unique_ptr for moving daat ownership around 2020-03-26 09:54:28 +01:00
Erik Hofman 75f40fad95 Use more modern C++ 2020-03-20 10:40:09 +01:00
Erik Hofman b458300c02 'lin' is a valid value for the type parameter so do not show a warning. Add a 'random' tag for pitch offset 2020-03-20 09:56:21 +01:00
Erik Hofman 6c6e74e8d1 Change logging levels to developer mode and be more descriptive 2020-03-19 13:33:30 +01:00
Erik Hofman 72af950573 Fix an error 2020-03-15 14:57:24 +01:00
Erik Hofman edae7a2b75 Make warnings and alerts a single message for DEV_WARN and DEV_ALERT since they will result in a popu-dialog message 2020-03-15 14:33:05 +01:00
Erik Hofman 1fa48e7edb File readind is not of the SG_INPUT class s change it to SG_IO and make all warinigs and alerts developer-warings and developer-alerts 2020-03-15 14:24:02 +01:00
Erik Hofman d76992efe6 Show the affected file when displaying an animation error or warning 2020-03-15 10:44:29 +01:00
Erik Hofman b847f57382 Fix a threads header 2020-03-09 14:56:08 +01:00
Erik Hofman 11e243a216 Clean up the threading code: remove the private classes. 2020-01-29 11:33:54 +01:00
Erik Hofman faf43d2c4b Comment out Windows debugging code, for now 2020-01-24 19:30:32 +01:00
Erik Hofman b0580b2df5 Re-order the mutex locking of the condition-mutex and the caller-mutex, add noxecept. Also add some debugging code to detect multiple locks of the same mutex. 2020-01-24 15:46:36 +01:00
Erik Hofman 308903dc91 Revert to c3ae704610 until the condition_variable problem is solved 2020-01-24 13:52:37 +01:00
Erik Hofman 1c7fd67c39 Convert condition variables to C++11 too. 2020-01-24 10:48:53 +01:00
Erik Hofman c3ae704610 Move SGThread::current to after the system dependent code which includes the proper header files 2020-01-23 13:47:04 +01:00
Erik Hofman 9f8e6c0634 Make backwards compatible stubs so only a recompile without any modification is required. 2020-01-23 10:38:52 +01:00
Erik Hofman aab88b411e Switch to C++11 threads, mutexes and lock_guards. Switching to C++11 condition_variables requires some more thought. 2020-01-22 13:44:47 +01:00
Erik Hofman 15c6131f0e Use a better way to set the listener position and orientation 2019-11-08 10:51:56 +01:00
Erik Hofman ece2f913a1 Get AeonWave up to par again by removing a number of errors, and fixing a unit type for the audio cone inner and outer angle. 2019-11-07 15:15:02 +01:00
Erik Hofman 82b1cca247 Also add pressure to the mix 2019-11-04 15:18:59 +01:00
Erik Hofman 2976dc29d5 Merge branch 'next' of ssh://git.code.sf.net/p/flightgear/simgear into next 2019-11-04 14:54:30 +01:00
Erik Hofman 99d5b0dc8a Switch to in-place declarations and to the ISO9613 distance attenuation model for AeonWave which also calcualtes the proper sound velocity based on atmospheric properties 2019-11-04 14:54:06 +01:00
Erik Hofman 4c52d77aa5 Add missing cassert incldues 2019-05-20 11:00:51 +02:00
Erik Hofman b3f9571b2d Merge branch 'next' of ssh://git.code.sf.net/p/flightgear/simgear into next 2019-01-26 09:13:17 +01:00
Erik Hofman 6393b7704e Do not attempt to deregister the same emitter more than once 2019-01-16 14:55:37 +01:00
Erik Hofman 0a2071b2f1 Use AAX_PROCESSED since AAX_STOPPED is only a request to stop but the library decides when it is actually stopped. And AeonWave has become more picky about destroying emitters which aren't completely processed yet since MIDI support was added. 2019-01-15 11:38:38 +01:00
Erik Hofman 7981809f36 Split up SIMD support in ENABLE_SIMD which enables sse2 support for the compiler and ENABLE_SIMD_CODE which enables the hand crafted SIMD math functions which defaults to OFF now since compilers have catched up on generating optimized vectorized SIMD code. 2019-01-15 10:36:23 +01:00
Erik Hofman 0e9e5f77cc It turns out the 16-bit version was not introduced until gcc-4.8 2018-07-05 10:29:03 +02:00
Erik Hofman 3e081ae869 Use CPU optimized versions of endian swap functions when available 2018-07-04 09:35:45 +02:00
Erik Hofman 4e8df9dcc8 Remove a bunch og gcc-8 warnings 2018-07-04 09:33:32 +02:00
Erik Hofman 03156a6d94 Better AeoNWave detection 2018-06-05 09:39:51 +02:00
Erik Hofman 08258ee4b3 Detect AeonWave and if it is installed use it, otherwise fall back to OpenAL. Also let get_available_devices() use C++ strings instead of const char* 2018-06-02 14:06:15 +02:00
Erik Hofman 3dceaf7a0b Update to the latest version 2018-06-02 10:53:03 +02:00
Erik Hofman 856473ca43 Add missing headers 2018-05-29 09:44:37 +02:00
Erik Hofman 6a142bc264 Merge branch 'release/2018.1' into next 2018-02-20 10:11:38 +01:00
Erik Hofman 8bcdd89796 Properly initialize _bad_doppler 2018-02-20 10:11:04 +01:00
Erik Hofman ef1821c025 Switch to C++11 2018-02-16 16:09:26 +01:00
Erik Hofman e482f04123 int16_t needs cstdint 2017-10-31 11:22:39 +01:00
Erik Hofman db89f0d4d1 Oops, use the proper project name 2017-10-31 10:49:04 +01:00
Erik Hofman 2ac97a9f1f std::wstring_convert requires locale 2017-10-31 10:47:12 +01:00
Erik Hofman c03359a189 Update to the (now GPL) AeonWave version 3.0+ 2017-10-31 10:42:44 +01:00
Erik Hofman 84b636debc Add a frequency filter and a bitcrusher filetr 2017-10-31 10:42:16 +01:00
Erik Hofman 446c8cd70c Fix a bug when using properties instead of a fixed position 2017-05-17 08:28:01 +02:00
Erik Hofman ee4b6621e7 Fit the property definied positions to the axis definition by negating them 2017-05-11 10:29:08 +02:00
Erik Hofman 7512bc0fb2 Make position properties work for relative positions too 2017-05-09 10:57:31 +02:00
Erik Hofman 4860a70443 Fix (hopefully) sim4_t class initialization problems 2017-04-27 14:54:21 +02:00
Erik Hofman 1446f559cc Add -fPIC to make FlightGear's shared library linking for fgtestlib happy 2017-03-26 10:17:10 +02:00
Erik Hofman ee4f5a5190 Disable SIMD for now as a test. 2017-02-28 12:42:48 +01:00
Erik Hofman 7f65e7f905 We need to copy the matrix before altering it's contents: Fix a SGMathTest failure 2017-02-03 15:07:35 +01:00
Erik Hofman 3417ca7e49 Add a linear-interpolation function 2017-02-02 11:35:11 +01:00
Erik Hofman c87dff7e8f More code cleanups ans fix a Clang problem. And disable AVX for good, I don't have time for this crap anymore: it looks like a hardware or compielr bug 2017-01-31 00:04:01 +01:00
Erik Hofman 332f76f34d Last code cleanups and more explicit constructors 2017-01-30 18:25:42 +01:00
Erik Hofman 3387f3d084 Switch to c++11 alignas instead of our own hacks 2017-01-30 16:00:29 +01:00
Erik Hofman bd421c381c Also make AVX available for simd4x4 2017-01-30 12:53:52 +01:00
Erik Hofman 0cce949837 Fix the last bug that prevented AVX from working properly. Hopefully this fixes all other SIMD related problems too 2017-01-30 12:25:51 +01:00
Erik Hofman 866f85064a Fix a mistake 2017-01-30 00:18:36 +01:00
Erik Hofman 9215c530b3 Explicit declaration of more constructors to make sure the laste lane of simd4_t<T,3> and the last two lanes of simd4_t<T,2> remain zero 2017-01-29 15:26:34 +01:00
Erik Hofman edec5bbc01 There is still a segmenttion fault issue with the AVX code, disable it until this is sorted out 2017-01-26 14:46:36 +01:00
Erik Hofman bcecee0f76 Small optimization to my own cross product implementation 2017-01-21 10:28:24 +01:00
Erik Hofman f9f2b4cbdb Bring the ARM NEON code in line with the SSE code 2017-01-20 15:32:28 +01:00
Erik Hofman 33feb9a416 Move SIMD flags to CMAKE_CXX_FLAGS_RELEASE and fix a typo in the process 2017-01-20 14:56:15 +01:00
Erik Hofman 9e1aaa8b56 Make a distinction between a null-pointer and the value of 0 2017-01-19 23:14:39 +01:00
Erik Hofman ef2eb635af Fix a header path 2017-01-19 16:41:01 +01:00
Erik Hofman 2db412a923 Specialize class constructors in the hope to ged rid of wrong compiler assignment of an unaligned float array to an SSE register 2017-01-19 16:39:30 +01:00
Erik Hofman 061fea48c8 Add an ARM NEON readu simd4x4_neon.hxx and small fixes for simd_neon.hxx 2017-01-19 13:20:52 +01:00
Erik Hofman c4ea62a899 Add a version of simd.hxx for ARM NEON 2017-01-18 15:41:12 +01:00
Erik Hofman 789c09a402 I forgot the linux variant of ALIGN 2017-01-12 14:19:09 +01:00
Erik Hofman de9b329115 reorganize the code a bit 2017-01-12 11:43:46 +01:00
Erik Hofman 1b793a127c Be more explicit about alignment 2017-01-12 10:18:39 +01:00
Erik Hofman 637f67888a Reinstate AVX support again 2017-01-07 13:55:09 +01:00
Erik Hofman fbc0986fd8 Do not rely on SSE3, this is just a slight drawback 2017-01-06 15:10:52 +01:00
Erik Hofman 14ebe0b618 Disable AVX support until someone figures out why it is not working properly 2017-01-06 00:11:05 +01:00
Erik Hofman 7b0faed03a Fix an AVX error 2017-01-04 16:30:19 +01:00
Erik Hofman 8d1dc30b07 Try to fix a possible AVX core dump 2017-01-04 12:55:28 +01:00
Erik Hofman 03cff6abca Fix Never use <avxintrin.h> directly; include <immintrin.h> instead. 2017-01-01 13:26:36 +01:00
Erik Hofman d7821324b8 Fix a wrong enclosing bracket 2017-01-01 11:40:59 +01:00
Erik Hofman f0e6402fff One more, and hopefully the last, MSVC fix 2016-12-23 15:31:40 +01:00
Erik Hofman 41bf142e31 Try to fix an MSVC compile error 2016-12-23 14:50:14 +01:00
Erik Hofman 2e9efa98d7 Add accelearated cross product 2016-12-22 13:43:04 +01:00
Erik Hofman 2c2a57f368 Addd support for AVX, 4 double precision operations in one go 2016-12-21 09:04:46 +01:00
Erik Hofman 4ea1326126 A better MSVC fix and code speedups 2016-12-20 09:54:19 +01:00
Erik Hofman 09b44ac68a MSVC compiler fix (hopefully) 2016-12-19 18:37:52 +01:00
Erik Hofman a48ab434ab Convert more code to SIMD 2016-12-19 15:58:57 +01:00
Erik Hofman 892579456d add SSE support for the C compiler (gcc and clang) 2016-12-18 09:40:38 +01:00
Erik Hofman 4dde1d365c MSVC 2013+ for 64-bit automatically sets /arch:SSE2 and doesn't recognise te option 2016-12-17 10:50:19 +01:00
Erik Hofman 35a115bfd4 Fix a stupid mistake and move hsum_ps_sse to shVector.c 2016-12-16 16:01:59 +01:00
Erik Hofman 70dd9d35b1 Also accelerate SHVector3 using SIMD 2016-12-16 15:12:53 +01:00
Erik Hofman 31e3cf06fb Accelerate SHVector4 and SHMatrix3x3 operations using SIMD 2016-12-16 14:54:24 +01:00
Erik Hofman 175eddd1fa Add the proper SSE options to Clang too 2016-12-16 11:05:03 +01:00
Erik Hofman fe73247b82 Really use _mm_setzero_ps9) instead 2016-12-16 11:04:49 +01:00
Erik Hofman 203db3d095 Enable SSE and SSE2 by default 2016-12-16 10:49:44 +01:00
Erik Hofman e5b51677c5 MacOS fix 2016-12-15 13:11:31 +01:00
Erik Hofman f9450d136d Minor speedups in small tweaks 2016-12-15 09:57:10 +01:00
Erik Hofman 0586cb62c3 Fix the pink-sky bug, don't initilize the vector with (z,y,z,w) but use the proper (x,y,z,w) instead 2016-12-15 09:56:52 +01:00
Erik Hofman 8fee04b32b Generalize the code to be able to test integers too 2016-12-14 11:05:56 +01:00
Erik Hofman 04e16c95e2 Consolidate some code, exlicitly use intrinsics (instead of the usual math operators): this fixes a compiler bug for integers and add some SSE4.1 accelerations for integers 2016-12-14 11:05:31 +01:00