Qt Debugger: Remove display list debugger.

Being replaced with WebSocket based debugger.  Was disabled and not
working anyway, and hardcoded some GL so a barrier to Vulkan.
This commit is contained in:
Unknown W. Brackets 2018-06-03 11:09:18 -07:00
parent c3213ade25
commit 28cabd578a
10 changed files with 2 additions and 2362 deletions

View File

@ -757,7 +757,6 @@ elseif(USING_QT_UI)
find_package(Qt5 COMPONENTS Multimedia)
endif(NOT SDL2_FOUND)
set(Qt_UI
Qt/Debugger/debugger_displaylist.ui
Qt/Debugger/debugger_memory.ui
Qt/Debugger/debugger_memorytex.ui
)
@ -772,8 +771,6 @@ elseif(USING_QT_UI)
Qt/mainwindow.h
Qt/Debugger/ctrlmemview.cpp
Qt/Debugger/ctrlmemview.h
Qt/Debugger/debugger_displaylist.cpp
Qt/Debugger/debugger_displaylist.h
Qt/Debugger/debugger_memory.cpp
Qt/Debugger/debugger_memory.h
Qt/Debugger/debugger_memorytex.cpp

View File

@ -241,6 +241,7 @@ public:
virtual void DumpNextFrame() = 0;
virtual void GetReportingInfo(std::string &primaryInfo, std::string &fullInfo) = 0;
virtual const std::list<int>& GetDisplayLists() = 0;
// TODO: Currently Qt only, needs to be cleaned up.
virtual std::vector<FramebufferInfo> GetFramebufferList() = 0;
virtual s64 GetListTicks(int listid) = 0;

File diff suppressed because it is too large Load Diff

View File

@ -1,104 +0,0 @@
#pragma once
#include "Core/Debugger/DebugInterface.h"
#include <QDialog>
#include <QTreeWidgetItem>
#include "GPU/GPUState.h"
#include "thin3d/thin3d.h"
class MainWindow;
namespace Ui {
class Debugger_DisplayList;
}
class DListLine
{
public:
u32 addr;
u32 cmd;
u32 data;
QString comment;
bool implementationNotFinished;
u32 texAddr;
u32 fboAddr;
u32 vtxAddr;
int vtxStart;
int vtxCount;
u32 idxAddr;
int idxStart;
int idxCount;
};
class Debugger_DisplayList : public QDialog
{
Q_OBJECT
public:
Debugger_DisplayList(DebugInterface *_cpu, Draw::DrawContext *draw, MainWindow *mainWindow_, QWidget *parent = 0);
~Debugger_DisplayList();
void UpdateDisplayList();
void ShowDLCode();
void FillDisplayListCmd(std::map<int,DListLine> &data, u32 pc, u32 prev, GPUgstate &state);
void Update();
void UpdateRenderBuffer();
void UpdateRenderBufferList();
void UpdateVertexInfo();
void UpdateIndexInfo();
signals:
void updateDisplayList_();
void updateRenderBufferList_();
void updateRenderBuffer_();
private slots:
void UpdateDisplayListGUI();
void UpdateRenderBufferListGUI();
void UpdateRenderBufferGUI();
void on_displayList_itemClicked(QTreeWidgetItem *item, int column);
void on_stepBtn_clicked();
void on_runBtn_clicked();
void on_stopBtn_clicked();
void on_nextDrawBtn_clicked();
void on_gotoPCBtn_clicked();
void on_texturesList_itemDoubleClicked(QTreeWidgetItem *item, int column);
void on_comboBox_currentIndexChanged(int index);
void on_fboList_itemClicked(QTreeWidgetItem *item, int column);
void on_nextDLBtn_clicked();
void setCurrentFBO(u32 addr);
void on_zoommBtn_clicked();
void on_zoompBtn_clicked();
void on_vertexList_itemClicked(QTreeWidgetItem *item, int column);
void on_pushButton_clicked();
void on_nextIdx_clicked();
void on_indexList_itemClicked(QTreeWidgetItem *item, int column);
void on_displayListData_customContextMenuRequested(const QPoint &pos);
void on_texturesList_customContextMenuRequested(const QPoint &pos);
void RunToDLPC();
void RunToDrawTex();
private:
QString DisassembleOp(u32 pc, u32 op, u32 prev, const GPUgstate &state);
Ui::Debugger_DisplayList *ui;
DebugInterface* cpu;
Draw::DrawContext* draw_;
MainWindow* mainWindow;
QTreeWidgetItem* displayListRowSelected;
QTreeWidgetItem* displayListDataSelected;
QTreeWidgetItem* textureDataSelected;
int currentRenderFrameDisplay;
Draw::Framebuffer *currentTextureDisplay;
float fboZoomFactor;
int maxVtxDisplay;
int maxIdxDisplay;
std::vector<GPUgstate> drawGPUState;
std::map<u32, int> vtxBufferSize;
std::map<u32, int> idxBufferSize;
};

