| | |
| | |
| | |
| |
|
| | #pragma once |
| |
|
| | #include <QAbstractListModel> |
| | #include <QDockWidget> |
| | #include "video_core/gpu_debugger.h" |
| |
|
| | namespace Core { |
| | class System; |
| | } |
| |
|
| | class GPUCommandStreamItemModel : public QAbstractListModel, |
| | public VideoCore::GraphicsDebugger::DebuggerObserver { |
| | Q_OBJECT |
| |
|
| | public: |
| | explicit GPUCommandStreamItemModel(QObject* parent); |
| |
|
| | int rowCount(const QModelIndex& parent = QModelIndex()) const override; |
| | QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; |
| |
|
| | public: |
| | void GXCommandProcessed(int total_command_count) override; |
| |
|
| | public slots: |
| | void OnGXCommandFinishedInternal(int total_command_count); |
| |
|
| | signals: |
| | void GXCommandFinished(int total_command_count); |
| |
|
| | private: |
| | int command_count; |
| | }; |
| |
|
| | class GPUCommandStreamWidget : public QDockWidget { |
| | Q_OBJECT |
| |
|
| | public: |
| | GPUCommandStreamWidget(Core::System& system, QWidget* parent = nullptr); |
| |
|
| | void Register(); |
| | void Unregister(); |
| |
|
| | protected: |
| | void showEvent(QShowEvent* event) override; |
| | void hideEvent(QHideEvent* event) override; |
| |
|
| | private: |
| | Core::System& system; |
| | GPUCommandStreamItemModel model; |
| | }; |
| |
|