mirror of
https://github.com/libretro/opera-libretro.git
synced 2026-11-07 04:25:58 -10:00
The threaded DSP takes no mutex or condition variable. The emulation thread publishes a monotonic tick count with a release store and wakes the DSP thread through a retro_eventcount once per 32 ticks and at frame end; the DSP thread runs every posted tick and writes samples into a retro_spsc ring that upload hands to the frontend in place. Mode switches keep samples in order, and the thread runs out every posted tick before it exits. THREADED_DSP defines HAVE_THREADS and builds the eventcount and SPSC sources. libretro-common is synced with RetroArch master and holds only the sources the core builds and the headers they and the core include; rstrtod.c is built since file_stream needs it.
6 lines
135 B
C
6 lines
135 B
C
#if defined(THREADED_DSP) && defined(HAVE_THREADS)
|
|
#include "opera_lr_dsp_threaded.ic"
|
|
#else
|
|
#include "opera_lr_dsp_regular.ic"
|
|
#endif
|