diff options
author | Chris Robinson <[email protected]> | 2011-07-16 16:59:20 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2011-07-16 16:59:20 -0700 |
commit | 163cc62a00f755e0df5d83f4196178bd85be9bde (patch) | |
tree | d1aa0417909420f02a7b7113b3417298f4644e40 /OpenAL32/alState.c | |
parent | 5f566ebf05873aafd54b7613d35d363fbb8943c2 (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.c | 45 |
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); +} |