diff options
author | Chris Robinson <[email protected]> | 2023-09-12 22:32:34 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2023-09-12 22:32:34 -0700 |
commit | a7fc952036668d6e6bdf7737cc13e92b4002259c (patch) | |
tree | 9a48f5faa59cb9ef82f5e2f746ddb0e04846de71 /alc/export_list.h | |
parent | 6722ad196145ef7334d7478bdd375308801e7096 (diff) |
Add a alcGetProcAddress2 function
This is essentially just a copy of alcGetProcAddress. It's purpose is to bypass
Creative's router's alcGetProcAddress implementation, which returns its own
functions even if given a device handle. When combined with it also wrapping
the drivers' device and context handles, that prevents any extention function
that needs a recognizable device or context handle from working, like the
*Direct functions, as there's no way for the app to get a device or context
handle the driver can know about).
An alternate function to get function pointers allows a driver to return its
own implementation for standard and extension functions, which an application
can use to "bootstrap" audio to use a particular driver directly, enabling
use of extensions that the router gets in the way of (and also avoid the
overhead of the router, however small that may be).
Diffstat (limited to 'alc/export_list.h')
-rw-r--r-- | alc/export_list.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/alc/export_list.h b/alc/export_list.h index 9e92570e..cefe7a09 100644 --- a/alc/export_list.h +++ b/alc/export_list.h @@ -220,6 +220,7 @@ inline const FuncExport alcFunctions[]{ DECL(alGetDebugMessageLogEXT), /* Direct Context functions */ + DECL(alcGetProcAddress2), DECL(alEnableDirect), DECL(alDisableDirect), DECL(alIsEnabledDirect), |