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 |
|
Erik Hofman
|
e257dbe6ed
|
accelerate float rotation_matrix and fix a bug for double rotation_matrix
|
2016-12-14 11:03:32 +01:00 |
|
Erik Hofman
|
abf78f8e31
|
Make absolutely sure the unions are 16-bytes aligned, move more setters and min() and max() to the simd implementation and add horizontal SIMD add functions for magnitude2 and dot
|
2016-12-12 20:27:07 +01:00 |
|
Erik Hofman
|
56fb81dc03
|
Hopefuly the last MSVC fix
|
2016-12-08 09:39:45 +01:00 |
|
Erik Hofman
|
343ce57468
|
Tupe conversion is evil, don't allow it
|
2016-12-08 01:02:44 +01:00 |
|
Erik Hofman
|
3e52e37181
|
remove explicit, it looks like SMVC chokes on it
|
2016-12-07 13:22:17 +01:00 |
|
Erik Hofman
|
e768553a4a
|
Replace auto_ptr with unique_ptr
|
2016-12-07 11:03:49 +01:00 |
|
Erik Hofman
|
b74d1a8351
|
Add some more accelerated functions (dot, magnitude, matrix transpose), allow simd_t4 with non mathcing elements to be assigned and a bunch of fixes. Make sure the code compiles when SSE is not available.
|
2016-12-07 10:00:02 +01:00 |
|
Erik Hofman
|
1c39daec07
|
Fix an error
|
2016-11-27 10:19:17 +01:00 |
|
Erik Hofman
|
0ea9786601
|
Add SIMD matrix operations
|
2016-11-26 11:40:01 +01:00 |
|
Erik Hofman
|
e7f80cf5f3
|
Finish SIMD Vector code, do not change matrix operations yet since it seems to have a problem
|
2016-11-25 13:31:54 +01:00 |
|
Erik Hofman
|
16d62f93c8
|
Fix a clang reported error
|
2016-11-22 15:18:16 +01:00 |
|
Erik Hofman
|
e96834fcc6
|
Fix an error
|
2016-11-22 14:36:28 +01:00 |
|
Erik Hofman
|
22a74c63b4
|
First changes for SIMD matrix operations
|
2016-11-22 14:27:42 +01:00 |
|
Erik Hofman
|
4dc66a385e
|
Include SGMathFwd.hxx to add unknown math types
|
2016-11-21 09:22:09 +01:00 |
|
Erik Hofman
|
aec29a3a37
|
Fix clang errors
|
2016-11-20 23:54:15 +01:00 |
|
Erik Hofman
|
0d213a1990
|
Fix a typo
|
2016-11-20 16:16:28 +01:00 |
|
Erik Hofman
|
8162a49f6c
|
Give vector math a (potential) boost. Next stoP; matrices
|
2016-11-20 16:15:40 +01:00 |
|
Erik Hofman
|
43a8277bdb
|
Merge branch 'next' of ssh://git.code.sf.net/p/flightgear/simgear into next
|
2016-11-20 15:01:10 +01:00 |
|
Erik Hofman
|
61a8bd5cd3
|
_m128d ony holds two doubles instead of 4 (obviously).
|
2016-11-20 15:00:24 +01:00 |
|
Erik Hofman
|
ad6f3d2db2
|
Small updates
|
2016-11-20 14:59:43 +01:00 |
|
Erik Hofman
|
73f57bbbd8
|
Add a test utility
|
2016-11-19 15:57:05 +01:00 |
|