diff options
author | Chris Robinson <[email protected]> | 2019-01-23 12:23:05 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2019-01-23 12:23:05 -0800 |
commit | 8429770c3f4f6ab4bd21d5af518de58d6af3af57 (patch) | |
tree | 02a77ef595b71f571b718755e0a57e60af4ce2d4 /Alc/mixer/mixer_neon.cpp | |
parent | d3842a632da8542ac0c8fbdff39dc3d4a25c1a16 (diff) |
Use template declarations for the HRTF mixers
Diffstat (limited to 'Alc/mixer/mixer_neon.cpp')
-rw-r--r-- | Alc/mixer/mixer_neon.cpp | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/Alc/mixer/mixer_neon.cpp b/Alc/mixer/mixer_neon.cpp index 978ea8d3..1c033bd3 100644 --- a/Alc/mixer/mixer_neon.cpp +++ b/Alc/mixer/mixer_neon.cpp @@ -164,11 +164,33 @@ static inline void ApplyCoeffs(ALsizei Offset, ALfloat (&Values)[HRIR_LENGTH][2] } } -#define MixHrtf MixHrtf_Neon -#define MixHrtfBlend MixHrtfBlend_Neon -#define MixDirectHrtf MixDirectHrtf_Neon #include "hrtf_inc.cpp" +template<> +void MixHrtf_<NEONTag>(ALfloat *RESTRICT LeftOut, ALfloat *RESTRICT RightOut, const ALfloat *data, + ALsizei Offset, const ALsizei OutPos, const ALsizei IrSize, MixHrtfParams *hrtfparams, + HrtfState *hrtfstate, const ALsizei BufferSize) +{ + MixHrtfBase<ApplyCoeffs>(LeftOut, RightOut, data, Offset, OutPos, IrSize, hrtfparams, + hrtfstate, BufferSize); +} + +template<> +void MixHrtfBlend_<NEONTag>(ALfloat *RESTRICT LeftOut, ALfloat *RESTRICT RightOut, + const ALfloat *data, ALsizei Offset, const ALsizei OutPos, const ALsizei IrSize, + const HrtfParams *oldparams, MixHrtfParams *newparams, HrtfState *hrtfstate, + const ALsizei BufferSize) +{ + MixHrtfBlendBase<ApplyCoeffs>(LeftOut, RightOut, data, Offset, OutPos, IrSize, oldparams, + newparams, hrtfstate, BufferSize); +} + +template<> +void MixDirectHrtf_<NEONTag>(ALfloat *RESTRICT LeftOut, ALfloat *RESTRICT RightOut, + const ALfloat (*data)[BUFFERSIZE], DirectHrtfState *State, const ALsizei NumChans, + const ALsizei BufferSize) +{ MixDirectHrtfBase<ApplyCoeffs>(LeftOut, RightOut, data, State, NumChans, BufferSize); } + template<> void Mix_<NEONTag>(const ALfloat *data, const ALsizei OutChans, ALfloat (*OutBuffer)[BUFFERSIZE], |