| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to the programming guide and the specification, those functions
may be used by extensions. However, Creative's hardware OpenAL chose
to not implement stub functions for those that they do not use. Currently
they use only alBufferi for X-RAM related functions.
Other implementations, such as OpenAL Soft and wrap_oal implement stub
functions for those methods therefore they work.
This commit turns those functions optional, just like they were in the
old FOSS router. Consumers of the router will receive a nullptr as expected
for not implemented methods if they load them using alGetProcAddress, which
I believe is the correct way to do so. That is, the context must be current
before loading al* functions.
|
|
|
|
|
| |
They're necessary for proper exports whem building the router. And if there's
ever a spec update that standardizes them, they'll be needed anyway.
|
|
|
|
|
|
| |
Creative's wrapper driver doesn't handle them through alcGetProcAddress, at
least with a null device. For this to work properly, they'd have to be loaded
per-context instead of per-driver.
|
|
|
|
|
|
|
|
|
|
| |
MinGW-w64 generates bad code when accessing extern thread_local objects.
Wrapper functions are used to ensure it only accesses them from the same place
they're defined. This unfortunately adds a bit of overhead for what should be a
relatively simple thing.
These functions are inlined for non-MinGW targets, avoiding the overhead on
non-affected targets.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|