diff options
author | Chris Robinson <[email protected]> | 2013-05-22 15:11:39 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2013-05-22 15:11:39 -0700 |
commit | 52efb8d7f43e85659bc84455361f8685a5f493ed (patch) | |
tree | 288da908e7e58e8c32787d03032151461bca9188 | |
parent | a6fa4a8bc291e4747d9cc66f4c76002c405bfc4e (diff) |
Use restrict instead of RESTRICT
-rw-r--r-- | Alc/ALu.c | 10 | ||||
-rw-r--r-- | Alc/alcChorus.c | 6 | ||||
-rw-r--r-- | Alc/alcDedicated.c | 2 | ||||
-rw-r--r-- | Alc/alcDistortion.c | 2 | ||||
-rw-r--r-- | Alc/alcEcho.c | 2 | ||||
-rw-r--r-- | Alc/alcEqualizer.c | 2 | ||||
-rw-r--r-- | Alc/alcFlanger.c | 6 | ||||
-rw-r--r-- | Alc/alcModulator.c | 6 | ||||
-rw-r--r-- | Alc/alcReverb.c | 22 | ||||
-rw-r--r-- | Alc/mixer.c | 2 | ||||
-rw-r--r-- | Alc/mixer_c.c | 30 | ||||
-rw-r--r-- | Alc/mixer_defs.h | 22 | ||||
-rw-r--r-- | Alc/mixer_inc.c | 30 | ||||
-rw-r--r-- | Alc/mixer_neon.c | 10 | ||||
-rw-r--r-- | Alc/mixer_sse.c | 26 | ||||
-rw-r--r-- | CMakeLists.txt | 9 | ||||
-rw-r--r-- | OpenAL32/Include/alAuxEffectSlot.h | 4 | ||||
-rw-r--r-- | OpenAL32/Include/alu.h | 6 | ||||
-rw-r--r-- | OpenAL32/alAuxEffectSlot.c | 2 | ||||
-rw-r--r-- | config.h.in | 3 |
20 files changed, 99 insertions, 103 deletions
@@ -130,7 +130,7 @@ static __inline void aluNormalize(ALfloat *inVector) } } -static __inline ALvoid aluMatrixVector(ALfloat *vector, ALfloat w, ALfloat (*RESTRICT matrix)[4]) +static __inline ALvoid aluMatrixVector(ALfloat *vector, ALfloat w, ALfloat (*restrict matrix)[4]) { ALfloat temp[4] = { vector[0], vector[1], vector[2], w @@ -589,7 +589,7 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext) /* Transform source to listener space (convert to head relative) */ if(ALSource->HeadRelative == AL_FALSE) { - ALfloat (*RESTRICT Matrix)[4] = ALContext->Listener->Params.Matrix; + ALfloat (*restrict Matrix)[4] = ALContext->Listener->Params.Matrix; /* Transform source vectors */ aluMatrixVector(Position, 1.0f, Matrix); aluMatrixVector(Direction, 0.0f, Matrix); @@ -941,17 +941,17 @@ static __inline ALubyte aluF2UB(ALfloat val) { return aluF2B(val)+128; } #define DECL_TEMPLATE(T, func) \ -static int Write_##T(ALCdevice *device, T *RESTRICT buffer, \ +static int Write_##T(ALCdevice *device, T *restrict buffer, \ ALuint SamplesToDo) \ { \ - ALfloat (*RESTRICT DryBuffer)[BUFFERSIZE] = device->DryBuffer; \ + ALfloat (*restrict DryBuffer)[BUFFERSIZE] = device->DryBuffer; \ ALuint numchans = ChannelsFromDevFmt(device->FmtChans); \ const ALuint *offsets = device->ChannelOffsets; \ ALuint i, j; \ \ for(j = 0;j < MaxChannels;j++) \ { \ - T *RESTRICT out; \ + T *restrict out; \ \ if(offsets[j] == INVALID_OFFSET) \ continue; \ diff --git a/Alc/alcChorus.c b/Alc/alcChorus.c index ab46243d..e5a20b5d 100644 --- a/Alc/alcChorus.c +++ b/Alc/alcChorus.c @@ -178,8 +178,8 @@ static __inline void Sinusoid(ALint *delay_left, ALint *delay_right, ALint offse #define DECL_TEMPLATE(func) \ static void Process##func(ALchorusState *state, ALuint SamplesToDo, \ - const ALfloat *RESTRICT SamplesIn, \ - ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) \ + const ALfloat *restrict SamplesIn, \ + ALfloat (*restrict SamplesOut)[BUFFERSIZE]) \ { \ const ALint mask = state->BufferLength-1; \ ALint offset = state->offset; \ @@ -235,7 +235,7 @@ DECL_TEMPLATE(Sinusoid) #undef DECL_TEMPLATE -static ALvoid ALchorusState_Process(ALchorusState *state, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) +static ALvoid ALchorusState_Process(ALchorusState *state, ALuint SamplesToDo, const ALfloat *restrict SamplesIn, ALfloat (*restrict SamplesOut)[BUFFERSIZE]) { if(state->waveform == AL_CHORUS_WAVEFORM_TRIANGLE) ProcessTriangle(state, SamplesToDo, SamplesIn, SamplesOut); diff --git a/Alc/alcDedicated.c b/Alc/alcDedicated.c index dd59c2c5..bd266b0e 100644 --- a/Alc/alcDedicated.c +++ b/Alc/alcDedicated.c @@ -70,7 +70,7 @@ static ALvoid ALdedicatedState_Update(ALdedicatedState *state, ALCdevice *device state->gains[LFE] = Gain; } -static ALvoid ALdedicatedState_Process(ALdedicatedState *state, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) +static ALvoid ALdedicatedState_Process(ALdedicatedState *state, ALuint SamplesToDo, const ALfloat *restrict SamplesIn, ALfloat (*restrict SamplesOut)[BUFFERSIZE]) { const ALfloat *gains = state->gains; ALuint i, c; diff --git a/Alc/alcDistortion.c b/Alc/alcDistortion.c index 8f52ab5d..7828377c 100644 --- a/Alc/alcDistortion.c +++ b/Alc/alcDistortion.c @@ -132,7 +132,7 @@ static ALvoid ALdistortionState_Update(ALdistortionState *state, ALCdevice *Devi state->bandpass.a[2] = 1.0f - alpha; } -static ALvoid ALdistortionState_Process(ALdistortionState *state, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) +static ALvoid ALdistortionState_Process(ALdistortionState *state, ALuint SamplesToDo, const ALfloat *restrict SamplesIn, ALfloat (*restrict SamplesOut)[BUFFERSIZE]) { const ALfloat fc = state->edge_coeff; float oversample_buffer[64][4]; diff --git a/Alc/alcEcho.c b/Alc/alcEcho.c index 4270c863..d5915295 100644 --- a/Alc/alcEcho.c +++ b/Alc/alcEcho.c @@ -124,7 +124,7 @@ static ALvoid ALechoState_Update(ALechoState *state, ALCdevice *Device, const AL ComputeAngleGains(Device, atan2f(+lrpan, 0.0f), (1.0f-dirGain)*F_PI, gain, state->Gain[1]); } -static ALvoid ALechoState_Process(ALechoState *state, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) +static ALvoid ALechoState_Process(ALechoState *state, ALuint SamplesToDo, const ALfloat *restrict SamplesIn, ALfloat (*restrict SamplesOut)[BUFFERSIZE]) { const ALuint mask = state->BufferLength-1; const ALuint tap1 = state->Tap[0].delay; diff --git a/Alc/alcEqualizer.c b/Alc/alcEqualizer.c index 2c8eb131..d397a9ba 100644 --- a/Alc/alcEqualizer.c +++ b/Alc/alcEqualizer.c @@ -219,7 +219,7 @@ static ALvoid ALequalizerState_Update(ALequalizerState *state, ALCdevice *device } } -static ALvoid ALequalizerState_Process(ALequalizerState *state, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) +static ALvoid ALequalizerState_Process(ALequalizerState *state, ALuint SamplesToDo, const ALfloat *restrict SamplesIn, ALfloat (*restrict SamplesOut)[BUFFERSIZE]) { ALuint base; ALuint it; diff --git a/Alc/alcFlanger.c b/Alc/alcFlanger.c index 88e2d625..a0f94a46 100644 --- a/Alc/alcFlanger.c +++ b/Alc/alcFlanger.c @@ -178,8 +178,8 @@ static __inline void Sinusoid(ALint *delay_left, ALint *delay_right, ALint offse #define DECL_TEMPLATE(func) \ static void Process##func(ALflangerState *state, ALuint SamplesToDo, \ - const ALfloat *RESTRICT SamplesIn, \ - ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) \ + const ALfloat *restrict SamplesIn, \ + ALfloat (*restrict SamplesOut)[BUFFERSIZE]) \ { \ const ALint mask = state->BufferLength-1; \ ALint offset = state->offset; \ @@ -235,7 +235,7 @@ DECL_TEMPLATE(Sinusoid) #undef DECL_TEMPLATE -static ALvoid ALflangerState_Process(ALflangerState *state, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) +static ALvoid ALflangerState_Process(ALflangerState *state, ALuint SamplesToDo, const ALfloat *restrict SamplesIn, ALfloat (*restrict SamplesOut)[BUFFERSIZE]) { if(state->waveform == AL_FLANGER_WAVEFORM_TRIANGLE) ProcessTriangle(state, SamplesToDo, SamplesIn, SamplesOut); diff --git a/Alc/alcModulator.c b/Alc/alcModulator.c index 847027e6..ec99bd53 100644 --- a/Alc/alcModulator.c +++ b/Alc/alcModulator.c @@ -89,8 +89,8 @@ static __inline ALfloat hpFilter1P(FILTER *iir, ALfloat input) #define DECL_TEMPLATE(func) \ static void Process##func(ALmodulatorState *state, ALuint SamplesToDo, \ - const ALfloat *RESTRICT SamplesIn, \ - ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) \ + const ALfloat *restrict SamplesIn, \ + ALfloat (*restrict SamplesOut)[BUFFERSIZE]) \ { \ const ALuint step = state->step; \ ALuint index = state->index; \ @@ -179,7 +179,7 @@ static ALvoid ALmodulatorState_Update(ALmodulatorState *state, ALCdevice *Device } } -static ALvoid ALmodulatorState_Process(ALmodulatorState *state, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) +static ALvoid ALmodulatorState_Process(ALmodulatorState *state, ALuint SamplesToDo, const ALfloat *restrict SamplesIn, ALfloat (*restrict SamplesOut)[BUFFERSIZE]) { switch(state->Waveform) { diff --git a/Alc/alcReverb.c b/Alc/alcReverb.c index e7dad6bb..a13a5693 100644 --- a/Alc/alcReverb.c +++ b/Alc/alcReverb.c @@ -309,7 +309,7 @@ static __inline ALfloat EarlyDelayLineOut(ALreverbState *State, ALuint index) // Given an input sample, this function produces four-channel output for the // early reflections. -static __inline ALvoid EarlyReflection(ALreverbState *State, ALfloat in, ALfloat *RESTRICT out) +static __inline ALvoid EarlyReflection(ALreverbState *State, ALfloat in, ALfloat *restrict out) { ALfloat d[4], v, f[4]; @@ -380,7 +380,7 @@ static __inline ALfloat LateLowPassInOut(ALreverbState *State, ALuint index, ALf // Given four decorrelated input samples, this function produces four-channel // output for the late reverb. -static __inline ALvoid LateReverb(ALreverbState *State, const ALfloat *RESTRICT in, ALfloat *RESTRICT out) +static __inline ALvoid LateReverb(ALreverbState *State, const ALfloat *restrict in, ALfloat *restrict out) { ALfloat d[4], f[4]; @@ -451,7 +451,7 @@ static __inline ALvoid LateReverb(ALreverbState *State, const ALfloat *RESTRICT // Given an input sample, this function mixes echo into the four-channel late // reverb. -static __inline ALvoid EAXEcho(ALreverbState *State, ALfloat in, ALfloat *RESTRICT late) +static __inline ALvoid EAXEcho(ALreverbState *State, ALfloat in, ALfloat *restrict late) { ALfloat out, feed; @@ -485,7 +485,7 @@ static __inline ALvoid EAXEcho(ALreverbState *State, ALfloat in, ALfloat *RESTRI // Perform the non-EAX reverb pass on a given input sample, resulting in // four-channel output. -static __inline ALvoid VerbPass(ALreverbState *State, ALfloat in, ALfloat *RESTRICT out) +static __inline ALvoid VerbPass(ALreverbState *State, ALfloat in, ALfloat *restrict out) { ALfloat feed, late[4], taps[4]; @@ -524,7 +524,7 @@ static __inline ALvoid VerbPass(ALreverbState *State, ALfloat in, ALfloat *RESTR // Perform the EAX reverb pass on a given input sample, resulting in four- // channel output. -static __inline ALvoid EAXVerbPass(ALreverbState *State, ALfloat in, ALfloat *RESTRICT early, ALfloat *RESTRICT late) +static __inline ALvoid EAXVerbPass(ALreverbState *State, ALfloat in, ALfloat *restrict early, ALfloat *restrict late) { ALfloat feed, taps[4]; @@ -563,9 +563,9 @@ static __inline ALvoid EAXVerbPass(ALreverbState *State, ALfloat in, ALfloat *RE // This processes the standard reverb state, given the input samples and an // output buffer. -static ALvoid ALreverbState_ProcessStandard(ALreverbState *State, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) +static ALvoid ALreverbState_ProcessStandard(ALreverbState *State, ALuint SamplesToDo, const ALfloat *restrict SamplesIn, ALfloat (*restrict SamplesOut)[BUFFERSIZE]) { - ALfloat (*RESTRICT out)[4] = State->ReverbSamples; + ALfloat (*restrict out)[4] = State->ReverbSamples; ALuint index, c; /* Process reverb for these samples. */ @@ -585,10 +585,10 @@ static ALvoid ALreverbState_ProcessStandard(ALreverbState *State, ALuint Samples // This processes the EAX reverb state, given the input samples and an output // buffer. -static ALvoid ALreverbState_ProcessEax(ALreverbState *State, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) +static ALvoid ALreverbState_ProcessEax(ALreverbState *State, ALuint SamplesToDo, const ALfloat *restrict SamplesIn, ALfloat (*restrict SamplesOut)[BUFFERSIZE]) { - ALfloat (*RESTRICT early)[4] = State->EarlySamples; - ALfloat (*RESTRICT late)[4] = State->ReverbSamples; + ALfloat (*restrict early)[4] = State->EarlySamples; + ALfloat (*restrict late)[4] = State->ReverbSamples; ALuint index, c; /* Process reverb for these samples. */ @@ -613,7 +613,7 @@ static ALvoid ALreverbState_ProcessEax(ALreverbState *State, ALuint SamplesToDo, } } -static ALvoid ALreverbState_Process(ALreverbState *State, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat (*RESTRICT SamplesOut)[BUFFERSIZE]) +static ALvoid ALreverbState_Process(ALreverbState *State, ALuint SamplesToDo, const ALfloat *restrict SamplesIn, ALfloat (*restrict SamplesOut)[BUFFERSIZE]) { if(State->IsEax) ALreverbState_ProcessEax(State, SamplesToDo, SamplesIn, SamplesOut); diff --git a/Alc/mixer.c b/Alc/mixer.c index 84f48094..58e3a535 100644 --- a/Alc/mixer.c +++ b/Alc/mixer.c @@ -84,7 +84,7 @@ static void SilenceData(ALfloat *dst, ALuint samples) } -static void Filter2P(FILTER *filter, ALfloat *RESTRICT dst, const ALfloat *RESTRICT src, +static void Filter2P(FILTER *filter, ALfloat *restrict dst, const ALfloat *restrict src, ALuint numsamples) { ALuint i; diff --git a/Alc/mixer_c.c b/Alc/mixer_c.c index d9c8ca25..94257504 100644 --- a/Alc/mixer_c.c +++ b/Alc/mixer_c.c @@ -16,7 +16,7 @@ static __inline ALfloat cubic32(const ALfloat *vals, ALuint frac) { return cubic(vals[-1], vals[0], vals[1], vals[2], frac * (1.0f/FRACTIONONE)); } void Resample_copy32_C(const ALfloat *data, ALuint frac, - ALuint increment, ALfloat *RESTRICT OutBuffer, ALuint BufferSize) + ALuint increment, ALfloat *restrict OutBuffer, ALuint BufferSize) { (void)frac; assert(increment==FRACTIONONE); @@ -25,7 +25,7 @@ void Resample_copy32_C(const ALfloat *data, ALuint frac, #define DECL_TEMPLATE(Sampler) \ void Resample_##Sampler##_C(const ALfloat *data, ALuint frac, \ - ALuint increment, ALfloat *RESTRICT OutBuffer, ALuint BufferSize) \ + ALuint increment, ALfloat *restrict OutBuffer, ALuint BufferSize) \ { \ ALuint pos = 0; \ ALuint i; \ @@ -47,10 +47,10 @@ DECL_TEMPLATE(cubic32) #undef DECL_TEMPLATE -static __inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*RESTRICT Values)[2], +static __inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*restrict Values)[2], const ALuint IrSize, - ALfloat (*RESTRICT Coeffs)[2], - const ALfloat (*RESTRICT CoeffStep)[2], + ALfloat (*restrict Coeffs)[2], + const ALfloat (*restrict CoeffStep)[2], ALfloat left, ALfloat right) { ALuint c; @@ -64,9 +64,9 @@ static __inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*RESTRICT Values)[2 } } -static __inline void ApplyCoeffs(ALuint Offset, ALfloat (*RESTRICT Values)[2], +static __inline void ApplyCoeffs(ALuint Offset, ALfloat (*restrict Values)[2], const ALuint IrSize, - ALfloat (*RESTRICT Coeffs)[2], + ALfloat (*restrict Coeffs)[2], ALfloat left, ALfloat right) { ALuint c; @@ -83,12 +83,12 @@ static __inline void ApplyCoeffs(ALuint Offset, ALfloat (*RESTRICT Values)[2], #undef SUFFIX -void MixDirect_C(const DirectParams *params, const ALfloat *RESTRICT data, ALuint srcchan, +void MixDirect_C(const DirectParams *params, const ALfloat *restrict data, ALuint srcchan, ALuint OutPos, ALuint SamplesToDo, ALuint BufferSize) { - ALfloat (*RESTRICT DryBuffer)[BUFFERSIZE] = params->OutBuffer; - ALfloat *RESTRICT ClickRemoval = params->ClickRemoval; - ALfloat *RESTRICT PendingClicks = params->PendingClicks; + ALfloat (*restrict DryBuffer)[BUFFERSIZE] = params->OutBuffer; + ALfloat *restrict ClickRemoval = params->ClickRemoval; + ALfloat *restrict PendingClicks = params->PendingClicks; ALfloat DrySend; ALuint pos; ALuint c; @@ -109,13 +109,13 @@ void MixDirect_C(const DirectParams *params, const ALfloat *RESTRICT data, ALuin } -void MixSend_C(const SendParams *params, const ALfloat *RESTRICT data, +void MixSend_C(const SendParams *params, const ALfloat *restrict data, ALuint OutPos, ALuint SamplesToDo, ALuint BufferSize) { ALeffectslot *Slot = params->Slot; - ALfloat (*RESTRICT WetBuffer)[BUFFERSIZE] = Slot->WetBuffer; - ALfloat *RESTRICT WetClickRemoval = Slot->ClickRemoval; - ALfloat *RESTRICT WetPendingClicks = Slot->PendingClicks; + ALfloat (*restrict WetBuffer)[BUFFERSIZE] = Slot->WetBuffer; + ALfloat *restrict WetClickRemoval = Slot->ClickRemoval; + ALfloat *restrict WetPendingClicks = Slot->PendingClicks; ALfloat WetSend = params->Gain; ALuint pos; diff --git a/Alc/mixer_defs.h b/Alc/mixer_defs.h index 6d3390c8..5e43af15 100644 --- a/Alc/mixer_defs.h +++ b/Alc/mixer_defs.h @@ -9,23 +9,23 @@ struct DirectParams; struct SendParams; /* C resamplers */ -void Resample_copy32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *RESTRICT dst, ALuint dstlen); -void Resample_point32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *RESTRICT dst, ALuint dstlen); -void Resample_lerp32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *RESTRICT dst, ALuint dstlen); -void Resample_cubic32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *RESTRICT dst, ALuint dstlen); +void Resample_copy32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *restrict dst, ALuint dstlen); +void Resample_point32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *restrict dst, ALuint dstlen); +void Resample_lerp32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *restrict dst, ALuint dstlen); +void Resample_cubic32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *restrict dst, ALuint dstlen); /* C mixers */ -void MixDirect_Hrtf_C(const struct DirectParams*,const ALfloat*RESTRICT,ALuint,ALuint,ALuint,ALuint); -void MixDirect_C(const struct DirectParams*,const ALfloat*RESTRICT,ALuint,ALuint,ALuint,ALuint); -void MixSend_C(const struct SendParams*,const ALfloat*RESTRICT,ALuint,ALuint,ALuint); +void MixDirect_Hrtf_C(const struct DirectParams*,const ALfloat*restrict,ALuint,ALuint,ALuint,ALuint); +void MixDirect_C(const struct DirectParams*,const ALfloat*restrict,ALuint,ALuint,ALuint,ALuint); +void MixSend_C(const struct SendParams*,const ALfloat*restrict,ALuint,ALuint,ALuint); /* SSE mixers */ -void MixDirect_Hrtf_SSE(const struct DirectParams*,const ALfloat*RESTRICT,ALuint,ALuint,ALuint,ALuint); -void MixDirect_SSE(const struct DirectParams*,const ALfloat*RESTRICT,ALuint,ALuint,ALuint,ALuint); -void MixSend_SSE(const struct SendParams*,const ALfloat*RESTRICT,ALuint,ALuint,ALuint); +void MixDirect_Hrtf_SSE(const struct DirectParams*,const ALfloat*restrict,ALuint,ALuint,ALuint,ALuint); +void MixDirect_SSE(const struct DirectParams*,const ALfloat*restrict,ALuint,ALuint,ALuint,ALuint); +void MixSend_SSE(const struct SendParams*,const ALfloat*restrict,ALuint,ALuint,ALuint); /* Neon mixers */ -void MixDirect_Hrtf_Neon(const struct DirectParams*,const ALfloat*RESTRICT,ALuint,ALuint,ALuint,ALuint); +void MixDirect_Hrtf_Neon(const struct DirectParams*,const ALfloat*restrict,ALuint,ALuint,ALuint,ALuint); #endif /* MIXER_DEFS_H */ diff --git a/Alc/mixer_inc.c b/Alc/mixer_inc.c index 97266d40..08387220 100644 --- a/Alc/mixer_inc.c +++ b/Alc/mixer_inc.c @@ -18,30 +18,30 @@ #define MixDirect_Hrtf MERGE2(MixDirect_Hrtf_,SUFFIX) -static __inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*RESTRICT Values)[2], +static __inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*restrict Values)[2], const ALuint irSize, - ALfloat (*RESTRICT Coeffs)[2], - const ALfloat (*RESTRICT CoeffStep)[2], + ALfloat (*restrict Coeffs)[2], + const ALfloat (*restrict CoeffStep)[2], ALfloat left, ALfloat right); -static __inline void ApplyCoeffs(ALuint Offset, ALfloat (*RESTRICT Values)[2], +static __inline void ApplyCoeffs(ALuint Offset, ALfloat (*restrict Values)[2], const ALuint irSize, - ALfloat (*RESTRICT Coeffs)[2], + ALfloat (*restrict Coeffs)[2], ALfloat left, ALfloat right); -void MixDirect_Hrtf(const DirectParams *params, const ALfloat *RESTRICT data, ALuint srcchan, +void MixDirect_Hrtf(const DirectParams *params, const ALfloat *restrict data, ALuint srcchan, ALuint OutPos, ALuint SamplesToDo, ALuint BufferSize) { - ALfloat (*RESTRICT DryBuffer)[BUFFERSIZE] = params->OutBuffer; - ALfloat *RESTRICT ClickRemoval = params->ClickRemoval; - ALfloat *RESTRICT PendingClicks = params->PendingClicks; + ALfloat (*restrict DryBuffer)[BUFFERSIZE] = params->OutBuffer; + ALfloat *restrict ClickRemoval = params->ClickRemoval; + ALfloat *restrict PendingClicks = params->PendingClicks; const ALuint IrSize = params->Hrtf.Params.IrSize; - const ALint *RESTRICT DelayStep = params->Hrtf.Params.DelayStep; - const ALfloat (*RESTRICT CoeffStep)[2] = params->Hrtf.Params.CoeffStep; - const ALfloat (*RESTRICT TargetCoeffs)[2] = params->Hrtf.Params.Coeffs[srcchan]; - const ALuint *RESTRICT TargetDelay = params->Hrtf.Params.Delay[srcchan]; - ALfloat *RESTRICT History = params->Hrtf.State->History[srcchan]; - ALfloat (*RESTRICT Values)[2] = params->Hrtf.State->Values[srcchan]; + const ALint *restrict DelayStep = params->Hrtf.Params.DelayStep; + const ALfloat (*restrict CoeffStep)[2] = params->Hrtf.Params.CoeffStep; + const ALfloat (*restrict TargetCoeffs)[2] = params->Hrtf.Params.Coeffs[srcchan]; + const ALuint *restrict TargetDelay = params->Hrtf.Params.Delay[srcchan]; + ALfloat *restrict History = params->Hrtf.State->History[srcchan]; + ALfloat (*restrict Values)[2] = params->Hrtf.State->Values[srcchan]; ALint Counter = maxu(params->Hrtf.State->Counter, OutPos) - OutPos; ALuint Offset = params->Hrtf.State->Offset + OutPos; ALIGN(16) ALfloat Coeffs[HRIR_LENGTH][2]; diff --git a/Alc/mixer_neon.c b/Alc/mixer_neon.c index 23dc792c..3006194c 100644 --- a/Alc/mixer_neon.c +++ b/Alc/mixer_neon.c @@ -10,10 +10,10 @@ #include "alu.h" -static __inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*RESTRICT Values)[2], +static __inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*restrict Values)[2], const ALuint IrSize, - ALfloat (*RESTRICT Coeffs)[2], - const ALfloat (*RESTRICT CoeffStep)[2], + ALfloat (*restrict Coeffs)[2], + const ALfloat (*restrict CoeffStep)[2], ALfloat left, ALfloat right) { ALuint c; @@ -27,9 +27,9 @@ static __inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*RESTRICT Values)[2 } } -static __inline void ApplyCoeffs(ALuint Offset, ALfloat (*RESTRICT Values)[2], +static __inline void ApplyCoeffs(ALuint Offset, ALfloat (*restrict Values)[2], const ALuint IrSize, - ALfloat (*RESTRICT Coeffs)[2], + ALfloat (*restrict Coeffs)[2], ALfloat left, ALfloat right) { ALuint c; diff --git a/Alc/mixer_sse.c b/Alc/mixer_sse.c index 3c45fd21..2cb3db98 100644 --- a/Alc/mixer_sse.c +++ b/Alc/mixer_sse.c @@ -14,10 +14,10 @@ #include "mixer_defs.h" -static __inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*RESTRICT Values)[2], +static __inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*restrict Values)[2], const ALuint IrSize, - ALfloat (*RESTRICT Coeffs)[2], - const ALfloat (*RESTRICT CoeffStep)[2], + ALfloat (*restrict Coeffs)[2], + const ALfloat (*restrict CoeffStep)[2], ALfloat left, ALfloat right) { const __m128 lrlr = { left, right, left, right }; @@ -76,9 +76,9 @@ static __inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*RESTRICT Values)[2 } } -static __inline void ApplyCoeffs(ALuint Offset, ALfloat (*RESTRICT Values)[2], +static __inline void ApplyCoeffs(ALuint Offset, ALfloat (*restrict Values)[2], const ALuint IrSize, - ALfloat (*RESTRICT Coeffs)[2], + ALfloat (*restrict Coeffs)[2], ALfloat left, ALfloat right) { const __m128 lrlr = { left, right, left, right }; @@ -133,12 +133,12 @@ static __inline void ApplyCoeffs(ALuint Offset, ALfloat (*RESTRICT Values)[2], #undef SUFFIX -void MixDirect_SSE(const DirectParams *params, const ALfloat *RESTRICT data, ALuint srcchan, +void MixDirect_SSE(const DirectParams *params, const ALfloat *restrict data, ALuint srcchan, ALuint OutPos, ALuint SamplesToDo, ALuint BufferSize) { - ALfloat (*RESTRICT DryBuffer)[BUFFERSIZE] = params->OutBuffer; - ALfloat *RESTRICT ClickRemoval = params->ClickRemoval; - ALfloat *RESTRICT PendingClicks = params->PendingClicks; + ALfloat (*restrict DryBuffer)[BUFFERSIZE] = params->OutBuffer; + ALfloat *restrict ClickRemoval = params->ClickRemoval; + ALfloat *restrict PendingClicks = params->PendingClicks; ALfloat DrySend; ALuint pos; ALuint c; @@ -171,13 +171,13 @@ void MixDirect_SSE(const DirectParams *params, const ALfloat *RESTRICT data, ALu } -void MixSend_SSE(const SendParams *params, const ALfloat *RESTRICT data, +void MixSend_SSE(const SendParams *params, const ALfloat *restrict data, ALuint OutPos, ALuint SamplesToDo, ALuint BufferSize) { ALeffectslot *Slot = params->Slot; - ALfloat (*RESTRICT WetBuffer)[BUFFERSIZE] = Slot->WetBuffer; - ALfloat *RESTRICT WetClickRemoval = Slot->ClickRemoval; - ALfloat *RESTRICT WetPendingClicks = Slot->PendingClicks; + ALfloat (*restrict WetBuffer)[BUFFERSIZE] = Slot->WetBuffer; + ALfloat *restrict WetClickRemoval = Slot->ClickRemoval; + ALfloat *restrict WetPendingClicks = Slot->PendingClicks; const ALfloat WetGain = params->Gain; __m128 gain; ALuint pos; diff --git a/CMakeLists.txt b/CMakeLists.txt index b86de3d3..8c85be15 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,7 +95,6 @@ SET(LIB_VERSION "${LIB_MAJOR_VERSION}.${LIB_MINOR_VERSION}.${LIB_REVISION}") SET(EXPORT_DECL "") SET(ALIGN_DECL "") -SET(RESTRICT_DECL "") CHECK_TYPE_SIZE("long" SIZEOF_LONG) @@ -104,13 +103,13 @@ CHECK_TYPE_SIZE("long long" SIZEOF_LONG_LONG) CHECK_C_SOURCE_COMPILES("int *restrict foo; int main() {return 0;}" HAVE_RESTRICT) -IF(HAVE_RESTRICT) - SET(RESTRICT_DECL "restrict") -ELSE() +IF(NOT HAVE_RESTRICT) CHECK_C_SOURCE_COMPILES("int *__restrict foo; int main() {return 0;}" HAVE___RESTRICT) IF(HAVE___RESTRICT) - SET(RESTRICT_DECL "__restrict") + ADD_DEFINITIONS(-Drestrict=__restrict) + ELSE() + ADD_DEFINITIONS(-Drestrict=) ENDIF() ENDIF() diff --git a/OpenAL32/Include/alAuxEffectSlot.h b/OpenAL32/Include/alAuxEffectSlot.h index 537f0a8a..a81c1326 100644 --- a/OpenAL32/Include/alAuxEffectSlot.h +++ b/OpenAL32/Include/alAuxEffectSlot.h @@ -17,7 +17,7 @@ struct ALeffectStateVtable { ALvoid (*const Destruct)(ALeffectState *state); ALboolean (*const DeviceUpdate)(ALeffectState *state, ALCdevice *device); ALvoid (*const Update)(ALeffectState *state, ALCdevice *device, const ALeffectslot *slot); - ALvoid (*const Process)(ALeffectState *state, ALuint samplesToDo, const ALfloat *RESTRICT samplesIn, ALfloat (*RESTRICT samplesOut)[BUFFERSIZE]); + ALvoid (*const Process)(ALeffectState *state, ALuint samplesToDo, const ALfloat *restrict samplesIn, ALfloat (*restrict samplesOut)[BUFFERSIZE]); ALeffectStateFactory *(*const getCreator)(void); }; @@ -38,7 +38,7 @@ static ALboolean T##_ALeffectState_DeviceUpdate(ALeffectState *state, ALCdevice { return T##_DeviceUpdate(STATIC_UPCAST(T, ALeffectState, state), device); } \ static ALvoid T##_ALeffectState_Update(ALeffectState *state, ALCdevice *device, const ALeffectslot *slot) \ { T##_Update(STATIC_UPCAST(T, ALeffectState, state), device, slot); } \ -static ALvoid T##_ALeffectState_Process(ALeffectState *state, ALuint samplesToDo, const ALfloat *RESTRICT samplesIn, ALfloat (*RESTRICT samplesOut)[BUFFERSIZE]) \ +static ALvoid T##_ALeffectState_Process(ALeffectState *state, ALuint samplesToDo, const ALfloat *restrict samplesIn, ALfloat (*restrict samplesOut)[BUFFERSIZE]) \ { T##_Process(STATIC_UPCAST(T, ALeffectState, state), samplesToDo, samplesIn, samplesOut); } \ static ALeffectStateFactory* T##_ALeffectState_getCreator(void) \ { return T##_getCreator(); } \ diff --git a/OpenAL32/Include/alu.h b/OpenAL32/Include/alu.h index 01d3ca29..f323b0d0 100644 --- a/OpenAL32/Include/alu.h +++ b/OpenAL32/Include/alu.h @@ -31,14 +31,14 @@ struct DirectParams; struct SendParams; typedef void (*ResamplerFunc)(const ALfloat *src, ALuint frac, ALuint increment, - ALfloat *RESTRICT dst, ALuint dstlen); + ALfloat *restrict dst, ALuint dstlen); typedef ALvoid (*DryMixerFunc)(const struct DirectParams *params, - const ALfloat *RESTRICT data, ALuint srcchan, + const ALfloat *restrict data, ALuint srcchan, ALuint OutPos, ALuint SamplesToDo, ALuint BufferSize); typedef ALvoid (*WetMixerFunc)(const struct SendParams *params, - const ALfloat *RESTRICT data, + const ALfloat *restrict data, ALuint OutPos, ALuint SamplesToDo, ALuint BufferSize); diff --git a/OpenAL32/alAuxEffectSlot.c b/OpenAL32/alAuxEffectSlot.c index 5d0d7a18..ed82b00b 100644 --- a/OpenAL32/alAuxEffectSlot.c +++ b/OpenAL32/alAuxEffectSlot.c @@ -425,7 +425,7 @@ static ALvoid ALnoneState_Update(ALnoneState *state, ALCdevice *device, const AL (void)device; (void)slot; } -static ALvoid ALnoneState_Process(ALnoneState *state, ALuint samplesToDo, const ALfloat *RESTRICT samplesIn, ALfloat (*RESTRICT samplesOut)[BUFFERSIZE]) +static ALvoid ALnoneState_Process(ALnoneState *state, ALuint samplesToDo, const ALfloat *restrict samplesIn, ALfloat (*restrict samplesOut)[BUFFERSIZE]) { (void)state; (void)samplesToDo; diff --git a/config.h.in b/config.h.in index 6f45fa84..9b6092fc 100644 --- a/config.h.in +++ b/config.h.in @@ -11,9 +11,6 @@ #define align(x) aligned(x) #endif -/* Define to the appropriate 'restrict' keyword */ -#define RESTRICT ${RESTRICT_DECL} - /* Define if we have the C11 aligned_alloc function */ #cmakedefine HAVE_ALIGNED_ALLOC |