diff options
author | chrisvj <chrisvanderjagt@gmail.com> | 2015-01-04 00:51:14 +0100 |
---|---|---|
committer | chrisvj <chrisvanderjagt@gmail.com> | 2015-01-06 13:51:54 +0100 |
commit | b0a14cfe7f0075d0758371276b7f6384856aa6ff (patch) | |
tree | 1c7c0f0f9c707138a0a7f37583c0ef31cd94bec3 /src/citra_qt/debugger/graphics_cmdlists.h | |
parent | Merge pull request #419 from linkmauve/no-x86-specifics (diff) | |
download | yuzu-b0a14cfe7f0075d0758371276b7f6384856aa6ff.tar yuzu-b0a14cfe7f0075d0758371276b7f6384856aa6ff.tar.gz yuzu-b0a14cfe7f0075d0758371276b7f6384856aa6ff.tar.bz2 yuzu-b0a14cfe7f0075d0758371276b7f6384856aa6ff.tar.lz yuzu-b0a14cfe7f0075d0758371276b7f6384856aa6ff.tar.xz yuzu-b0a14cfe7f0075d0758371276b7f6384856aa6ff.tar.zst yuzu-b0a14cfe7f0075d0758371276b7f6384856aa6ff.zip |
Diffstat (limited to 'src/citra_qt/debugger/graphics_cmdlists.h')
-rw-r--r-- | src/citra_qt/debugger/graphics_cmdlists.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/citra_qt/debugger/graphics_cmdlists.h b/src/citra_qt/debugger/graphics_cmdlists.h new file mode 100644 index 000000000..a465d044c --- /dev/null +++ b/src/citra_qt/debugger/graphics_cmdlists.h @@ -0,0 +1,83 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <QAbstractListModel> +#include <QDockWidget> + +#include "video_core/gpu_debugger.h" +#include "video_core/debug_utils/debug_utils.h" + +class QPushButton; +class QTreeView; + +class GPUCommandListModel : public QAbstractListModel +{ + Q_OBJECT + +public: + enum { + CommandIdRole = Qt::UserRole, + }; + + GPUCommandListModel(QObject* parent); + + int columnCount(const QModelIndex& parent = QModelIndex()) const override; + int rowCount(const QModelIndex& parent = QModelIndex()) const override; + QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; + +public slots: + void OnPicaTraceFinished(const Pica::DebugUtils::PicaTrace& trace); + +private: + Pica::DebugUtils::PicaTrace pica_trace; +}; + +class GPUCommandListWidget : public QDockWidget +{ + Q_OBJECT + +public: + GPUCommandListWidget(QWidget* parent = 0); + +public slots: + void OnToggleTracing(); + void OnCommandDoubleClicked(const QModelIndex&); + + void SetCommandInfo(const QModelIndex&); + +signals: + void TracingFinished(const Pica::DebugUtils::PicaTrace&); + +private: + std::unique_ptr<Pica::DebugUtils::PicaTrace> pica_trace; + + QTreeView* list_widget; + QWidget* command_info_widget; + QPushButton* toggle_tracing; +}; + +class TextureInfoDockWidget : public QDockWidget { + Q_OBJECT + +public: + TextureInfoDockWidget(const Pica::DebugUtils::TextureInfo& info, QWidget* parent = nullptr); + +signals: + void UpdatePixmap(const QPixmap& pixmap); + +private slots: + void OnAddressChanged(qint64 value); + void OnFormatChanged(int value); + void OnWidthChanged(int value); + void OnHeightChanged(int value); + void OnStrideChanged(int value); + +private: + QPixmap ReloadPixmap() const; + + Pica::DebugUtils::TextureInfo info; +}; |