Chris Robinson
|
ab0b5d9890
|
Hold the context lock only as needed when handling the listener
|
2011-08-31 00:33:33 -07:00 |
|
Chris Robinson
|
23f576360c
|
Avoid locking the context while getting and setting global state
|
2011-08-31 00:19:27 -07:00 |
|
Chris Robinson
|
d7bd9c7559
|
Use the active effect slot list for pending updates in alDeferUpdatesSOFT
|
2011-08-30 23:33:01 -07:00 |
|
Chris Robinson
|
9fb91f70aa
|
Rename GetReffedContext to GetContextRef
|
2011-08-30 23:28:38 -07:00 |
|
Chris Robinson
|
a32a3bcda8
|
Use a more appropriate error for trying to delete an effect slot that's in use
|
2011-08-30 20:57:14 -07:00 |
|
Chris Robinson
|
16dc73ff48
|
Hold the lock only as needed when generating and deleting effect slots
|
2011-08-30 20:49:49 -07:00 |
|
Chris Robinson
|
0a1321aaae
|
Add a limit to the UIntMap size and use it for sources and effect slots
|
2011-08-30 20:33:47 -07:00 |
|
Chris Robinson
|
189add1d5a
|
Use a separate array for the auxiliary slots in the mixer
|
2011-08-30 20:13:42 -07:00 |
|
Chris Robinson
|
755062fb76
|
Fix compilation with MSVC
|
2011-08-30 17:55:52 -07:00 |
|
Chris Robinson
|
7d577832cd
|
Add functions to retrieve the source from the source map while removing it
|
2011-08-30 17:32:49 -07:00 |
|
Chris Robinson
|
c4866afbe0
|
Use a RWLock and atomic exchanges for thunk handling
|
2011-08-30 17:24:58 -07:00 |
|
Chris Robinson
|
ee60248d19
|
Lock the context while deleting sources only as needed
|
2011-08-30 00:33:01 -07:00 |
|
Chris Robinson
|
d546813c05
|
Don't lock the context while checking the validity of objects
|
2011-08-30 00:04:02 -07:00 |
|
Chris Robinson
|
f02d9e22d7
|
Do a pointer exchange when replacing the source buffer queue
|
2011-08-29 23:55:24 -07:00 |
|
Chris Robinson
|
cc67f45892
|
Use the reference counting functions for the buffer and auxiliary slot refs
|
2011-08-29 23:10:02 -07:00 |
|
Chris Robinson
|
c6a110ec59
|
Hold the context lock as needed while generating and deleting sources
|
2011-08-29 22:51:18 -07:00 |
|
Chris Robinson
|
7408396fd4
|
Use a generic int type to handle enum swaps
|
2011-08-29 21:30:12 -07:00 |
|
Chris Robinson
|
da081b81c4
|
Do a compare-exchange to set the context error
This allows for unlocked context access when getting the error
|
2011-08-29 20:52:13 -07:00 |
|
Chris Robinson
|
500ad776ea
|
Exchange the AL error when retrieving it
|
2011-08-29 20:34:47 -07:00 |
|
Chris Robinson
|
e4a2b69b37
|
Make specific functions to lock/unlock UIntMap access
|
2011-08-29 20:21:28 -07:00 |
|
Chris Robinson
|
8eaa9bb469
|
Manually lock the map while iterating through its contents
|
2011-08-29 20:05:50 -07:00 |
|
Chris Robinson
|
b283dd3682
|
Use a read-write lock to protect access to the UInt maps
|
2011-08-29 19:15:22 -07:00 |
|
Chris Robinson
|
4a5dd73a3c
|
Make the source's NeedsUpdate volatile
|
2011-08-29 13:43:59 -07:00 |
|
Chris Robinson
|
950570b8c3
|
Do a proper exchange when setting a new state
|
2011-08-29 13:29:37 -07:00 |
|
Chris Robinson
|
72beb577b6
|
Lock the context as needed for the defer and process calls
|
2011-08-29 13:22:07 -07:00 |
|
Chris Robinson
|
de65ee08c9
|
Make ALCcontext's DeferUpdates field volatile
|
2011-08-29 11:55:01 -07:00 |
|
Chris Robinson
|
c06f4eb7f7
|
Hold a reference on the global context
|
2011-08-29 11:10:17 -07:00 |
|
Chris Robinson
|
0abe13e3ad
|
GCC's atomic built-ins were introduced in 4.1.0, so check for that version
|
2011-08-29 10:51:58 -07:00 |
|
Chris Robinson
|
2ac808ffa2
|
Fix typo
|
2011-08-29 01:01:20 -07:00 |
|
Chris Robinson
|
58078e2c1e
|
Use atomic exchanges when checking for updates to objects' internal parameters
|
2011-08-29 00:50:55 -07:00 |
|
Chris Robinson
|
01503f8a7b
|
Use an enum instead of an boolean for some flags
They still only hold AL_TRUE or AL_FALSE, but some systems can't properly
handle atomic swaps of 1-byte types.
|
2011-08-29 00:03:09 -07:00 |
|
Chris Robinson
|
aa99e1220b
|
Increment the context reference count when locking
|
2011-08-28 23:49:50 -07:00 |
|
Chris Robinson
|
783375af56
|
Use a list of contexts in the device instead of an array
|
2011-08-28 19:28:41 -07:00 |
|
Chris Robinson
|
1d9f21f6dc
|
Avoid a global list of contexts
|
2011-08-28 18:53:23 -07:00 |
|
Chris Robinson
|
0900c281a3
|
Check if the context is valid only if it's replacing the current thread context
|
2011-08-28 18:17:06 -07:00 |
|
Chris Robinson
|
f8c4b16c30
|
Hold a reference on the context when being set as current on the thread
This should vastly improve efficiency for retrieving the current thread
context, as we can be assured the stored context pointer will always be valid.
|
2011-08-28 18:08:48 -07:00 |
|
Chris Robinson
|
c567339718
|
Rename ALCcontext_Deref to ALCcontext_DecRef
|
2011-08-28 17:38:55 -07:00 |
|
Chris Robinson
|
5eceb593e9
|
Emulate pthread TLS functions in Windows
|
2011-08-28 17:21:01 -07:00 |
|
Chris Robinson
|
82244f298c
|
Add reference counting to the ALC contexts
|
2011-08-28 15:44:03 -07:00 |
|
Chris Robinson
|
3ab20d4ccb
|
Print an error for invalid speaker layout keys
|
2011-08-28 10:25:40 -07:00 |
|
Chris Robinson
|
ccc2644e6b
|
Free the WaveIn buffers' data after unpreparing them all
|
2011-08-25 11:33:13 -07:00 |
|
Chris Robinson
|
7e2155d937
|
Return an ALC error enum from the OpenCapture backend method
|
2011-08-24 14:44:15 -07:00 |
|
Chris Robinson
|
c696d4dbb2
|
Return an ALC error enum from the OpenPlayback backend method
|
2011-08-24 14:24:48 -07:00 |
|
Chris Robinson
|
f5195ee4f2
|
Remove the Buffer field from the source
|
2011-08-23 09:55:22 -07:00 |
|
Chris Robinson
|
9f25ad42c1
|
Explicitly set BufferListStart's prev field
|
2011-08-23 09:27:35 -07:00 |
|
Chris Robinson
|
1d4dc7d7a9
|
Add AL_SOFTX_deferred_updates to the context's extension list
|
2011-08-22 18:57:28 -07:00 |
|
Chris Robinson
|
65d42083e1
|
Prevent source and effect slot updates from occuring while updates are deferred
|
2011-08-22 17:13:03 -07:00 |
|
Chris Robinson
|
6992a67dd9
|
Remove some g_ prefixes
|
2011-08-22 07:50:08 -07:00 |
|
Chris Robinson
|
922f5fa081
|
Rename a couple variables
|
2011-08-22 07:44:22 -07:00 |
|
Chris Robinson
|
199df253ca
|
Always use the thunk functions to get object IDs
|
2011-08-22 07:40:14 -07:00 |
|