View File

@ -1,533 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Debugger_DisplayList</class>
<widget class="QDialog" name="Debugger_DisplayList">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>795</width>
<height>506</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<widget class="QSplitter" name="splitter_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QSplitter" name="splitter_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>DisplayList</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTreeWidget" name="displayList">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="rootIsDecorated">
<bool>false</bool>
</property>
<property name="itemsExpandable">
<bool>false</bool>
</property>
<property name="expandsOnDoubleClick">
<bool>false</bool>
</property>
<attribute name="headerDefaultSectionSize">
<number>30</number>
</attribute>
<column>
<property name="text">
<string>Id</string>
</property>
</column>
<column>
<property name="text">
<string>Status</string>
</property>
</column>
<column>
<property name="text">
<string>Start Address</string>
</property>
</column>
<column>
<property name="text">
<string>Current Address</string>
</property>
</column>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="runBtn">
<property name="text">
<string>Run</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="stopBtn">
<property name="text">
<string>Stop</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="nextDLBtn">
<property name="text">
<string>Next DL</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QTabWidget" name="displayListInfo">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Commands</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QTreeWidget" name="displayListData">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="rootIsDecorated">
<bool>false</bool>
</property>
<property name="itemsExpandable">
<bool>false</bool>
</property>
<property name="expandsOnDoubleClick">
<bool>false</bool>
</property>
<property name="columnCount">
<number>2</number>
</property>
<attribute name="headerVisible">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
<column>
<property name="text">
<string notr="true">2</string>
</property>
</column>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QPushButton" name="stepBtn">
<property name="text">
<string>Step</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="nextDrawBtn">
<property name="text">
<string>Next Draw</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="gotoPCBtn">
<property name="text">
<string>Goto PC</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Textures</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QTreeWidget" name="texturesList">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<column>
<property name="text">
<string>Address</string>
</property>
</column>
<column>
<property name="text">
<string>Width</string>
</property>
</column>
<column>
<property name="text">
<string>Height</string>
</property>
</column>
<column>
<property name="text">
<string>Format</string>
</property>
</column>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3">
<attribute name="title">
<string>Vertex Buffer</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QTreeWidget" name="vertexList">
<attribute name="headerDefaultSectionSize">
<number>30</number>
</attribute>
<column>
<property name="text">
<string notr="true">Address</string>
</property>
</column>
<column>
<property name="text">
<string>Coord Type</string>
</property>
</column>
<column>
<property name="text">
<string>Number Morph</string>
</property>
</column>
<column>
<property name="text">
<string>Number Weights</string>
</property>
</column>
<column>
<property name="text">
<string>Has Weight</string>
</property>
</column>
<column>
<property name="text">
<string>Has Position</string>
</property>
</column>
<column>
<property name="text">
<string>Has Normal</string>
</property>
</column>
<column>
<property name="text">
<string>Has Color</string>
</property>
</column>
<column>
<property name="text">
<string>Has UV</string>
</property>
</column>
</widget>
</item>
<item>
<widget class="QTreeWidget" name="vertexData">
<attribute name="headerDefaultSectionSize">
<number>30</number>
</attribute>
<column>
<property name="text">
<string notr="true">Idx</string>
</property>
</column>
<column>
<property name="text">
<string>Address</string>
</property>
</column>
<column>
<property name="text">
<string>Values</string>
</property>
</column>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>Next 20</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="title">
<string>Index Buffer</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QSplitter" name="splitter_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<widget class="QTreeWidget" name="indexList">
<column>
<property name="text">
<string notr="true">Address</string>
</property>
</column>
</widget>
<widget class="QTreeWidget" name="indexData">
<attribute name="headerDefaultSectionSize">
<number>30</number>
</attribute>
<column>
<property name="text">
<string>Idx</string>
</property>
</column>
<column>
<property name="text">
<string notr="true">Adress</string>
</property>
</column>
<column>
<property name="text">
<string>Value</string>
</property>
</column>
</widget>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QPushButton" name="nextIdx">
<property name="text">
<string>Next 20</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Framebuffer</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QSplitter" name="splitter_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<widget class="QTreeWidget" name="fboList">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<column>
<property name="text">
<string>VAddress</string>
</property>
</column>
<column>
<property name="text">
<string>Width</string>
</property>
</column>
<column>
<property name="text">
<string>Height</string>
</property>
</column>
<column>
<property name="text">
<string>Format</string>
</property>
</column>
</widget>
<widget class="QScrollArea" name="fboScroll">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>375</width>
<height>76</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="fboImg">
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<property name="text">
<string/>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Display : </string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox">
<item>
<property name="text">
<string>Color</string>
</property>
</item>
<item>
<property name="text">
<string>Depth</string>
</property>
</item>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="zoommBtn">
<property name="text">
<string>Zoom-</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="zoompBtn">
<property name="text">
<string>Zoom+</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -28,8 +28,6 @@ public:
QtHost(MainWindow *mainWindow_)
{
mainWindow = mainWindow_;
m_GPUStep = false;
m_GPUFlag = 0;
}
virtual void UpdateUI() override {
@ -42,8 +40,6 @@ public:
}
virtual void UpdateDisassembly() override {
mainWindow->updateMenus();
if(mainWindow->GetDialogDisplaylist())
mainWindow->GetDialogDisplaylist()->Update();
}
virtual void SetDebugMode(bool mode) override {
@ -97,24 +93,9 @@ public:
}
bool GPUDebuggingActive() override {
auto dialogDisplayList = mainWindow->GetDialogDisplaylist();
if (dialogDisplayList && dialogDisplayList->isVisible()) {
if (m_GPUStep && m_GPUFlag == -1)
m_GPUFlag = 0;
return true;
}
return false;
}
void SetGPUStep(bool value, int flag = 0, u32 data = 0) {
m_GPUStep = value;
m_GPUFlag = flag;
m_GPUData = data;
}
private:
const char* SymbolMapFilename(std::string currentFilename);
MainWindow* mainWindow;
bool m_GPUStep;
int m_GPUFlag;
u32 m_GPUData;
};

