aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Alc/effects/reverb.c7
-rw-r--r--Alc/uhjfilter.c2
-rw-r--r--OpenAL32/Include/alMain.h8
3 files changed, 10 insertions, 7 deletions
diff --git a/Alc/effects/reverb.c b/Alc/effects/reverb.c
index 52e3ec09..1edd650f 100644
--- a/Alc/effects/reverb.c
+++ b/Alc/effects/reverb.c
@@ -54,11 +54,6 @@ ALboolean EmulateEAXReverb = AL_FALSE;
*/
#define FADE_SAMPLES 128
-#ifdef __GNUC__
-#define UNEXPECTED(x) __builtin_expect((bool)(x), 0)
-#else
-#define UNEXPECTED(x) (x)
-#endif
static RowMixerFunc MixRowSamples = MixRow_C;
@@ -1868,7 +1863,7 @@ static ALvoid ALreverbState_process(ALreverbState *State, ALsizei SamplesToDo, c
/* Process the samples for reverb. */
fade = ReverbProc(State, todo, fade, afmt, early, late);
- if(UNEXPECTED(fadeCount < FADE_SAMPLES) && (fadeCount += todo) >= FADE_SAMPLES)
+ if(UNLIKELY(fadeCount < FADE_SAMPLES) && (fadeCount += todo) >= FADE_SAMPLES)
{
/* Update the cross-fading delay line taps. */
fadeCount = FADE_SAMPLES;
diff --git a/Alc/uhjfilter.c b/Alc/uhjfilter.c
index 8e2febae..6f9fb37d 100644
--- a/Alc/uhjfilter.c
+++ b/Alc/uhjfilter.c
@@ -20,7 +20,7 @@ static void allpass_process(AllPassState *state, ALfloat *restrict dst, const AL
{
ALsizei i;
- if(todo > 1)
+ if(LIKELY(todo > 1))
{
dst[0] = aa*(src[0] + state->y[1]) - state->x[1];
dst[1] = aa*(src[1] + state->y[0]) - state->x[0];
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h
index fe282c88..37baabed 100644
--- a/OpenAL32/Include/alMain.h
+++ b/OpenAL32/Include/alMain.h
@@ -203,6 +203,14 @@ AL_API ALboolean AL_APIENTRY alIsBufferFormatSupportedSOFT(ALenum format);
#endif
+#ifdef __GNUC__
+#define LIKELY(x) __builtin_expect(!!(x), !0)
+#define UNLIKELY(x) __builtin_expect(!!(x), 0)
+#else
+#define LIKELY(x) (!!(x))
+#define UNLIKELY(x) (!!(x))
+#endif
+
typedef ALint64SOFT ALint64;
typedef ALuint64SOFT ALuint64;