mirror of
https://github.com/stenzek/duckstation.git
synced 2026-07-08 17:46:19 +00:00
GPU: Update CRTC configuration on line offset change
Fixes offsets not applying immediately in interlaced modes that do not flip buffers.
This commit is contained in:
@@ -104,7 +104,11 @@ void GPU::UpdateSettings(const Settings& old_settings)
|
||||
m_console_is_pal = System::IsPALRegion();
|
||||
UpdateCRTCConfig();
|
||||
}
|
||||
else if (g_settings.display_crop_mode != old_settings.display_crop_mode)
|
||||
else if (g_settings.display_crop_mode != old_settings.display_crop_mode ||
|
||||
g_settings.display_active_start_offset != old_settings.display_active_start_offset ||
|
||||
g_settings.display_active_end_offset != old_settings.display_active_end_offset ||
|
||||
g_settings.display_line_start_offset != old_settings.display_line_start_offset ||
|
||||
g_settings.display_line_end_offset != old_settings.display_line_end_offset)
|
||||
{
|
||||
// Crop mode calls this, so recalculate the display area
|
||||
UpdateCRTCDisplayParameters();
|
||||
|
||||
@@ -4538,7 +4538,10 @@ void System::CheckForSettingsChanges(const Settings& old_settings)
|
||||
g_settings.gpu_max_run_ahead != old_settings.gpu_max_run_ahead ||
|
||||
g_settings.gpu_force_video_timing != old_settings.gpu_force_video_timing ||
|
||||
g_settings.display_crop_mode != old_settings.display_crop_mode ||
|
||||
g_settings.display_aspect_ratio != old_settings.display_aspect_ratio)
|
||||
g_settings.display_active_start_offset != old_settings.display_active_start_offset ||
|
||||
g_settings.display_active_end_offset != old_settings.display_active_end_offset ||
|
||||
g_settings.display_line_start_offset != old_settings.display_line_start_offset ||
|
||||
g_settings.display_line_end_offset != old_settings.display_line_end_offset)
|
||||
{
|
||||
g_gpu.UpdateSettings(old_settings);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user