/** * Sets the specified {@link ALCapabilities} for the current process-wide OpenAL context. * * <p>If the current thread had a context current (see {@link #setCurrentThread}), those {@code ALCapabilities} are cleared. Any OpenAL functions called in * the current thread, or any threads that have no context current, will use the specified {@code ALCapabilities}.</p> * * @param caps the {@link ALCapabilities} to make current, or null */ public static void setCurrentProcess(@Nullable ALCapabilities caps) { processCaps = caps; capabilitiesTLS.set(null); // See EXT_thread_local_context, second Q. icd.set(caps); }
static ALCapabilities getICD() { return ALC.check(icd.get()); }
/** * Sets the specified {@link ALCapabilities} for the current OpenAL context in the current thread. * * <p>Any OpenAL functions called in the current thread will use the specified {@code ALCapabilities}.</p> * * @param caps the {@link ALCapabilities} to make current, or null */ public static void setCurrentThread(@Nullable ALCapabilities caps) { capabilitiesTLS.set(caps); icd.set(caps); }