From 4320a1483b22eff1cc49b13570054064b321473b Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Sun, 12 Oct 2014 09:03:08 -0700 Subject: Make alcSuspendContext and alcProcessContext batch updates This behavior better matches Creative's hardware drivers and Rapture3D's OpenAL driver. A compatibility environment variable is provided to restore the old no-op behavior for any app that behaves badly from this change (set __ALSOFT_SUSPEND_CONTEXT to "ignore"). If too many apps have a problem with this, the default behavior may need to be changed to ignore, with the env var providing an option to defer/batch instead. --- env-vars.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'env-vars.txt') diff --git a/env-vars.txt b/env-vars.txt index 47dce032..487067d5 100644 --- a/env-vars.txt +++ b/env-vars.txt @@ -69,3 +69,13 @@ sound (i.e., sounds that are supposed to be behind you sound like they're in front, and vice-versa). Setting this to "true" or "1" will negate the localized Z coordinate to attempt to fix output for apps that have incorrect front/back panning. + +__ALSOFT_SUSPEND_CONTEXT +Due to the OpenAL spec not being very clear about them, behavior of the +alcSuspendContext and alcProcessContext methods has varied, and because of +that, previous versions of OpenAL Soft had them no-op. Creative's hardware +drivers and the Rapture3D driver, however, use these methods to batch changes +and protect against partial updates, which some applications make use of. In an +attempt to standardize on that behavior, OpenAL Soft has changed those methods +accordingly. Setting this to "ignore" restores the previous no-op behavior for +applications that interact poorly with the new behavior. -- cgit v1.2.3