Get rid of is_perfcnt_enable for audio_driver_write function

This commit is contained in:
twinaphex 2017-04-20 10:15:11 +02:00
parent 154b98394b
commit 3fb630c571
26 changed files with 35 additions and 79 deletions

View File

@ -510,7 +510,6 @@ static bool audio_driver_flush(const int16_t *data, size_t samples)
static struct retro_perf_counter audio_convert_s16 = {0}; static struct retro_perf_counter audio_convert_s16 = {0};
const void *output_data = NULL; const void *output_data = NULL;
unsigned output_frames = 0; unsigned output_frames = 0;
size_t output_size = sizeof(float);
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
src_data.data_in = NULL; src_data.data_in = NULL;
@ -609,7 +608,9 @@ static bool audio_driver_flush(const int16_t *data, size_t samples)
output_data = audio_driver_output_samples_buf; output_data = audio_driver_output_samples_buf;
output_frames = (unsigned)src_data.output_frames; output_frames = (unsigned)src_data.output_frames;
if (!audio_driver_use_float) if (audio_driver_use_float)
output_frames *= sizeof(float);
else
{ {
static struct retro_perf_counter audio_convert_float = {0}; static struct retro_perf_counter audio_convert_float = {0};
@ -620,12 +621,11 @@ static bool audio_driver_flush(const int16_t *data, size_t samples)
performance_counter_stop_plus(is_perfcnt_enable, audio_convert_float); performance_counter_stop_plus(is_perfcnt_enable, audio_convert_float);
output_data = audio_driver_output_samples_conv_buf; output_data = audio_driver_output_samples_conv_buf;
output_size = sizeof(int16_t); output_frames *= sizeof(int16_t);
} }
if (current_audio->write(audio_driver_context_audio_data, if (current_audio->write(audio_driver_context_audio_data,
output_data, output_frames * output_size * 2, output_data, output_frames * 2) < 0)
is_perfcnt_enable) < 0)
{ {
audio_driver_active = false; audio_driver_active = false;
return false; return false;

View File

@ -67,8 +67,7 @@ typedef struct audio_driver
* Unless said otherwise with set_nonblock_state(), all writes * Unless said otherwise with set_nonblock_state(), all writes
* are blocking, and it should block till it has written all frames. * are blocking, and it should block till it has written all frames.
*/ */
ssize_t (*write)(void *data, const void *buf, size_t size, ssize_t (*write)(void *data, const void *buf, size_t size);
bool is_perfcnt_enable);
/* Temporarily pauses the audio driver. */ /* Temporarily pauses the audio driver. */
bool (*stop)(void *data); bool (*stop)(void *data);

View File

@ -228,8 +228,7 @@ static bool audio_thread_use_float(void *data)
return thr->use_float; return thr->use_float;
} }
static ssize_t audio_thread_write(void *data, const void *buf, size_t size, static ssize_t audio_thread_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
ssize_t ret; ssize_t ret;
audio_thread_t *thr = (audio_thread_t*)data; audio_thread_t *thr = (audio_thread_t*)data;
@ -237,8 +236,7 @@ static ssize_t audio_thread_write(void *data, const void *buf, size_t size,
if (!thr) if (!thr)
return 0; return 0;
ret = thr->driver->write(thr->driver_data, buf, size, ret = thr->driver->write(thr->driver_data, buf, size);
is_perfcnt_enable);
if (ret < 0) if (ret < 0)
{ {

View File

@ -173,8 +173,7 @@ error:
return NULL; return NULL;
} }
static ssize_t alsa_write(void *data, const void *buf_, size_t size_, static ssize_t alsa_write(void *data, const void *buf_, size_t size_)
bool is_perfcnt_enable)
{ {
alsa_t *alsa = (alsa_t*)data; alsa_t *alsa = (alsa_t*)data;
const uint8_t *buf = (const uint8_t*)buf_; const uint8_t *buf = (const uint8_t*)buf_;

View File

@ -219,8 +219,7 @@ static int check_pcm_status(void *data, int channel_type)
} }
static ssize_t alsa_qsa_write(void *data, const void *buf, size_t size, static ssize_t alsa_qsa_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
alsa_t *alsa = (alsa_t*)data; alsa_t *alsa = (alsa_t*)data;
snd_pcm_sframes_t written = 0; snd_pcm_sframes_t written = 0;

View File

@ -243,8 +243,7 @@ error:
return NULL; return NULL;
} }
static ssize_t alsa_thread_write(void *data, const void *buf, size_t size, static ssize_t alsa_thread_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
alsa_thread_t *alsa = (alsa_thread_t*)data; alsa_thread_t *alsa = (alsa_thread_t*)data;

View File

@ -337,8 +337,7 @@ error:
return NULL; return NULL;
} }
static ssize_t coreaudio_write(void *data, const void *buf_, size_t size, static ssize_t coreaudio_write(void *data, const void *buf_, size_t size)
bool is_perfcnt_enable)
{ {
coreaudio_t *dev = (coreaudio_t*)data; coreaudio_t *dev = (coreaudio_t*)data;
const uint8_t *buf = (const uint8_t*)buf_; const uint8_t *buf = (const uint8_t*)buf_;

View File

@ -163,8 +163,7 @@ static void ctr_csnd_audio_free(void *data)
free(ctr); free(ctr);
} }
static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size, static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
int i; int i;
uint32_t samples_played = 0; uint32_t samples_played = 0;
@ -178,9 +177,6 @@ static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size,
(void)samples_played; (void)samples_played;
(void)current_tick; (void)current_tick;
performance_counter_init(ctraudio_f, "ctraudio_f");
performance_counter_start_plus(is_perfcnt_enable, ctraudio_f);
ctr_csnd_audio_update_playpos(ctr); ctr_csnd_audio_update_playpos(ctr);
if((((ctr->playpos - ctr->pos) & CTR_CSND_AUDIO_COUNT_MASK) < (CTR_CSND_AUDIO_COUNT >> 2)) || if((((ctr->playpos - ctr->pos) & CTR_CSND_AUDIO_COUNT_MASK) < (CTR_CSND_AUDIO_COUNT >> 2)) ||
@ -211,8 +207,6 @@ static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size,
GSPGPU_FlushDataCache(ctr->l, CTR_CSND_AUDIO_SIZE); GSPGPU_FlushDataCache(ctr->l, CTR_CSND_AUDIO_SIZE);
GSPGPU_FlushDataCache(ctr->r, CTR_CSND_AUDIO_SIZE); GSPGPU_FlushDataCache(ctr->r, CTR_CSND_AUDIO_SIZE);
performance_counter_stop_plus(is_perfcnt_enable, ctraudio_f);
return size; return size;
} }

