diff --git a/qrenderdoc/Windows/Dialogs/SettingsDialog.cpp b/qrenderdoc/Windows/Dialogs/SettingsDialog.cpp index 00a7ddae8..e82cb2040 100644 --- a/qrenderdoc/Windows/Dialogs/SettingsDialog.cpp +++ b/qrenderdoc/Windows/Dialogs/SettingsDialog.cpp @@ -693,6 +693,24 @@ void SettingsDialog::on_chooseSearchPaths_clicked() setLimitedPaths->AddAndOwnChild(makeSDString("$el"_lit, limited[i])); RENDERDOC_SaveConfigSettings(); + + if(m_Ctx.IsCaptureLoaded()) + { + QMessageBox::StandardButton ask = RDDialog::question( + this, tr("Shader Search Paths Saved"), + tr("The Shader Search Paths changes will automatically be applied the next time any " + "capture is opened.

" + "Would you like to reload all shader debug information in the current capture?"), + QMessageBox::Yes | QMessageBox::No); + + if(ask == QMessageBox::Yes) + { + m_Ctx.Replay().AsyncInvoke([this](IReplayController *r) { + r->ReloadShaderDebugInformation(); + GUIInvoke::call(m_Ctx.GetMainWindow()->Widget(), [this]() { m_Ctx.RefreshStatus(); }); + }); + } + } } }