|
|
@ -146,25 +146,6 @@ void Swapchain::Create( |
|
|
{ |
|
|
{ |
|
|
is_outdated = false; |
|
|
is_outdated = false; |
|
|
is_suboptimal = false; |
|
|
is_suboptimal = false; |
|
|
|
|
|
|
|
|
switch (Settings::values.frame_pacing_mode.GetValue()) { |
|
|
|
|
|
case Settings::FramePacingMode::Target_Auto: |
|
|
|
|
|
scheduler.ResetFramePacing(); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_30: |
|
|
|
|
|
scheduler.ResetFramePacing(30.0); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_60: |
|
|
|
|
|
scheduler.ResetFramePacing(60.0); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_120: |
|
|
|
|
|
scheduler.ResetFramePacing(120.0); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_240: |
|
|
|
|
|
scheduler.ResetFramePacing(240.0); |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
width = width_; |
|
|
width = width_; |
|
|
height = height_; |
|
|
height = height_; |
|
|
#ifdef ANDROID
|
|
|
#ifdef ANDROID
|
|
|
@ -213,24 +194,22 @@ bool Swapchain::AcquireNextImage() { |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (resource_ticks[image_index] != 0 && !scheduler.IsFree(resource_ticks[image_index])) { |
|
|
|
|
|
switch (Settings::values.frame_pacing_mode.GetValue()) { |
|
|
|
|
|
case Settings::FramePacingMode::Target_Auto: |
|
|
|
|
|
scheduler.Wait(resource_ticks[image_index]); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_30: |
|
|
|
|
|
scheduler.Wait(resource_ticks[image_index], 30.0); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_60: |
|
|
|
|
|
scheduler.Wait(resource_ticks[image_index], 60.0); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_120: |
|
|
|
|
|
scheduler.Wait(resource_ticks[image_index], 120.0); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_240: |
|
|
|
|
|
scheduler.Wait(resource_ticks[image_index], 240.0); |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
switch (Settings::values.frame_pacing_mode.GetValue()) { |
|
|
|
|
|
case Settings::FramePacingMode::Target_Auto: |
|
|
|
|
|
scheduler.Wait(resource_ticks[image_index]); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_30: |
|
|
|
|
|
scheduler.Wait(resource_ticks[image_index], 30.0); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_60: |
|
|
|
|
|
scheduler.Wait(resource_ticks[image_index], 60.0); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_120: |
|
|
|
|
|
scheduler.Wait(resource_ticks[image_index], 120.0); |
|
|
|
|
|
break; |
|
|
|
|
|
case Settings::FramePacingMode::Target_240: |
|
|
|
|
|
scheduler.Wait(resource_ticks[image_index], 240.0); |
|
|
|
|
|
break; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
resource_ticks[image_index] = scheduler.CurrentTick(); |
|
|
resource_ticks[image_index] = scheduler.CurrentTick(); |
|
|
|