Commit fb7dcad
video_driver: consolidate three frame-time reset toggles into one
Replaces the per-event reset toggles
frame_time_counter_reset_after_fastforwarding
frame_time_counter_reset_after_load_state
frame_time_counter_reset_after_save_state
with a single combined bool
frame_time_counter_auto_reset
Rationale
=========
The three toggles all do the same thing -- drain the
'Estimated Screen Refresh Rate' sample buffer when an event
known to introduce contaminated samples completes -- on three
separate events. Splitting them was historical (each added at
the time a particular contaminator was identified) rather than
structurally motivated. As a UI, three identically-described
toggles next to each other is harder to reason about than a
single 'do best-effort cleanup' switch.
This becomes more relevant after the previous gated-sampling
commit: with 'Sample Frame Time Only In Stable State' on, the
buffer never accepts contaminated samples in the first place,
making the reset toggles entirely redundant. Folding them into
one bool and hiding it under that condition keeps the submenu
focused on the user's actual mental model -- either prevent
contamination or clean it up afterwards.
Behaviour
=========
* Default: false (matches the prior aggregate -- all three old
toggles defaulted off).
* When true: drains video_st->frame_time_count = 0 after
fast-forward toggle-off, save state, or load state. Same
three events the previous toggles handled; combined under
one switch.
* When 'video_frame_time_sample_gated' is true, this toggle is
hidden from the menu (still readable from config if the user
set it manually, but irrelevant -- no samples to clean up).
Migration
=========
Old config keys
frame_time_counter_reset_after_fastforwarding
frame_time_counter_reset_after_load_state
frame_time_counter_reset_after_save_state
are silently ignored on load (config parser doesn't warn on
unknown bool keys). Users who had any of them enabled will see
the new combined setting at its default (false) and need to
re-enable once if they want the cleanup behaviour. Acceptable
regression given the prior defaults were all off anyway.
Wiring
======
config.def.h DEFAULT_FRAME_TIME_COUNTER_AUTO_RESET
configuration.{c,h} struct field + SETTING_BOOL
command.c load/save state reset sites
runloop.c fastmotion reset sites
(incl. runloop_apply_fastmotion_override
parameter rename)
msg_hash.h enum
msg_hash_lbl_str.h config key string
intl/msg_hash_us.h 'Auto-Reset After Disruptive Events' +
sublabel describing the relationship to
the gated sampling setting
menu/menu_setting.c CONFIG_BOOL registration (single, replacing
three)
menu/menu_displaylist.c build_list keeps the always-shown items
(REFRESH_RATE_AUTO + GATED toggle); the
AUTO_RESET entry is added via an explicit
conditional PARSE_SETTINGS_ENUM call gated
on !video_frame_time_sample_gated
menu/cbs/menu_cbs_sublabel.c sublabel binding (single, replacing three)
Compile-checked: command.o, runloop.o, configuration.o,
intl/msg_hash_us.o, menu/menu_displaylist.o,
menu/cbs/menu_cbs_sublabel.o all clean. menu/menu_setting.o has
the same pre-existing DEFAULT_PLAYLIST_SHOW_INLINE_CORE_NAME
sandbox build failure as before, unrelated.1 parent d22e84c commit fb7dcad
11 files changed
Lines changed: 52 additions & 92 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
92 | | - | |
93 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| |||
2413 | 2413 | | |
2414 | 2414 | | |
2415 | 2415 | | |
2416 | | - | |
2417 | | - | |
| 2416 | + | |
| 2417 | + | |
2418 | 2418 | | |
2419 | 2419 | | |
2420 | 2420 | | |
| |||
2425 | 2425 | | |
2426 | 2426 | | |
2427 | 2427 | | |
2428 | | - | |
| 2428 | + | |
2429 | 2429 | | |
2430 | 2430 | | |
2431 | 2431 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
434 | 447 | | |
435 | 448 | | |
436 | 449 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2266 | 2266 | | |
2267 | 2267 | | |
2268 | 2268 | | |
2269 | | - | |
2270 | | - | |
2271 | | - | |
| 2269 | + | |
2272 | 2270 | | |
2273 | 2271 | | |
2274 | 2272 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
794 | 794 | | |
795 | 795 | | |
796 | 796 | | |
797 | | - | |
798 | | - | |
799 | | - | |
| 797 | + | |
800 | 798 | | |
801 | 799 | | |
802 | 800 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5187 | 5187 | | |
5188 | 5188 | | |
5189 | 5189 | | |
5190 | | - | |
5191 | | - | |
| 5190 | + | |
| 5191 | + | |
5192 | 5192 | | |
5193 | 5193 | | |
5194 | | - | |
5195 | | - | |
5196 | | - | |
5197 | | - | |
5198 | | - | |
5199 | | - | |
5200 | | - | |
5201 | | - | |
5202 | | - | |
5203 | | - | |
5204 | | - | |
5205 | | - | |
5206 | | - | |
5207 | | - | |
5208 | | - | |
5209 | | - | |
5210 | | - | |
5211 | | - | |
| 5194 | + | |
| 5195 | + | |
5212 | 5196 | | |
5213 | 5197 | | |
5214 | 5198 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | | - | |
307 | | - | |
308 | | - | |
| 306 | + | |
309 | 307 | | |
310 | 308 | | |
311 | 309 | | |
| |||
2921 | 2919 | | |
2922 | 2920 | | |
2923 | 2921 | | |
2924 | | - | |
2925 | | - | |
2926 | | - | |
2927 | | - | |
2928 | | - | |
2929 | | - | |
2930 | | - | |
2931 | | - | |
| 2922 | + | |
| 2923 | + | |
2932 | 2924 | | |
2933 | 2925 | | |
2934 | 2926 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11935 | 11935 | | |
11936 | 11936 | | |
11937 | 11937 | | |
11938 | | - | |
11939 | | - | |
11940 | | - | |
11941 | 11938 | | |
11942 | 11939 | | |
11943 | 11940 | | |
| |||
11947 | 11944 | | |
11948 | 11945 | | |
11949 | 11946 | | |
| 11947 | + | |
| 11948 | + | |
| 11949 | + | |
| 11950 | + | |
| 11951 | + | |
| 11952 | + | |
| 11953 | + | |
| 11954 | + | |
| 11955 | + | |
| 11956 | + | |
| 11957 | + | |
| 11958 | + | |
11950 | 11959 | | |
11951 | 11960 | | |
11952 | 11961 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12478 | 12478 | | |
12479 | 12479 | | |
12480 | 12480 | | |
12481 | | - | |
12482 | | - | |
12483 | | - | |
12484 | | - | |
12485 | | - | |
12486 | | - | |
12487 | | - | |
12488 | | - | |
12489 | | - | |
12490 | | - | |
12491 | | - | |
12492 | | - | |
12493 | | - | |
12494 | | - | |
12495 | | - | |
12496 | | - | |
12497 | | - | |
12498 | | - | |
12499 | | - | |
12500 | | - | |
12501 | | - | |
12502 | | - | |
12503 | | - | |
12504 | | - | |
12505 | | - | |
12506 | | - | |
12507 | | - | |
12508 | | - | |
12509 | | - | |
12510 | | - | |
12511 | | - | |
12512 | | - | |
12513 | | - | |
12514 | | - | |
| 12481 | + | |
| 12482 | + | |
| 12483 | + | |
| 12484 | + | |
12515 | 12485 | | |
12516 | 12486 | | |
12517 | 12487 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3233 | 3233 | | |
3234 | 3234 | | |
3235 | 3235 | | |
3236 | | - | |
3237 | | - | |
3238 | | - | |
| 3236 | + | |
3239 | 3237 | | |
3240 | 3238 | | |
3241 | 3239 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1560 | 1560 | | |
1561 | 1561 | | |
1562 | 1562 | | |
1563 | | - | |
1564 | | - | |
1565 | | - | |
| 1563 | + | |
1566 | 1564 | | |
1567 | 1565 | | |
1568 | 1566 | | |
| |||
0 commit comments