aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/ALc.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2016-08-23 18:56:01 -0700
committerChris Robinson <[email protected]>2016-08-23 18:56:01 -0700
commitdc8b7814c771d08abe61656b745e7763a010a3a3 (patch)
tree9d1f91b7829d2a7d29654d708a837bbf6cfb99c3 /Alc/ALc.c
parentbd054632e0ba42ad93dd3bcad54042a126a65646 (diff)
Avoid resupplying unneeded source updates
The source's voice holds a copy of the last properties it received, so listener updates can make sources recalculate internal properties from that stored copy.
Diffstat (limited to 'Alc/ALc.c')
-rw-r--r--Alc/ALc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Alc/ALc.c b/Alc/ALc.c
index dbda46f1..f5965716 100644
--- a/Alc/ALc.c
+++ b/Alc/ALc.c
@@ -1602,8 +1602,6 @@ void ALCcontext_ProcessUpdates(ALCcontext *context)
{
ALsizei pos;
- UpdateListenerProps(context);
-
LockUIntMapRead(&context->SourceMap);
V0(device->Backend,lock)();
for(pos = 0;pos < context->SourceMap.size;pos++)
@@ -1626,6 +1624,8 @@ void ALCcontext_ProcessUpdates(ALCcontext *context)
}
V0(device->Backend,unlock)();
UnlockUIntMapRead(&context->SourceMap);
+
+ UpdateListenerProps(context);
UpdateAllSourceProps(context);
}
ReadUnlock(&context->PropLock);