Skip to content

Commit 807aad2

Browse files
authored
add VIDEO_FILTER_TOGGLE hotkey & video_filter_enable settings (#19033)
* add `settings->bools.video_filter_enable` see gfx/video_driver.c * add CMD_VIDEO_FILTER_TOGGLE via hotkey
1 parent a0ff76a commit 807aad2

18 files changed

Lines changed: 125 additions & 1 deletion

command.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ enum event_command
109109
CMD_EVENT_VOLUME_DOWN,
110110
CMD_EVENT_MIXER_VOLUME_UP,
111111
CMD_EVENT_MIXER_VOLUME_DOWN,
112+
/* Toggles Video Filter*/
113+
CMD_VIDEO_FILTER_TOGGLE,
112114
/* Toggles FPS counter. */
113115
CMD_EVENT_FPS_TOGGLE,
114116
/* Toggles statistics display. */
@@ -530,6 +532,7 @@ static const struct cmd_map map[] = {
530532
{ "VRR_RUNLOOP_TOGGLE", RARCH_VRR_RUNLOOP_TOGGLE },
531533
{ "RUNAHEAD_TOGGLE", RARCH_RUNAHEAD_TOGGLE },
532534
{ "PREEMPT_TOGGLE", RARCH_PREEMPT_TOGGLE },
535+
{ "VIDEO_FILTER_TOGGLE", RARCH_VIDEO_FILTER_TOGGLE },
533536
{ "FPS_TOGGLE", RARCH_FPS_TOGGLE },
534537
{ "STATISTICS_TOGGLE", RARCH_STATISTICS_TOGGLE },
535538
{ "AI_SERVICE", RARCH_AI_SERVICE },

config.def.keybinds.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -619,6 +619,13 @@ static const struct retro_keybind retro_keybinds_1[] = {
619619
RARCH_PREEMPT_TOGGLE, NO_BTN, NO_BTN, 0,
620620
true
621621
},
622+
{
623+
NULL, NULL,
624+
AXIS_NONE, AXIS_NONE,
625+
MENU_ENUM_LABEL_VALUE_INPUT_META_VIDEO_FILTER_TOGGLE, RETROK_UNKNOWN,
626+
RARCH_VIDEO_FILTER_TOGGLE, NO_BTN, NO_BTN, 0,
627+
true
628+
},
622629
{
623630
NULL, NULL,
624631
AXIS_NONE, AXIS_NONE,
@@ -1286,6 +1293,13 @@ static const struct retro_keybind retro_keybinds_1[] = {
12861293
RARCH_PREEMPT_TOGGLE, NO_BTN, NO_BTN, 0,
12871294
true
12881295
},
1296+
{
1297+
NULL, NULL,
1298+
AXIS_NONE, AXIS_NONE,
1299+
MENU_ENUM_LABEL_VALUE_INPUT_META_VIDEO_FILTER_TOGGLE, RETROK_UNKNOWN,
1300+
RARCH_VIDEO_FILTER_TOGGLE, NO_BTN, NO_BTN, 0,
1301+
true
1302+
},
12891303
{
12901304
NULL, NULL,
12911305
AXIS_NONE, AXIS_NONE,
@@ -1963,6 +1977,13 @@ static const struct retro_keybind retro_keybinds_1[] = {
19631977
RARCH_PREEMPT_TOGGLE, NO_BTN, NO_BTN, 0,
19641978
true
19651979
},
1980+
{
1981+
NULL, NULL,
1982+
AXIS_NONE, AXIS_NONE,
1983+
MENU_ENUM_LABEL_VALUE_INPUT_META_VIDEO_FILTER_TOGGLE, RETROK_UNKNOWN,
1984+
RARCH_VIDEO_FILTER_TOGGLE, NO_BTN, NO_BTN, 0,
1985+
true
1986+
},
19661987
{
19671988
NULL, NULL,
19681989
AXIS_NONE, AXIS_NONE,
@@ -2623,6 +2644,13 @@ static const struct retro_keybind retro_keybinds_rest[] = {
26232644
RARCH_PREEMPT_TOGGLE, NO_BTN, NO_BTN, 0,
26242645
true
26252646
},
2647+
{
2648+
NULL, NULL,
2649+
AXIS_NONE, AXIS_NONE,
2650+
MENU_ENUM_LABEL_VALUE_INPUT_META_VIDEO_FILTER_TOGGLE, RETROK_UNKNOWN,
2651+
RARCH_VIDEO_FILTER_TOGGLE, NO_BTN, NO_BTN, 0,
2652+
true
2653+
},
26262654
{
26272655
NULL, NULL,
26282656
AXIS_NONE, AXIS_NONE,

configuration.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,7 @@ const struct input_bind_map input_config_bind_map[RARCH_BIND_LIST_END_NULL] = {
415415
DECLARE_META_BIND(2, toggle_vrr_runloop, RARCH_VRR_RUNLOOP_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_VRR_RUNLOOP_TOGGLE),
416416
DECLARE_META_BIND(2, runahead_toggle, RARCH_RUNAHEAD_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_RUNAHEAD_TOGGLE),
417417
DECLARE_META_BIND(2, preempt_toggle, RARCH_PREEMPT_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_PREEMPT_TOGGLE),
418+
DECLARE_META_BIND(2, video_filter_toggle, RARCH_VIDEO_FILTER_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_VIDEO_FILTER_TOGGLE),
418419
DECLARE_META_BIND(2, fps_toggle, RARCH_FPS_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_FPS_TOGGLE),
419420
DECLARE_META_BIND(2, toggle_statistics, RARCH_STATISTICS_TOGGLE, MENU_ENUM_LABEL_VALUE_INPUT_META_STATISTICS_TOGGLE),
420421
DECLARE_META_BIND(2, ai_service, RARCH_AI_SERVICE, MENU_ENUM_LABEL_VALUE_INPUT_META_AI_SERVICE),
@@ -1826,6 +1827,7 @@ static struct config_bool_setting *populate_settings_bool(
18261827
SETTING_BOOL("pause_on_disconnect", &settings->bools.pause_on_disconnect, true, DEFAULT_PAUSE_ON_DISCONNECT, false);
18271828
SETTING_BOOL("auto_screenshot_filename", &settings->bools.auto_screenshot_filename, true, DEFAULT_AUTO_SCREENSHOT_FILENAME, false);
18281829
SETTING_BOOL("suspend_screensaver_enable", &settings->bools.ui_suspend_screensaver_enable, true, true, false);
1830+
SETTING_BOOL("video_filter_enable", &settings->bools.video_filter_enable, true, true, false);
18291831
SETTING_BOOL("apply_cheats_after_toggle", &settings->bools.apply_cheats_after_toggle, true, DEFAULT_APPLY_CHEATS_AFTER_TOGGLE, false);
18301832
SETTING_BOOL("apply_cheats_after_load", &settings->bools.apply_cheats_after_load, true, DEFAULT_APPLY_CHEATS_AFTER_LOAD, false);
18311833
SETTING_BOOL("rewind_enable", &settings->bools.rewind_enable, true, DEFAULT_REWIND_ENABLE, false);

configuration.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -703,6 +703,7 @@ typedef struct settings
703703
bool video_framecount_show;
704704
bool video_memory_show;
705705
bool video_msg_bgcolor_enable;
706+
bool video_filter_enable;
706707
#ifdef _3DS
707708
bool video_3ds_lcd_bottom;
708709
#endif

gfx/video_driver.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3314,6 +3314,7 @@ void video_driver_build_info(video_frame_info_t *video_info)
33143314
video_info->preemptive_frames = settings->bools.preemptive_frames_enable;
33153315
video_info->runahead_frames = settings->uints.run_ahead_frames;
33163316
video_info->fps_show = settings->bools.video_fps_show;
3317+
video_info->filter_enable = settings->bools.video_filter_enable;
33173318
video_info->memory_show = settings->bools.video_memory_show;
33183319
video_info->statistics_show = settings->bools.video_statistics_show;
33193320
video_info->framecount_show = settings->bools.video_framecount_show;
@@ -4150,6 +4151,7 @@ void video_driver_frame(const void *data, unsigned width,
41504151
unsigned height, size_t pitch)
41514152
{
41524153
char status_text[256];
4154+
settings_t *settings = config_get_ptr();
41534155
static char video_driver_msg[256];
41544156
static retro_time_t last_time;
41554157
static retro_time_t curr_time;
@@ -4561,7 +4563,7 @@ void video_driver_frame(const void *data, unsigned width,
45614563
pitch, runloop_idle);
45624564

45634565
#ifdef HAVE_VIDEO_FILTER
4564-
if (render_frame && data && video_st->state_filter)
4566+
if (settings->bools.video_filter_enable && render_frame && data && video_st->state_filter)
45654567
{
45664568
unsigned output_width = 0;
45674569
unsigned output_height = 0;

gfx/video_driver.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,7 @@ typedef struct video_frame_info
441441
bool runahead_second_instance;
442442
bool preemptive_frames;
443443
bool fps_show;
444+
bool filter_enable;
444445
bool memory_show;
445446
bool statistics_show;
446447
bool framecount_show;

input/input_defines.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ enum
182182
RARCH_VRR_RUNLOOP_TOGGLE,
183183
RARCH_RUNAHEAD_TOGGLE,
184184
RARCH_PREEMPT_TOGGLE,
185+
RARCH_VIDEO_FILTER_TOGGLE,
185186
RARCH_FPS_TOGGLE,
186187
RARCH_STATISTICS_TOGGLE,
187188
RARCH_AI_SERVICE,

input/input_driver.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8006,13 +8006,15 @@ void input_driver_collect_system_input(input_driver_state_t *input_st,
80068006
{0, RARCH_UI_COMPANION_TOGGLE },
80078007
{0, RARCH_FPS_TOGGLE },
80088008
{0, RARCH_NETPLAY_HOST_TOGGLE },
8009+
{0, RARCH_VIDEO_FILTER_TOGGLE },
80098010
};
80108011

80118012
ids[14][0] = input_config_binds[0][RARCH_QUIT_KEY].key;
80128013
ids[15][0] = input_config_binds[0][RARCH_FULLSCREEN_TOGGLE_KEY].key;
80138014
ids[16][0] = input_config_binds[0][RARCH_UI_COMPANION_TOGGLE].key;
80148015
ids[17][0] = input_config_binds[0][RARCH_FPS_TOGGLE].key;
80158016
ids[18][0] = input_config_binds[0][RARCH_NETPLAY_HOST_TOGGLE].key;
8017+
ids[19][0] = input_config_binds[0][RARCH_VIDEO_FILTER_TOGGLE].key;
80168018

80178019
if (settings->bools.input_menu_swap_ok_cancel_buttons)
80188020
{

intl/msg_hash_lbl.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1672,6 +1672,10 @@ MSG_HASH(
16721672
MENU_ENUM_LABEL_FPS_SHOW,
16731673
MENU_ENUM_LABEL_FPS_SHOW_STR
16741674
)
1675+
MSG_HASH(
1676+
MENU_ENUM_LABEL_VIDEO_FILTER_ENABLE,
1677+
"filter_enable"
1678+
)
16751679
MSG_HASH(
16761680
MENU_ENUM_LABEL_STATISTICS_SHOW,
16771681
MENU_ENUM_LABEL_STATISTICS_SHOW_STR

intl/msg_hash_us.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1816,6 +1816,14 @@ MSG_HASH(
18161816
MENU_ENUM_SUBLABEL_VIDEO_SYNCHRONIZATION_SETTINGS,
18171817
"Change video synchronization settings."
18181818
)
1819+
MSG_HASH(
1820+
MENU_ENUM_SUBLABEL_VIDEO_FILTER_ENABLE,
1821+
"Apply Video Filter. Is a hint that does not necessarily have to be honored by the video driver."
1822+
)
1823+
MSG_HASH(
1824+
MENU_ENUM_LABEL_VALUE_VIDEO_FILTER_ENABLE,
1825+
"Video Filter Enable"
1826+
)
18191827
MSG_HASH(
18201828
MENU_ENUM_LABEL_VALUE_SUSPEND_SCREENSAVER_ENABLE,
18211829
"Suspend Screensaver"
@@ -4127,6 +4135,14 @@ MSG_HASH(
41274135
"Switches Preemptive Frames on/off."
41284136
)
41294137

4138+
MSG_HASH(
4139+
MENU_ENUM_LABEL_VALUE_INPUT_META_VIDEO_FILTER_TOGGLE,
4140+
"Video Filter Apply (Toggle)"
4141+
)
4142+
MSG_HASH(
4143+
MENU_ENUM_SUBLABEL_INPUT_META_VIDEO_FILTER_TOGGLE,
4144+
"Switches software 'Vide Filter' on/off."
4145+
)
41304146
MSG_HASH(
41314147
MENU_ENUM_LABEL_VALUE_INPUT_META_FPS_TOGGLE,
41324148
"Show FPS (Toggle)"
@@ -15851,6 +15867,15 @@ MSG_HASH(
1585115867
MSG_VIDEO_REFRESH_RATE_CHANGED,
1585215868
"Video refresh rate changed to %s Hz."
1585315869
)
15870+
MSG_HASH(
15871+
MSG_VIDEO_FILTER_ENABLE_ON,
15872+
"Video-Filter: Enable"
15873+
)
15874+
MSG_HASH(
15875+
MSG_VIDEO_FILTER_ENABLE_OFF,
15876+
"Video-Filter: Disable"
15877+
)
15878+
1585415879

1585515880
/* Lakka */
1585615881

0 commit comments

Comments
 (0)