summaryrefslogtreecommitdiffstats
path: root/src/citra_qt/debugger
diff options
context:
space:
mode:
authorTony Wasserka <neobrainx@gmail.com>2015-08-16 13:34:45 +0200
committerTony Wasserka <neobrainx@gmail.com>2015-08-16 13:34:45 +0200
commitf5144e6c10a5e0e0e6a267ca7ef8451f84194ffd (patch)
treee74eb17add0b6e0c33f79b95f95d7561cad7eeae /src/citra_qt/debugger
parentMerge pull request #933 from neobrain/shader_debugger (diff)
parentcitra-qt/debug_utils: Use lock_guard everywhere (diff)
downloadyuzu-f5144e6c10a5e0e0e6a267ca7ef8451f84194ffd.tar
yuzu-f5144e6c10a5e0e0e6a267ca7ef8451f84194ffd.tar.gz
yuzu-f5144e6c10a5e0e0e6a267ca7ef8451f84194ffd.tar.bz2
yuzu-f5144e6c10a5e0e0e6a267ca7ef8451f84194ffd.tar.lz
yuzu-f5144e6c10a5e0e0e6a267ca7ef8451f84194ffd.tar.xz
yuzu-f5144e6c10a5e0e0e6a267ca7ef8451f84194ffd.tar.zst
yuzu-f5144e6c10a5e0e0e6a267ca7ef8451f84194ffd.zip
Diffstat (limited to 'src/citra_qt/debugger')
-rw-r--r--src/citra_qt/debugger/graphics_cmdlists.cpp42
1 files changed, 23 insertions, 19 deletions
diff --git a/src/citra_qt/debugger/graphics_cmdlists.cpp b/src/citra_qt/debugger/graphics_cmdlists.cpp
index 7ac3ea542..e51a4480f 100644
--- a/src/citra_qt/debugger/graphics_cmdlists.cpp
+++ b/src/citra_qt/debugger/graphics_cmdlists.cpp
@@ -175,29 +175,29 @@ int GPUCommandListModel::rowCount(const QModelIndex& parent) const {
}
int GPUCommandListModel::columnCount(const QModelIndex& parent) const {
- return 3;
+ return 4;
}
QVariant GPUCommandListModel::data(const QModelIndex& index, int role) const {
if (!index.isValid())
return QVariant();
- const auto& writes = pica_trace.writes;
- const Pica::CommandProcessor::CommandHeader cmd{writes[index.row()].Id()};
- const u32 val{writes[index.row()].Value()};
+ const auto& write = pica_trace.writes[index.row()];
if (role == Qt::DisplayRole) {
QString content;
switch ( index.column() ) {
case 0:
- return QString::fromLatin1(Pica::Regs::GetCommandName(cmd.cmd_id).c_str());
+ return QString::fromLatin1(Pica::Regs::GetCommandName(write.cmd_id).c_str());
case 1:
- return QString("%1").arg(cmd.cmd_id, 3, 16, QLatin1Char('0'));
+ return QString("%1").arg(write.cmd_id, 3, 16, QLatin1Char('0'));
case 2:
- return QString("%1").arg(val, 8, 16, QLatin1Char('0'));
+ return QString("%1").arg(write.mask, 4, 2, QLatin1Char('0'));
+ case 3:
+ return QString("%1").arg(write.value, 8, 16, QLatin1Char('0'));
}
} else if (role == CommandIdRole) {
- return QVariant::fromValue<int>(cmd.cmd_id.Value());
+ return QVariant::fromValue<int>(write.cmd_id);
}
return QVariant();
@@ -213,6 +213,8 @@ QVariant GPUCommandListModel::headerData(int section, Qt::Orientation orientatio
case 1:
return tr("Register");
case 2:
+ return tr("Mask");
+ case 3:
return tr("New Value");
}
@@ -260,7 +262,7 @@ void GPUCommandListWidget::OnCommandDoubleClicked(const QModelIndex& index) {
}
void GPUCommandListWidget::SetCommandInfo(const QModelIndex& index) {
- QWidget* new_info_widget;
+ QWidget* new_info_widget = nullptr;
const unsigned int command_id = list_widget->model()->data(index, GPUCommandListModel::CommandIdRole).toUInt();
if (COMMAND_IN_RANGE(command_id, texture0) ||
@@ -281,14 +283,15 @@ void GPUCommandListWidget::SetCommandInfo(const QModelIndex& index) {
auto info = Pica::DebugUtils::TextureInfo::FromPicaRegister(config, format);
u8* src = Memory::GetPhysicalPointer(config.GetPhysicalAddress());
new_info_widget = new TextureInfoWidget(src, info);
- } else {
- new_info_widget = new QWidget;
}
-
- widget()->layout()->removeWidget(command_info_widget);
- delete command_info_widget;
- widget()->layout()->addWidget(new_info_widget);
- command_info_widget = new_info_widget;
+ if (command_info_widget) {
+ delete command_info_widget;
+ command_info_widget = nullptr;
+ }
+ if (new_info_widget) {
+ widget()->layout()->addWidget(new_info_widget);
+ command_info_widget = new_info_widget;
+ }
}
#undef COMMAND_IN_RANGE
@@ -300,7 +303,9 @@ GPUCommandListWidget::GPUCommandListWidget(QWidget* parent) : QDockWidget(tr("Pi
list_widget = new QTreeView;
list_widget->setModel(model);
- list_widget->setFont(QFont("monospace"));
+ QFont font("monospace");
+ font.setStyleHint(QFont::Monospace); // Automatic fallback to a monospace font on on platforms without a font called "monospace"
+ list_widget->setFont(font);
list_widget->setRootIsDecorated(false);
list_widget->setUniformRowHeights(true);
@@ -324,7 +329,7 @@ GPUCommandListWidget::GPUCommandListWidget(QWidget* parent) : QDockWidget(tr("Pi
connect(copy_all, SIGNAL(clicked()), this, SLOT(CopyAllToClipboard()));
- command_info_widget = new QWidget;
+ command_info_widget = nullptr;
QVBoxLayout* main_layout = new QVBoxLayout;
main_layout->addWidget(list_widget);
@@ -334,7 +339,6 @@ GPUCommandListWidget::GPUCommandListWidget(QWidget* parent) : QDockWidget(tr("Pi
sub_layout->addWidget(copy_all);
main_layout->addLayout(sub_layout);
}
- main_layout->addWidget(command_info_widget);
main_widget->setLayout(main_layout);
setWidget(main_widget);