diff --git a/qrenderdoc/Windows/PerformanceCounterViewer.cpp b/qrenderdoc/Windows/PerformanceCounterViewer.cpp index 63b5d66fa..11258b04d 100644 --- a/qrenderdoc/Windows/PerformanceCounterViewer.cpp +++ b/qrenderdoc/Windows/PerformanceCounterViewer.cpp @@ -281,6 +281,24 @@ void PerformanceCounterViewer::OnCaptureLoaded() ui->saveCSV->setEnabled(true); } +void PerformanceCounterViewer::OnEventChanged(uint32_t eventId) +{ + if(ui->syncViews->isChecked()) + { + const int numItems = (int)ui->counterResults->rowCount(); + for(int i = 0; i < numItems; ++i) + { + QTableWidgetItem *item = ui->counterResults->item(i, 0); + if(item->data(Qt::UserRole).toUInt() == eventId) + { + ui->counterResults->setCurrentItem(item); + ui->counterResults->scrollToItem(item); + break; + } + } + } +} + void PerformanceCounterViewer::on_counterResults_doubleClicked(const QModelIndex &index) { QTableWidgetItem *item = ui->counterResults->item(index.row(), 0); diff --git a/qrenderdoc/Windows/PerformanceCounterViewer.h b/qrenderdoc/Windows/PerformanceCounterViewer.h index 809317b47..2b2305d95 100644 --- a/qrenderdoc/Windows/PerformanceCounterViewer.h +++ b/qrenderdoc/Windows/PerformanceCounterViewer.h @@ -48,7 +48,7 @@ public: void OnCaptureLoaded() override; void OnCaptureClosed() override; void OnSelectedEventChanged(uint32_t eventId) override {} - void OnEventChanged(uint32_t eventId) override {} + void OnEventChanged(uint32_t eventId) override; private slots: // automatic slots void on_counterResults_doubleClicked(const QModelIndex &index); diff --git a/qrenderdoc/Windows/PerformanceCounterViewer.ui b/qrenderdoc/Windows/PerformanceCounterViewer.ui index 8ddfa2a4e..7d5c861cf 100644 --- a/qrenderdoc/Windows/PerformanceCounterViewer.ui +++ b/qrenderdoc/Windows/PerformanceCounterViewer.ui @@ -81,6 +81,39 @@ + + + + Sync Views + + + Sync Views + + + + :/arrow_join.png:/arrow_join.png + + + true + + + Qt::ToolButtonTextBesideIcon + + + true + + + Qt::NoArrow + + + + + + + Qt::Vertical + + +