View File

@ -22,8 +22,7 @@ MainWindow::MainWindow(QWidget *parent, bool fullscreen) :
nextState(CORE_POWERDOWN),
lastUIState(UISTATE_MENU),
memoryWindow(0),
memoryTexWindow(0),
displaylistWindow(0)
memoryTexWindow(0)
{
QDesktopWidget *desktop = QApplication::desktop();
int screenNum = QProcessEnvironment::systemEnvironment().value("SDL_VIDEO_FULLSCREEN_HEAD", "0").toInt();
@ -149,7 +148,6 @@ void MainWindow::bootDone()
memoryWindow = new Debugger_Memory(currentDebugMIPS, this, this);
memoryTexWindow = new Debugger_MemoryTex(this);
displaylistWindow = new Debugger_DisplayList(currentDebugMIPS, gpu->GetDrawContext(), this, this);
notifyMapsLoaded();
@ -178,8 +176,6 @@ void MainWindow::closeAct()
memoryWindow->close();
if(memoryTexWindow && memoryTexWindow->isVisible())
memoryTexWindow->close();
if(displaylistWindow && displaylistWindow->isVisible())
displaylistWindow->close();
NativeMessageReceived("stop", "");
SetGameTitle("");
@ -264,8 +260,6 @@ void MainWindow::resetAct()
memoryWindow->close();
if(memoryTexWindow)
memoryTexWindow->close();
if(displaylistWindow)
displaylistWindow->close();
NativeMessageReceived("reset", "");
}
@ -322,12 +316,6 @@ void MainWindow::dumpNextAct()
gpu->DumpNextFrame();
}
void MainWindow::dpyListAct()
{
if(displaylistWindow)
displaylistWindow->show();
}
void MainWindow::consoleAct()
{
LogManager::GetInstance()->GetConsoleListener()->Show(LogManager::GetInstance()->GetConsoleListener()->Hidden());
@ -520,9 +508,6 @@ void MainWindow::createMenus()
debugMenu->add(new MenuAction(this, SLOT(takeScreen()), QT_TR_NOOP("Take Screenshot"), Qt::Key_F12))
->addDisableState(UISTATE_MENU);
debugMenu->addSeparator();
//commented out until someone bothers to maintain it
//debugMenu->add(new MenuAction(this, SLOT(dpyListAct()), QT_TR_NOOP("Display List...")))
// ->addDisableState(UISTATE_MENU);
debugMenu->add(new MenuAction(this, SLOT(consoleAct()), QT_TR_NOOP("Log Console")))
->addDisableState(UISTATE_MENU);
debugMenu->add(new MenuAction(this, SLOT(memviewAct()), QT_TR_NOOP("Memory View")))

View File

@ -14,7 +14,6 @@
#include "Core/System.h"
#include "Debugger/debugger_memory.h"
#include "Debugger/debugger_memorytex.h"
#include "Debugger/debugger_displaylist.h"
#include "Qt/QtMain.h"
extern bool g_TakeScreenshot;
@ -38,7 +37,6 @@ public:
Debugger_Memory* GetDialogMemory() { return memoryWindow; }
Debugger_MemoryTex* GetDialogMemoryTex() { return memoryTexWindow; }
Debugger_DisplayList* GetDialogDisplaylist() { return displaylistWindow; }
CoreState GetNextState() { return nextState; }
void ShowMemory(u32 addr);
@ -95,7 +93,6 @@ private slots:
void resetTableAct();
void dumpNextAct();
void takeScreen() { g_TakeScreenshot = true; }
void dpyListAct();
void consoleAct();
void memviewAct();
void memviewTexAct();
@ -166,7 +163,6 @@ private:
Debugger_Memory *memoryWindow;
Debugger_MemoryTex *memoryTexWindow;
Debugger_DisplayList *displaylistWindow;
QActionGroup *anisotropicGroup, *screenGroup, *displayLayoutGroup,
*defaultLogGroup, *g3dLogGroup, *hleLogGroup;

View File

@ -347,12 +347,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\Qt\Debugger\debugger_displaylist.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\Qt\Debugger\debugger_memory.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@ -465,7 +459,6 @@
<ClInclude Include="..\android\jni\TestRunner.h" />
<ClInclude Include="..\ios\ViewController.h" />
<ClInclude Include="..\Qt\Debugger\ctrlmemview.h" />
<ClInclude Include="..\Qt\Debugger\debugger_displaylist.h" />
<ClInclude Include="..\Qt\Debugger\debugger_memory.h" />
<ClInclude Include="..\Qt\Debugger\debugger_memorytex.h" />
<ClInclude Include="..\Qt\mainwindow.h" />
@ -527,7 +520,6 @@
<None Include="..\Qt\assets.qrc" />
<None Include="..\Qt\Common.pro" />
<None Include="..\Qt\Core.pro" />
<None Include="..\Qt\Debugger\debugger_displaylist.ui" />
<None Include="..\Qt\Debugger\debugger_memory.ui" />
<None Include="..\Qt\Debugger\debugger_memorytex.ui" />
<None Include="..\Qt\GPU.pro" />

View File

@ -161,9 +161,6 @@
<ClCompile Include="..\Qt\mainwindow.cpp">
<Filter>Other Platforms\Qt</Filter>
</ClCompile>
<ClCompile Include="..\Qt\Debugger\debugger_displaylist.cpp">
<Filter>Other Platforms\Qt\Debugger</Filter>
</ClCompile>
<ClCompile Include="..\Qt\Debugger\debugger_memory.cpp">
<Filter>Other Platforms\Qt\Debugger</Filter>
</ClCompile>
@ -326,9 +323,6 @@
<ClInclude Include="..\Qt\Debugger\ctrlvfpuview.h">
<Filter>Other Platforms\Qt\Debugger</Filter>
</ClInclude>
<ClInclude Include="..\Qt\Debugger\debugger_displaylist.h">
<Filter>Other Platforms\Qt\Debugger</Filter>
</ClInclude>
<ClInclude Include="..\Qt\Debugger\debugger_memory.h">
<Filter>Other Platforms\Qt\Debugger</Filter>
</ClInclude>
@ -441,9 +435,6 @@
<None Include="..\Qt\assets.qrc">
<Filter>Other Platforms\Qt</Filter>
</None>
<None Include="..\Qt\Debugger\debugger_displaylist.ui">
<Filter>Other Platforms\Qt\Debugger</Filter>
</None>
<None Include="..\Qt\Debugger\debugger_memory.ui">
<Filter>Other Platforms\Qt\Debugger</Filter>
</None>