From 3da3c24f341aad9566e05babfc26d2ed5b3a6adf Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Thu, 29 Jan 2026 11:05:05 +1300 Subject: [PATCH] AsyncInvoke check for AMDRGPProfile Section in OnCaptureLoaded --- qrenderdoc/Windows/MainWindow.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/qrenderdoc/Windows/MainWindow.cpp b/qrenderdoc/Windows/MainWindow.cpp index 542936cab..b888d1137 100644 --- a/qrenderdoc/Windows/MainWindow.cpp +++ b/qrenderdoc/Windows/MainWindow.cpp @@ -2247,9 +2247,17 @@ void MainWindow::OnCaptureLoaded() updateToolsMenuOptions(); ui->action_Start_Replay_Loop->setEnabled(true); - ui->action_Open_RGP_Profile->setEnabled( - m_Ctx.Replay().GetCaptureAccess()->FindSectionByType(SectionType::AMDRGPProfile) >= 0); + + ui->action_Open_RGP_Profile->setEnabled(false); ui->action_Create_RGP_Profile->setEnabled(m_Ctx.APIProps().rgpCapture && m_Ctx.IsCaptureLocal()); + m_Ctx.Replay().AsyncInvoke([this](IReplayController *) { + bool hasAMDGRPPorfile = + (m_Ctx.Replay().GetCaptureAccess()->FindSectionByType(SectionType::AMDRGPProfile) >= 0); + + GUIInvoke::call(this, [this, hasAMDGRPPorfile]() { + ui->action_Open_RGP_Profile->setEnabled(hasAMDGRPPorfile); + }); + }); setCaptureHasErrors(!m_Ctx.DebugMessages().empty());