diff options
author | Chris Robinson <[email protected]> | 2022-02-26 10:41:06 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2022-02-26 10:41:06 -0800 |
commit | c2d2ef2c0e3ec66d83c7c35ba0046dc347704e25 (patch) | |
tree | 51ddc2b22f224cce0130e488274be47867171b43 /router | |
parent | ab8b828c57c9b239a58634c470a35b282a879cbb (diff) |
Don't handle EFX functions in the router
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.
Diffstat (limited to 'router')
-rw-r--r-- | router/al.cpp | 36 | ||||
-rw-r--r-- | router/alc.cpp | 34 | ||||
-rw-r--r-- | router/router.cpp | 39 | ||||
-rw-r--r-- | router/router.h | 34 |
4 files changed, 3 insertions, 140 deletions
diff --git a/router/al.cpp b/router/al.cpp index db18206e..aabb5f30 100644 --- a/router/al.cpp +++ b/router/al.cpp @@ -130,39 +130,3 @@ DECL_THUNK3(void, alGetBufferi, ALuint, ALenum, ALint*) DECL_THUNK5(void, alGetBuffer3i, ALuint, ALenum, ALint*, ALint*, ALint*) DECL_THUNK3(void, alGetBufferiv, ALuint, ALenum, ALint*) DECL_THUNK5(void, alBufferData, ALuint, ALenum, const ALvoid*, ALsizei, ALsizei) - -DECL_THUNK2(void, alGenFilters, ALsizei, ALuint*) -DECL_THUNK2(void, alDeleteFilters, ALsizei, const ALuint*) -DECL_THUNK1(ALboolean, alIsFilter, ALuint) -DECL_THUNK3(void, alFilterf, ALuint, ALenum, ALfloat) -DECL_THUNK3(void, alFilterfv, ALuint, ALenum, const ALfloat*) -DECL_THUNK3(void, alFilteri, ALuint, ALenum, ALint) -DECL_THUNK3(void, alFilteriv, ALuint, ALenum, const ALint*) -DECL_THUNK3(void, alGetFilterf, ALuint, ALenum, ALfloat*) -DECL_THUNK3(void, alGetFilterfv, ALuint, ALenum, ALfloat*) -DECL_THUNK3(void, alGetFilteri, ALuint, ALenum, ALint*) -DECL_THUNK3(void, alGetFilteriv, ALuint, ALenum, ALint*) - -DECL_THUNK2(void, alGenEffects, ALsizei, ALuint*) -DECL_THUNK2(void, alDeleteEffects, ALsizei, const ALuint*) -DECL_THUNK1(ALboolean, alIsEffect, ALuint) -DECL_THUNK3(void, alEffectf, ALuint, ALenum, ALfloat) -DECL_THUNK3(void, alEffectfv, ALuint, ALenum, const ALfloat*) -DECL_THUNK3(void, alEffecti, ALuint, ALenum, ALint) -DECL_THUNK3(void, alEffectiv, ALuint, ALenum, const ALint*) -DECL_THUNK3(void, alGetEffectf, ALuint, ALenum, ALfloat*) -DECL_THUNK3(void, alGetEffectfv, ALuint, ALenum, ALfloat*) -DECL_THUNK3(void, alGetEffecti, ALuint, ALenum, ALint*) -DECL_THUNK3(void, alGetEffectiv, ALuint, ALenum, ALint*) - -DECL_THUNK2(void, alGenAuxiliaryEffectSlots, ALsizei, ALuint*) -DECL_THUNK2(void, alDeleteAuxiliaryEffectSlots, ALsizei, const ALuint*) -DECL_THUNK1(ALboolean, alIsAuxiliaryEffectSlot, ALuint) -DECL_THUNK3(void, alAuxiliaryEffectSlotf, ALuint, ALenum, ALfloat) -DECL_THUNK3(void, alAuxiliaryEffectSlotfv, ALuint, ALenum, const ALfloat*) -DECL_THUNK3(void, alAuxiliaryEffectSloti, ALuint, ALenum, ALint) -DECL_THUNK3(void, alAuxiliaryEffectSlotiv, ALuint, ALenum, const ALint*) -DECL_THUNK3(void, alGetAuxiliaryEffectSlotf, ALuint, ALenum, ALfloat*) -DECL_THUNK3(void, alGetAuxiliaryEffectSlotfv, ALuint, ALenum, ALfloat*) -DECL_THUNK3(void, alGetAuxiliaryEffectSloti, ALuint, ALenum, ALint*) -DECL_THUNK3(void, alGetAuxiliaryEffectSlotiv, ALuint, ALenum, ALint*) diff --git a/router/alc.cpp b/router/alc.cpp index 5532c047..210f683e 100644 --- a/router/alc.cpp +++ b/router/alc.cpp @@ -118,40 +118,6 @@ static const std::array<FuncExportEntry,128> alcFunctions{{ DECL(alDopplerVelocity), DECL(alSpeedOfSound), DECL(alDistanceModel), - - DECL(alGenFilters), - DECL(alDeleteFilters), - DECL(alIsFilter), - DECL(alFilterf), - DECL(alFilterfv), - DECL(alFilteri), - DECL(alFilteriv), - DECL(alGetFilterf), - DECL(alGetFilterfv), - DECL(alGetFilteri), - DECL(alGetFilteriv), - DECL(alGenEffects), - DECL(alDeleteEffects), - DECL(alIsEffect), - DECL(alEffectf), - DECL(alEffectfv), - DECL(alEffecti), - DECL(alEffectiv), - DECL(alGetEffectf), - DECL(alGetEffectfv), - DECL(alGetEffecti), - DECL(alGetEffectiv), - DECL(alGenAuxiliaryEffectSlots), - DECL(alDeleteAuxiliaryEffectSlots), - DECL(alIsAuxiliaryEffectSlot), - DECL(alAuxiliaryEffectSlotf), - DECL(alAuxiliaryEffectSlotfv), - DECL(alAuxiliaryEffectSloti), - DECL(alAuxiliaryEffectSlotiv), - DECL(alGetAuxiliaryEffectSlotf), - DECL(alGetAuxiliaryEffectSlotfv), - DECL(alGetAuxiliaryEffectSloti), - DECL(alGetAuxiliaryEffectSlotiv), }}; #undef DECL diff --git a/router/router.cpp b/router/router.cpp index 7eb0bddc..67c34812 100644 --- a/router/router.cpp +++ b/router/router.cpp @@ -214,7 +214,10 @@ static void AddModule(HMODULE module, const WCHAR *name) if(newdrv.alcGetError(nullptr) == ALC_NO_ERROR) newdrv.ALCVer = MAKE_ALC_VER(alc_ver[0], alc_ver[1]); else + { + WARN("Failed to query ALC version for %ls, assuming 1.0\n", name); newdrv.ALCVer = MAKE_ALC_VER(1, 0); + } #undef LOAD_PROC #define LOAD_PROC(x) do { \ @@ -231,42 +234,6 @@ static void AddModule(HMODULE module, const WCHAR *name) LOAD_PROC(alcSetThreadContext); LOAD_PROC(alcGetThreadContext); } - if(newdrv.alcIsExtensionPresent(nullptr, "ALC_EXT_EFX")) - { - LOAD_PROC(alGenFilters); - LOAD_PROC(alDeleteFilters); - LOAD_PROC(alIsFilter); - LOAD_PROC(alFilterf); - LOAD_PROC(alFilterfv); - LOAD_PROC(alFilteri); - LOAD_PROC(alFilteriv); - LOAD_PROC(alGetFilterf); - LOAD_PROC(alGetFilterfv); - LOAD_PROC(alGetFilteri); - LOAD_PROC(alGetFilteriv); - LOAD_PROC(alGenEffects); - LOAD_PROC(alDeleteEffects); - LOAD_PROC(alIsEffect); - LOAD_PROC(alEffectf); - LOAD_PROC(alEffectfv); - LOAD_PROC(alEffecti); - LOAD_PROC(alEffectiv); - LOAD_PROC(alGetEffectf); - LOAD_PROC(alGetEffectfv); - LOAD_PROC(alGetEffecti); - LOAD_PROC(alGetEffectiv); - LOAD_PROC(alGenAuxiliaryEffectSlots); - LOAD_PROC(alDeleteAuxiliaryEffectSlots); - LOAD_PROC(alIsAuxiliaryEffectSlot); - LOAD_PROC(alAuxiliaryEffectSlotf); - LOAD_PROC(alAuxiliaryEffectSlotfv); - LOAD_PROC(alAuxiliaryEffectSloti); - LOAD_PROC(alAuxiliaryEffectSlotiv); - LOAD_PROC(alGetAuxiliaryEffectSlotf); - LOAD_PROC(alGetAuxiliaryEffectSlotfv); - LOAD_PROC(alGetAuxiliaryEffectSloti); - LOAD_PROC(alGetAuxiliaryEffectSlotiv); - } } if(err) diff --git a/router/router.h b/router/router.h index f9ebd4a4..ec412b69 100644 --- a/router/router.h +++ b/router/router.h @@ -122,40 +122,6 @@ struct DriverIface { LPALSPEEDOFSOUND alSpeedOfSound{nullptr}; LPALDISTANCEMODEL alDistanceModel{nullptr}; - LPALGENFILTERS alGenFilters{nullptr}; - LPALDELETEFILTERS alDeleteFilters{nullptr}; - LPALISFILTER alIsFilter{nullptr}; - LPALFILTERF alFilterf{nullptr}; - LPALFILTERFV alFilterfv{nullptr}; - LPALFILTERI alFilteri{nullptr}; - LPALFILTERIV alFilteriv{nullptr}; - LPALGETFILTERF alGetFilterf{nullptr}; - LPALGETFILTERFV alGetFilterfv{nullptr}; - LPALGETFILTERI alGetFilteri{nullptr}; - LPALGETFILTERIV alGetFilteriv{nullptr}; - LPALGENEFFECTS alGenEffects{nullptr}; - LPALDELETEEFFECTS alDeleteEffects{nullptr}; - LPALISEFFECT alIsEffect{nullptr}; - LPALEFFECTF alEffectf{nullptr}; - LPALEFFECTFV alEffectfv{nullptr}; - LPALEFFECTI alEffecti{nullptr}; - LPALEFFECTIV alEffectiv{nullptr}; - LPALGETEFFECTF alGetEffectf{nullptr}; - LPALGETEFFECTFV alGetEffectfv{nullptr}; - LPALGETEFFECTI alGetEffecti{nullptr}; - LPALGETEFFECTIV alGetEffectiv{nullptr}; - LPALGENAUXILIARYEFFECTSLOTS alGenAuxiliaryEffectSlots{nullptr}; - LPALDELETEAUXILIARYEFFECTSLOTS alDeleteAuxiliaryEffectSlots{nullptr}; - LPALISAUXILIARYEFFECTSLOT alIsAuxiliaryEffectSlot{nullptr}; - LPALAUXILIARYEFFECTSLOTF alAuxiliaryEffectSlotf{nullptr}; - LPALAUXILIARYEFFECTSLOTFV alAuxiliaryEffectSlotfv{nullptr}; - LPALAUXILIARYEFFECTSLOTI alAuxiliaryEffectSloti{nullptr}; - LPALAUXILIARYEFFECTSLOTIV alAuxiliaryEffectSlotiv{nullptr}; - LPALGETAUXILIARYEFFECTSLOTF alGetAuxiliaryEffectSlotf{nullptr}; - LPALGETAUXILIARYEFFECTSLOTFV alGetAuxiliaryEffectSlotfv{nullptr}; - LPALGETAUXILIARYEFFECTSLOTI alGetAuxiliaryEffectSloti{nullptr}; - LPALGETAUXILIARYEFFECTSLOTIV alGetAuxiliaryEffectSlotiv{nullptr}; - DriverIface(std::wstring name, HMODULE mod) : Name(std::move(name)), Module(mod) { } |