aboutsummaryrefslogtreecommitdiff
path: root/patches/pcsx_rearmed/0001-audio-frameskip.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/pcsx_rearmed/0001-audio-frameskip.patch')
-rw-r--r--patches/pcsx_rearmed/0001-audio-frameskip.patch197
1 files changed, 0 insertions, 197 deletions
diff --git a/patches/pcsx_rearmed/0001-audio-frameskip.patch b/patches/pcsx_rearmed/0001-audio-frameskip.patch
deleted file mode 100644
index e4160c7..0000000
--- a/patches/pcsx_rearmed/0001-audio-frameskip.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-diff --git a/frontend/libretro.c b/frontend/libretro.c
-index 650676f..0243fa0 100644
---- a/frontend/libretro.c
-+++ b/frontend/libretro.c
-@@ -96,17 +96,25 @@ static int show_advanced_gpu_unai_settings = -1;
- static int show_other_input_settings = -1;
- static float mouse_sensitivity = 1.0f;
-
--unsigned frameskip_type = 0;
--unsigned frameskip_threshold = 0;
--unsigned frameskip_counter = 0;
--unsigned frameskip_interval = 0;
-+typedef enum
-+{
-+ FRAMESKIP_NONE = 0,
-+ FRAMESKIP_AUTO,
-+ FRAMESKIP_AUTO_THRESHOLD,
-+ FRAMESKIP_FIXED_INTERVAL
-+} frameskip_type_t;
-+
-+static unsigned frameskip_type = FRAMESKIP_NONE;
-+static unsigned frameskip_threshold = 0;
-+static unsigned frameskip_interval = 0;
-+static unsigned frameskip_counter = 0;
-
--int retro_audio_buff_active = false;
--unsigned retro_audio_buff_occupancy = 0;
--int retro_audio_buff_underrun = false;
-+static int retro_audio_buff_active = false;
-+static unsigned retro_audio_buff_occupancy = 0;
-+static int retro_audio_buff_underrun = false;
-
--unsigned retro_audio_latency = 0;
--int update_audio_latency = false;
-+static unsigned retro_audio_latency = 0;
-+static int update_audio_latency = false;
-
- static unsigned previous_width = 0;
- static unsigned previous_height = 0;
-@@ -1217,20 +1225,33 @@ static void retro_audio_buff_status_cb(
-
- static void retro_set_audio_buff_status_cb(void)
- {
-- if (frameskip_type > 0)
-+ if (frameskip_type == FRAMESKIP_NONE)
- {
-- struct retro_audio_buffer_status_callback buf_status_cb;
-+ environ_cb(RETRO_ENVIRONMENT_SET_AUDIO_BUFFER_STATUS_CALLBACK, NULL);
-+ retro_audio_latency = 0;
-+ }
-+ else
-+ {
-+ bool calculate_audio_latency = true;
-
-- buf_status_cb.callback = retro_audio_buff_status_cb;
-- if (!environ_cb(RETRO_ENVIRONMENT_SET_AUDIO_BUFFER_STATUS_CALLBACK,
-- &buf_status_cb))
-+ if (frameskip_type == FRAMESKIP_FIXED_INTERVAL)
-+ environ_cb(RETRO_ENVIRONMENT_SET_AUDIO_BUFFER_STATUS_CALLBACK, NULL);
-+ else
- {
-- retro_audio_buff_active = false;
-- retro_audio_buff_occupancy = 0;
-- retro_audio_buff_underrun = false;
-- retro_audio_latency = 0;
-+ struct retro_audio_buffer_status_callback buf_status_cb;
-+ buf_status_cb.callback = retro_audio_buff_status_cb;
-+ if (!environ_cb(RETRO_ENVIRONMENT_SET_AUDIO_BUFFER_STATUS_CALLBACK,
-+ &buf_status_cb))
-+ {
-+ retro_audio_buff_active = false;
-+ retro_audio_buff_occupancy = 0;
-+ retro_audio_buff_underrun = false;
-+ retro_audio_latency = 0;
-+ calculate_audio_latency = false;
-+ }
- }
-- else
-+
-+ if (calculate_audio_latency)
- {
- /* Frameskip is enabled - increase frontend
- * audio latency to minimise potential
-@@ -1244,13 +1265,9 @@ static void retro_set_audio_buff_status_cb(void)
- retro_audio_latency = (retro_audio_latency + 0x1F) & ~0x1F;
- }
- }
-- else
-- {
-- environ_cb(RETRO_ENVIRONMENT_SET_AUDIO_BUFFER_STATUS_CALLBACK, NULL);
-- retro_audio_latency = 0;
-- }
-
- update_audio_latency = true;
-+ frameskip_counter = 0;
- }
-
- static void update_variables(bool in_flight);
-@@ -1535,23 +1552,23 @@ static void update_variables(bool in_flight)
- #ifdef GPU_PEOPS
- int gpu_peops_fix = 0;
- #endif
-- unsigned prev_frameskip_type;
-+ frameskip_type_t prev_frameskip_type;
-
- var.key = "pcsx_rearmed_frameskip_type";
- var.value = NULL;
-
- prev_frameskip_type = frameskip_type;
-- frameskip_type = 0;
-+ frameskip_type = FRAMESKIP_NONE;
- pl_rearmed_cbs.frameskip = 0;
-
- if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
- {
- if (strcmp(var.value, "auto") == 0)
-- frameskip_type = 1;
-+ frameskip_type = FRAMESKIP_AUTO;
- if (strcmp(var.value, "auto_threshold") == 0)
-- frameskip_type = 2;
-+ frameskip_type = FRAMESKIP_AUTO_THRESHOLD;
- if (strcmp(var.value, "fixed_interval") == 0)
-- frameskip_type = 3;
-+ frameskip_type = FRAMESKIP_FIXED_INTERVAL;
- }
-
- if (frameskip_type != 0)
-@@ -2639,23 +2656,23 @@ void retro_run(void)
- * be skipped */
- pl_rearmed_cbs.fskip_force = 0;
- pl_rearmed_cbs.fskip_dirty = 0;
-- if ((frameskip_type > 0) && retro_audio_buff_active)
-+
-+ if (frameskip_type != FRAMESKIP_NONE)
- {
-- bool skip_frame;
-+ bool skip_frame = false;
-
- switch (frameskip_type)
- {
-- case 1: /* auto */
-- skip_frame = retro_audio_buff_underrun;
-+ case FRAMESKIP_AUTO:
-+ skip_frame = retro_audio_buff_active && retro_audio_buff_underrun;
- break;
-- case 2: /* threshold */
-- skip_frame = (retro_audio_buff_occupancy < frameskip_threshold);
-+ case FRAMESKIP_AUTO_THRESHOLD:
-+ skip_frame = retro_audio_buff_active && (retro_audio_buff_occupancy < frameskip_threshold);
- break;
-- case 3: /* fixed */
-+ case FRAMESKIP_FIXED_INTERVAL:
- skip_frame = true;
- break;
- default:
-- skip_frame = false;
- break;
- }
-
-@@ -3005,8 +3022,9 @@ void retro_deinit(void)
- /* Have to reset disks struct, otherwise
- * fnames/flabels will leak memory */
- disk_init();
-- frameskip_type = 0;
-+ frameskip_type = FRAMESKIP_NONE;
- frameskip_threshold = 0;
-+ frameskip_interval = 0;
- frameskip_counter = 0;
- retro_audio_buff_active = false;
- retro_audio_buff_occupancy = 0;
-diff --git a/frontend/libretro_core_options.h b/frontend/libretro_core_options.h
-index 9045791..9188f8b 100644
---- a/frontend/libretro_core_options.h
-+++ b/frontend/libretro_core_options.h
-@@ -105,7 +105,7 @@ struct retro_core_option_definition option_defs_us[] = {
- { "10", NULL },
- { NULL, NULL },
- },
-- "1"
-+ "3"
- },
- {
- "pcsx_rearmed_bios",
-diff --git a/frontend/main.c b/frontend/main.c
-index bf682ee..05c0f9e 100644
---- a/frontend/main.c
-+++ b/frontend/main.c
-@@ -156,7 +156,9 @@ void emu_set_default_config(void)
- #if defined(HAVE_PRE_ARMV7) && !defined(_3DS) /* XXX GPH hack */
- spu_config.iUseReverb = 0;
- spu_config.iUseInterpolation = 0;
-+#ifndef(_MIYOO)
- spu_config.iTempo = 1;
-+#endif
- #endif
- new_dynarec_hacks = 0;
- cycle_multiplier = 200;