aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/citra_qt/debugger/graphics_cmdlists.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/citra_qt/debugger/graphics_cmdlists.hxx')
-rw-r--r--src/citra_qt/debugger/graphics_cmdlists.hxx42
1 files changed, 12 insertions, 30 deletions
diff --git a/src/citra_qt/debugger/graphics_cmdlists.hxx b/src/citra_qt/debugger/graphics_cmdlists.hxx
index b4e6e3c8..479ef032 100644
--- a/src/citra_qt/debugger/graphics_cmdlists.hxx
+++ b/src/citra_qt/debugger/graphics_cmdlists.hxx
@@ -4,53 +4,28 @@
#pragma once
-#include <QAbstractItemModel>
+#include <QAbstractListModel>
#include <QDockWidget>
#include "video_core/gpu_debugger.h"
+#include "video_core/debug_utils/debug_utils.h"
-// TODO: Rename class, since it's not actually a list model anymore...
-class GPUCommandListModel : public QAbstractItemModel, public GraphicsDebugger::DebuggerObserver
+class GPUCommandListModel : public QAbstractListModel
{
Q_OBJECT
public:
GPUCommandListModel(QObject* parent);
- QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const;
- QModelIndex parent(const QModelIndex& child) const;
int columnCount(const QModelIndex& parent = QModelIndex()) const;
int rowCount(const QModelIndex& parent = QModelIndex()) const override;
QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
-public:
- void OnCommandListCalled(const GraphicsDebugger::PicaCommandList& lst, bool is_new) override;
-
public slots:
- void OnCommandListCalledInternal();
-
-signals:
- void CommandListCalled();
+ void OnPicaTraceFinished(const Pica::DebugUtils::PicaTrace& trace);
private:
- struct TreeItem : public QObject
- {
- enum Type {
- ROOT,
- COMMAND_LIST,
- COMMAND
- };
-
- TreeItem(Type type, int index, TreeItem* item_parent, QObject* parent) : QObject(parent), type(type), index(index), parent(item_parent) {}
-
- Type type;
- int index;
- std::vector<TreeItem*> children;
- TreeItem* parent;
- };
-
- std::vector<std::pair<u32,GraphicsDebugger::PicaCommandList>> command_lists;
- TreeItem* root_item;
+ Pica::DebugUtils::PicaTrace pica_trace;
};
class GPUCommandListWidget : public QDockWidget
@@ -60,5 +35,12 @@ class GPUCommandListWidget : public QDockWidget
public:
GPUCommandListWidget(QWidget* parent = 0);
+public slots:
+ void OnToggleTracing();
+
+signals:
+ void TracingFinished(const Pica::DebugUtils::PicaTrace&);
+
private:
+ std::unique_ptr<Pica::DebugUtils::PicaTrace> pica_trace;
};