Add socket-based interop with RGP and profile embedding in captures

This commit is contained in:
baldurk
2018-04-25 19:10:51 +01:00
parent 79637f6caa
commit 2d0f675ca8
17 changed files with 913 additions and 125 deletions
@@ -155,6 +155,8 @@ SettingsDialog::SettingsDialog(ICaptureContext &ctx, QWidget *parent)
ui->deleteDisasm->setEnabled(false);
ui->ExternalTool_RadeonGPUProfiler->setText(m_Ctx.Config().ExternalTool_RadeonGPUProfiler);
ui->Android_SDKPath->setText(m_Ctx.Config().Android_SDKPath);
ui->Android_JDKPath->setText(m_Ctx.Config().Android_JDKPath);
ui->Android_MaxConnectTimeout->setValue(m_Ctx.Config().Android_MaxConnectTimeout);
@@ -245,6 +247,23 @@ SettingsDialog::~SettingsDialog()
delete ui;
}
void SettingsDialog::focusItem(QString item)
{
for(int i = 0; i < ui->tabWidget->count(); i++)
{
QWidget *w = ui->tabWidget->widget(i)->findChild<QWidget *>(item);
if(w)
{
ui->tabWidget->setCurrentIndex(i);
w->setFocus(Qt::MouseFocusReason);
return;
}
}
qCritical() << "Couldn't find" << item << "to focus on settings dialog";
}
void SettingsDialog::on_pages_itemSelectionChanged()
{
QList<QListWidgetItem *> sel = ui->pages->selectedItems();
@@ -423,6 +442,29 @@ void SettingsDialog::on_chooseSearchPaths_clicked()
list.getItems().join(QLatin1Char(';')));
}
void SettingsDialog::on_ExternalTool_RadeonGPUProfiler_textEdited(const QString &rgp)
{
if(QFileInfo::exists(rgp) || rgp.isEmpty())
m_Ctx.Config().ExternalTool_RadeonGPUProfiler = rgp;
m_Ctx.Config().Save();
}
void SettingsDialog::on_browseRGPPath_clicked()
{
QString rgp = RDDialog::getExecutableFileName(
this, tr("Locate RGP executable"),
QFileInfo(m_Ctx.Config().ExternalTool_RadeonGPUProfiler).absoluteDir().path());
if(!rgp.isEmpty())
{
ui->ExternalTool_RadeonGPUProfiler->setText(rgp);
m_Ctx.Config().ExternalTool_RadeonGPUProfiler = rgp;
}
m_Ctx.Config().Save();
}
// texture viewer
void SettingsDialog::on_TextureViewer_PerTexSettings_toggled(bool checked)
{