GPU: Use constants for display overscan range

pull/3360/head
Stenzek 4 weeks ago
parent 7316b011a4
commit a5940b2e21
No known key found for this signature in database

@ -839,12 +839,16 @@ void GPU::UpdateCRTCDisplayParameters()
case DisplayCropMode::Overscan:
case DisplayCropMode::OverscanUncorrected:
cs.horizontal_visible_start = static_cast<u16>(std::max<int>(0, 628 + g_settings.display_active_start_offset));
cs.horizontal_visible_end =
static_cast<u16>(std::max<int>(cs.horizontal_visible_start, 3188 + g_settings.display_active_end_offset));
cs.vertical_visible_start = static_cast<u16>(std::max<int>(0, 30 + g_settings.display_line_start_offset));
cs.vertical_visible_end =
static_cast<u16>(std::max<int>(cs.vertical_visible_start, 298 + g_settings.display_line_end_offset));
cs.horizontal_visible_start = static_cast<u16>(std::max<s32>(
0, static_cast<s32>(PAL_OVERSCAN_HORIZONTAL_ACTIVE_START) + g_settings.display_active_start_offset));
cs.horizontal_visible_end = static_cast<u16>(
std::max<s32>(cs.horizontal_visible_start,
static_cast<s32>(PAL_OVERSCAN_HORIZONTAL_ACTIVE_END) + g_settings.display_active_end_offset));
cs.vertical_visible_start = static_cast<u16>(std::max<s32>(
0, static_cast<s32>(PAL_OVERSCAN_VERTICAL_ACTIVE_START) + g_settings.display_line_start_offset));
cs.vertical_visible_end = static_cast<u16>(
std::max<s32>(cs.vertical_visible_start,
static_cast<s32>(NTSC_OVERSCAN_VERTICAL_ACTIVE_END) + g_settings.display_line_end_offset));
break;
case DisplayCropMode::Borders:
@ -878,12 +882,16 @@ void GPU::UpdateCRTCDisplayParameters()
case DisplayCropMode::Overscan:
case DisplayCropMode::OverscanUncorrected:
cs.horizontal_visible_start = static_cast<u16>(std::max<int>(0, 608 + g_settings.display_active_start_offset));
cs.horizontal_visible_end =
static_cast<u16>(std::max<int>(cs.horizontal_visible_start, 3168 + g_settings.display_active_end_offset));
cs.vertical_visible_start = static_cast<u16>(std::max<int>(0, 24 + g_settings.display_line_start_offset));
cs.vertical_visible_end =
static_cast<u16>(std::max<int>(cs.vertical_visible_start, 248 + g_settings.display_line_end_offset));
cs.horizontal_visible_start = static_cast<u16>(std::max<s32>(
0, static_cast<s32>(NTSC_OVERSCAN_HORIZONTAL_ACTIVE_START) + g_settings.display_active_start_offset));
cs.horizontal_visible_end = static_cast<u16>(
std::max<s32>(cs.horizontal_visible_start,
static_cast<s32>(NTSC_OVERSCAN_HORIZONTAL_ACTIVE_END) + g_settings.display_active_end_offset));
cs.vertical_visible_start = static_cast<u16>(std::max<s32>(
0, static_cast<s32>(NTSC_OVERSCAN_VERTICAL_ACTIVE_START) + g_settings.display_line_start_offset));
cs.vertical_visible_end = static_cast<u16>(
std::max<s32>(cs.vertical_visible_start,
static_cast<s32>(NTSC_OVERSCAN_VERTICAL_ACTIVE_END) + g_settings.display_line_end_offset));
break;
case DisplayCropMode::Borders:

@ -84,10 +84,18 @@ public:
NTSC_HORIZONTAL_ACTIVE_END = 3288,
NTSC_VERTICAL_ACTIVE_START = 16,
NTSC_VERTICAL_ACTIVE_END = 256,
NTSC_OVERSCAN_HORIZONTAL_ACTIVE_START = 608,
NTSC_OVERSCAN_HORIZONTAL_ACTIVE_END = 3168,
NTSC_OVERSCAN_VERTICAL_ACTIVE_START = 24,
NTSC_OVERSCAN_VERTICAL_ACTIVE_END = 248,
PAL_HORIZONTAL_ACTIVE_START = 488,
PAL_HORIZONTAL_ACTIVE_END = 3300,
PAL_VERTICAL_ACTIVE_START = 20,
PAL_VERTICAL_ACTIVE_END = 308,
PAL_OVERSCAN_HORIZONTAL_ACTIVE_START = 628,
PAL_OVERSCAN_HORIZONTAL_ACTIVE_END = 3188,
PAL_OVERSCAN_VERTICAL_ACTIVE_START = 30,
PAL_OVERSCAN_VERTICAL_ACTIVE_END = 298,
};
// Base class constructor.

Loading…
Cancel
Save