View File

@ -93,8 +93,7 @@ static void ctr_dsp_audio_free(void *data)
ndspExit(); ndspExit();
} }
static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size, static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
u32 pos; u32 pos;
static struct retro_perf_counter ctraudio_dsp_f = {0}; static struct retro_perf_counter ctraudio_dsp_f = {0};
@ -117,9 +116,6 @@ static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size,
} }
} }
performance_counter_init(ctraudio_dsp_f, "ctraudio_dsp_f");
performance_counter_start_plus(is_perfcnt_enable, ctraudio_dsp_f);
pos = ctr->pos << 2; pos = ctr->pos << 2;
if((pos + size) > CTR_DSP_AUDIO_SIZE) if((pos + size) > CTR_DSP_AUDIO_SIZE)
@ -141,8 +137,6 @@ static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size,
ctr->pos += size >> 2; ctr->pos += size >> 2;
ctr->pos &= CTR_DSP_AUDIO_COUNT_MASK; ctr->pos &= CTR_DSP_AUDIO_COUNT_MASK;
performance_counter_stop_plus(is_perfcnt_enable, ctraudio_dsp_f);
return size; return size;
} }

View File

@ -426,8 +426,7 @@ static void dsound_set_nonblock_state(void *data, bool state)
ds->nonblock = state; ds->nonblock = state;
} }
static ssize_t dsound_write(void *data, const void *buf_, size_t size, static ssize_t dsound_write(void *data, const void *buf_, size_t size)
bool is_perfcnt_enable)
{ {
size_t written = 0; size_t written = 0;
dsound_t *ds = (dsound_t*)data; dsound_t *ds = (dsound_t*)data;

View File

@ -116,8 +116,7 @@ static INLINE void copy_swapped(uint32_t * restrict dst,
}while(--size); }while(--size);
} }
static ssize_t gx_audio_write(void *data, const void *buf_, size_t size, static ssize_t gx_audio_write(void *data, const void *buf_, size_t size)
bool is_perfcnt_enable)
{ {
size_t frames = size >> 2; size_t frames = size >> 2;
const uint32_t *buf = buf_; const uint32_t *buf = buf_;

View File

@ -292,8 +292,7 @@ static size_t write_buffer(jack_t *jd, const float *buf, size_t size)
return written * sizeof(float) * 2; return written * sizeof(float) * 2;
} }
static ssize_t ja_write(void *data, const void *buf, size_t size, static ssize_t ja_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
jack_t *jd = (jack_t*)data; jack_t *jd = (jack_t*)data;

View File

@ -35,8 +35,7 @@ static void null_audio_free(void *data)
(void)data; (void)data;
} }
static ssize_t null_audio_write(void *data, const void *buf, size_t size, static ssize_t null_audio_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
(void)data; (void)data;
(void)buf; (void)buf;

View File

@ -173,8 +173,7 @@ static size_t al_fill_internal_buf(al_t *al, const void *buf, size_t size)
return read_size; return read_size;
} }
static ssize_t al_write(void *data, const void *buf_, size_t size, static ssize_t al_write(void *data, const void *buf_, size_t size)
bool is_perfcnt_enable)
{ {
al_t *al = (al_t*)data; al_t *al = (al_t*)data;
const uint8_t *buf = (const uint8_t*)buf_; const uint8_t *buf = (const uint8_t*)buf_;

View File

@ -230,8 +230,7 @@ static bool sl_start(void *data, bool is_shutdown)
} }
static ssize_t sl_write(void *data, const void *buf_, size_t size, static ssize_t sl_write(void *data, const void *buf_, size_t size)
bool is_perfcnt_enable)
{ {
sl_t *sl = (sl_t*)data; sl_t *sl = (sl_t*)data;
size_t written = 0; size_t written = 0;

View File

@ -97,8 +97,7 @@ error:
return NULL; return NULL;
} }
static ssize_t oss_write(void *data, const void *buf, size_t size, static ssize_t oss_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
ssize_t ret; ssize_t ret;
int *fd = (int*)data; int *fd = (int*)data;

View File

@ -146,8 +146,7 @@ static void *ps3_audio_init(const char *device,
return data; return data;
} }
static ssize_t ps3_audio_write(void *data, const void *buf, size_t size, static ssize_t ps3_audio_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
ps3_audio_t *aud = data; ps3_audio_t *aud = data;

View File

@ -184,8 +184,7 @@ static void psp_audio_free(void *data)
free(psp); free(psp);
} }
static ssize_t psp_audio_write(void *data, const void *buf, size_t size, static ssize_t psp_audio_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
psp_audio_t* psp = (psp_audio_t*)data; psp_audio_t* psp = (psp_audio_t*)data;
uint16_t write_pos = psp->write_pos; uint16_t write_pos = psp->write_pos;

View File

@ -236,8 +236,7 @@ error:
return NULL; return NULL;
} }
static ssize_t pulse_write(void *data, const void *buf_, size_t size, static ssize_t pulse_write(void *data, const void *buf_, size_t size)
bool is_perfcnt_enable)
{ {
pa_t *pa = (pa_t*)data; pa_t *pa = (pa_t*)data;
const uint8_t *buf = (const uint8_t*)buf_; const uint8_t *buf = (const uint8_t*)buf_;

View File

@ -58,8 +58,7 @@ static void *ra_init(const char *device, unsigned rate, unsigned latency,
return roar; return roar;
} }
static ssize_t ra_write(void *data, const void *buf, size_t size, static ssize_t ra_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
int err; int err;
size_t written = 0; size_t written = 0;

View File

@ -102,8 +102,7 @@ error:
return NULL; return NULL;
} }
static ssize_t rs_write(void *data, const void *buf, size_t size, static ssize_t rs_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
rsd_t *rsd = (rsd_t*)data; rsd_t *rsd = (rsd_t*)data;

View File

@ -51,8 +51,7 @@ static void *rwebaudio_init(const char *device, unsigned rate, unsigned latency,
return data; return data;
} }
static ssize_t rwebaudio_write(void *data, const void *buf, size_t size, static ssize_t rwebaudio_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
(void)data; (void)data;
return RWebAudioWrite(buf, size); return RWebAudioWrite(buf, size);

View File

@ -140,8 +140,7 @@ error:
return NULL; return NULL;
} }
static ssize_t sdl_audio_write(void *data, const void *buf, size_t size, static ssize_t sdl_audio_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
ssize_t ret = 0; ssize_t ret = 0;
sdl_audio_t *sdl = (sdl_audio_t*)data; sdl_audio_t *sdl = (sdl_audio_t*)data;

View File

@ -192,8 +192,7 @@ static bool ax_audio_start(void* data, bool is_shutdown)
return true; return true;
} }
static ssize_t ax_audio_write(void* data, const void* buf, size_t size, static ssize_t ax_audio_write(void* data, const void* buf, size_t size)
bool is_perfcnt_enable)
{ {
int i; int i;
static struct retro_perf_counter ax_audio_write_perf = {0}; static struct retro_perf_counter ax_audio_write_perf = {0};
@ -205,10 +204,6 @@ static ssize_t ax_audio_write(void* data, const void* buf, size_t size,
if(!size || (size & 0x3)) if(!size || (size & 0x3))
return 0; return 0;
/* Measure copy performance from here */
performance_counter_init(ax_audio_write_perf, "ax_audio_write");
performance_counter_start_plus(is_perfcnt_enable, ax_audio_write_perf);
if(count > AX_AUDIO_MAX_FREE) if(count > AX_AUDIO_MAX_FREE)
count = AX_AUDIO_MAX_FREE; count = AX_AUDIO_MAX_FREE;
@ -286,9 +281,6 @@ static ssize_t ax_audio_write(void* data, const void* buf, size_t size,
if(!AXIsMultiVoiceRunning(ax->mvoice)) if(!AXIsMultiVoiceRunning(ax->mvoice))
ax_audio_start(ax, false); ax_audio_start(ax, false);
/* Done copying new data */
performance_counter_stop_plus(is_perfcnt_enable, ax_audio_write_perf);
/* return what was actually copied */ /* return what was actually copied */
return (count << 2); return (count << 2);
} }

View File

@ -201,8 +201,7 @@ static size_t xaudio2_write_avail(xaudio2_t *handle)
return handle->bufsize * (MAX_BUFFERS - handle->buffers - 1); return handle->bufsize * (MAX_BUFFERS - handle->buffers - 1);
} }
static size_t xaudio2_write(xaudio2_t *handle, const void *buf, size_t bytes_, static size_t xaudio2_write(xaudio2_t *handle, const void *buf, size_t bytes_)
bool is_perfcnt_enable)
{ {
unsigned bytes = bytes_; unsigned bytes = bytes_;
const uint8_t *buffer = (const uint8_t*)buf; const uint8_t *buffer = (const uint8_t*)buf;
@ -274,8 +273,7 @@ static void *xa_init(const char *device, unsigned rate, unsigned latency,
return xa; return xa;
} }
static ssize_t xa_write(void *data, const void *buf, size_t size, static ssize_t xa_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
size_t ret; size_t ret;
xa_t *xa = (xa_t*)data; xa_t *xa = (xa_t*)data;
@ -290,7 +288,7 @@ static ssize_t xa_write(void *data, const void *buf, size_t size,
size = avail; size = avail;
} }
ret = xaudio2_write(xa->xa, buf, size, is_perfcnt_enable); ret = xaudio2_write(xa->xa, buf, size);
if (ret == 0 && size > 0) if (ret == 0 && size > 0)
return -1; return -1;
return ret; return ret;

View File

@ -57,8 +57,7 @@ static INLINE uint32_t bswap_32(uint32_t val)
((val >> 8) & 0xff00) | ((val << 8) & 0xff0000); ((val >> 8) & 0xff00) | ((val << 8) & 0xff0000);
} }
static ssize_t xenon360_audio_write(void *data, const void *buf, size_t size, static ssize_t xenon360_audio_write(void *data, const void *buf, size_t size)
bool is_perfcnt_enable)
{ {
size_t written = 0, i; size_t written = 0, i;
const uint32_t *in_buf = buf; const uint32_t *in_buf = buf;