aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/alState.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2011-07-16 16:59:20 -0700
committerChris Robinson <[email protected]>2011-07-16 16:59:20 -0700
commit163cc62a00f755e0df5d83f4196178bd85be9bde (patch)
treed1aa0417909420f02a7b7113b3417298f4644e40 /OpenAL32/alState.c
parent5f566ebf05873aafd54b7613d35d363fbb8943c2 (diff)
Add a couple new functions to handle deferred updates
Currently no-ops, they will be used in place of alcSuspendContext and alcProcessContext for batching updates since the mentioned functions have no coherent functionality between system implementations.
Diffstat (limited to 'OpenAL32/alState.c')
-rw-r--r--OpenAL32/alState.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/OpenAL32/alState.c b/OpenAL32/alState.c
index 8bc50989..3c1ab9b8 100644
--- a/OpenAL32/alState.c
+++ b/OpenAL32/alState.c
@@ -138,6 +138,10 @@ AL_API ALboolean AL_APIENTRY alGetBoolean(ALenum pname)
value = AL_TRUE;
break;
+ case AL_DEFERRED_UPDATES_SOFT:
+ value = Context->DeferUpdates;
+ break;
+
default:
alSetError(Context, AL_INVALID_ENUM);
break;
@@ -174,6 +178,10 @@ AL_API ALdouble AL_APIENTRY alGetDouble(ALenum pname)
value = (double)Context->flSpeedOfSound;
break;
+ case AL_DEFERRED_UPDATES_SOFT:
+ value = (ALdouble)Context->DeferUpdates;
+ break;
+
default:
alSetError(Context, AL_INVALID_ENUM);
break;
@@ -210,6 +218,10 @@ AL_API ALfloat AL_APIENTRY alGetFloat(ALenum pname)
value = Context->flSpeedOfSound;
break;
+ case AL_DEFERRED_UPDATES_SOFT:
+ value = (ALfloat)Context->DeferUpdates;
+ break;
+
default:
alSetError(Context, AL_INVALID_ENUM);
break;
@@ -246,6 +258,10 @@ AL_API ALint AL_APIENTRY alGetInteger(ALenum pname)
value = (ALint)Context->flSpeedOfSound;
break;
+ case AL_DEFERRED_UPDATES_SOFT:
+ value = (ALint)Context->DeferUpdates;
+ break;
+
default:
alSetError(Context, AL_INVALID_ENUM);
break;
@@ -268,6 +284,7 @@ AL_API ALvoid AL_APIENTRY alGetBooleanv(ALenum pname,ALboolean *data)
case AL_DOPPLER_VELOCITY:
case AL_DISTANCE_MODEL:
case AL_SPEED_OF_SOUND:
+ case AL_DEFERRED_UPDATES_SOFT:
*data = alGetBoolean(pname);
return;
}
@@ -306,6 +323,7 @@ AL_API ALvoid AL_APIENTRY alGetDoublev(ALenum pname,ALdouble *data)
case AL_DOPPLER_VELOCITY:
case AL_DISTANCE_MODEL:
case AL_SPEED_OF_SOUND:
+ case AL_DEFERRED_UPDATES_SOFT:
*data = alGetDouble(pname);
return;
}
@@ -344,6 +362,7 @@ AL_API ALvoid AL_APIENTRY alGetFloatv(ALenum pname,ALfloat *data)
case AL_DOPPLER_VELOCITY:
case AL_DISTANCE_MODEL:
case AL_SPEED_OF_SOUND:
+ case AL_DEFERRED_UPDATES_SOFT:
*data = alGetFloat(pname);
return;
}
@@ -382,6 +401,7 @@ AL_API ALvoid AL_APIENTRY alGetIntegerv(ALenum pname,ALint *data)
case AL_DOPPLER_VELOCITY:
case AL_DISTANCE_MODEL:
case AL_SPEED_OF_SOUND:
+ case AL_DEFERRED_UPDATES_SOFT:
*data = alGetInteger(pname);
return;
}
@@ -550,3 +570,28 @@ AL_API ALvoid AL_APIENTRY alDistanceModel(ALenum value)
UnlockContext(Context);
}
+
+
+AL_API ALvoid AL_APIENTRY alDeferUpdatesSOFT(void)
+{
+ ALCcontext *Context;
+
+ Context = GetLockedContext();
+ if(!Context) return;
+
+ Context->DeferUpdates = AL_TRUE;
+
+ UnlockContext(Context);
+}
+
+AL_API ALvoid AL_APIENTRY alProcessUpdatesSOFT(void)
+{
+ ALCcontext *Context;
+
+ Context = GetLockedContext();
+ if(!Context) return;
+
+ Context->DeferUpdates = AL_FALSE;
+
+ UnlockContext(Context);
+}