mirror of
https://github.com/marqs85/ossc
synced 2026-11-15 11:10:52 +03:00
Add fixed-refresh preset group for workstation modes
get_pure_lm_mode() picks the preset with the nearest total line count. Several workstation display modes share line counts with each other or with VESA modes while having one fixed refresh rate (e.g. Sun 1152x900 is 937 lines at both 66 Hz and 76.6 Hz on cg6 boards, and Sun 1280x1024@76 has the 1066 lines of VESA 1280x1024). Add GROUP_FIXED_VHZ. Presets in this group are candidates only when the measured refresh is within +-0.3 Hz of the preset (the measured refresh is exact to about 0.01 Hz). They are appended at the end of the table, so the early exit of the search loop is replaced by a flag that skips the remaining regular presets exactly as before but still lets fixed-refresh presets take part, including the existing equal-line refresh tie-break (group >= GROUP_720P). Group-indexed arrays in video_modes.c and controls.c get the extra entry. No preset uses the group yet, so behaviour is unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WiXHy7Jhh5yTdsBaenucgw
This commit is contained in:
1 parent
e800f095de
commit
b2fd00d439
3 files changed
+22
-7
No files matched your search
@@ -70,8 +70,11 @@ typedef enum {
|
||||
GROUP_720P = 8,
|
||||
GROUP_1080I = 9,
|
||||
GROUP_1080P = 10,
|
||||
GROUP_FIXED_VHZ = 11, // fixed-refresh workstation modes: only matched when the input refresh is within FIXED_VHZ_TOL_X100
|
||||
} video_group;
|
||||
|
||||
#define FIXED_VHZ_TOL_X100 30 // +-0.30 Hz (measured refresh is exact to ~0.01 Hz)
|
||||
|
||||
typedef enum {
|
||||
MODE_INTERLACED = (1<<0), //deprecated
|
||||
MODE_CRT = (1<<1),
|
||||
|
||||
Reference in new issue
Block a user