diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/citra_qt/debugger/graphics/graphics_tracing.h | 6 | ||||
| -rw-r--r-- | src/citra_qt/main.cpp | 69 | ||||
| -rw-r--r-- | src/citra_qt/main.h | 2 | ||||
| -rw-r--r-- | src/citra_qt/main.ui | 13 |
4 files changed, 51 insertions, 39 deletions
diff --git a/src/citra_qt/debugger/graphics/graphics_tracing.h b/src/citra_qt/debugger/graphics/graphics_tracing.h index 3f73bcd2e..eb1292c29 100644 --- a/src/citra_qt/debugger/graphics/graphics_tracing.h +++ b/src/citra_qt/debugger/graphics/graphics_tracing.h | |||
| @@ -15,6 +15,9 @@ public: | |||
| 15 | explicit GraphicsTracingWidget(std::shared_ptr<Pica::DebugContext> debug_context, | 15 | explicit GraphicsTracingWidget(std::shared_ptr<Pica::DebugContext> debug_context, |
| 16 | QWidget* parent = nullptr); | 16 | QWidget* parent = nullptr); |
| 17 | 17 | ||
| 18 | void OnEmulationStarting(EmuThread* emu_thread); | ||
| 19 | void OnEmulationStopping(); | ||
| 20 | |||
| 18 | private slots: | 21 | private slots: |
| 19 | void StartRecording(); | 22 | void StartRecording(); |
| 20 | void StopRecording(); | 23 | void StopRecording(); |
| @@ -23,9 +26,6 @@ private slots: | |||
| 23 | void OnBreakPointHit(Pica::DebugContext::Event event, void* data) override; | 26 | void OnBreakPointHit(Pica::DebugContext::Event event, void* data) override; |
| 24 | void OnResumed() override; | 27 | void OnResumed() override; |
| 25 | 28 | ||
| 26 | void OnEmulationStarting(EmuThread* emu_thread); | ||
| 27 | void OnEmulationStopping(); | ||
| 28 | |||
| 29 | signals: | 29 | signals: |
| 30 | void SetStartTracingButtonEnabled(bool enable); | 30 | void SetStartTracingButtonEnabled(bool enable); |
| 31 | void SetStopTracingButtonEnabled(bool enable); | 31 | void SetStopTracingButtonEnabled(bool enable); |
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 20eb1f8ca..96ec42214 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp | |||
| @@ -59,7 +59,7 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { | |||
| 59 | statusBar()->hide(); | 59 | statusBar()->hide(); |
| 60 | 60 | ||
| 61 | InitializeWidgets(); | 61 | InitializeWidgets(); |
| 62 | InitializeDebugMenuActions(); | 62 | InitializeDebugWidgets(); |
| 63 | InitializeRecentFileMenuActions(); | 63 | InitializeRecentFileMenuActions(); |
| 64 | InitializeHotkeys(); | 64 | InitializeHotkeys(); |
| 65 | 65 | ||
| @@ -93,74 +93,85 @@ void GMainWindow::InitializeWidgets() { | |||
| 93 | 93 | ||
| 94 | game_list = new GameList(); | 94 | game_list = new GameList(); |
| 95 | ui.horizontalLayout->addWidget(game_list); | 95 | ui.horizontalLayout->addWidget(game_list); |
| 96 | } | ||
| 97 | |||
| 98 | void GMainWindow::InitializeDebugWidgets() { | ||
| 99 | connect(ui.action_Create_Pica_Surface_Viewer, &QAction::triggered, this, | ||
| 100 | &GMainWindow::OnCreateGraphicsSurfaceViewer); | ||
| 101 | |||
| 102 | QMenu* debug_menu = ui.menu_View_Debugging; | ||
| 96 | 103 | ||
| 97 | profilerWidget = new ProfilerWidget(this); | 104 | profilerWidget = new ProfilerWidget(this); |
| 98 | addDockWidget(Qt::BottomDockWidgetArea, profilerWidget); | 105 | addDockWidget(Qt::BottomDockWidgetArea, profilerWidget); |
| 99 | profilerWidget->hide(); | 106 | profilerWidget->hide(); |
| 107 | debug_menu->addAction(profilerWidget->toggleViewAction()); | ||
| 100 | 108 | ||
| 101 | #if MICROPROFILE_ENABLED | 109 | #if MICROPROFILE_ENABLED |
| 102 | microProfileDialog = new MicroProfileDialog(this); | 110 | microProfileDialog = new MicroProfileDialog(this); |
| 103 | microProfileDialog->hide(); | 111 | microProfileDialog->hide(); |
| 112 | debug_menu->addAction(microProfileDialog->toggleViewAction()); | ||
| 104 | #endif | 113 | #endif |
| 105 | 114 | ||
| 106 | disasmWidget = new DisassemblerWidget(this, emu_thread.get()); | 115 | disasmWidget = new DisassemblerWidget(this, emu_thread.get()); |
| 107 | addDockWidget(Qt::BottomDockWidgetArea, disasmWidget); | 116 | addDockWidget(Qt::BottomDockWidgetArea, disasmWidget); |
| 108 | disasmWidget->hide(); | 117 | disasmWidget->hide(); |
| 118 | debug_menu->addAction(disasmWidget->toggleViewAction()); | ||
| 119 | connect(this, &GMainWindow::EmulationStarting, disasmWidget, | ||
| 120 | &DisassemblerWidget::OnEmulationStarting); | ||
| 121 | connect(this, &GMainWindow::EmulationStopping, disasmWidget, | ||
| 122 | &DisassemblerWidget::OnEmulationStopping); | ||
| 109 | 123 | ||
| 110 | registersWidget = new RegistersWidget(this); | 124 | registersWidget = new RegistersWidget(this); |
| 111 | addDockWidget(Qt::RightDockWidgetArea, registersWidget); | 125 | addDockWidget(Qt::RightDockWidgetArea, registersWidget); |
| 112 | registersWidget->hide(); | 126 | registersWidget->hide(); |
| 127 | debug_menu->addAction(registersWidget->toggleViewAction()); | ||
| 128 | connect(this, &GMainWindow::EmulationStarting, registersWidget, | ||
| 129 | &RegistersWidget::OnEmulationStarting); | ||
| 130 | connect(this, &GMainWindow::EmulationStopping, registersWidget, | ||
| 131 | &RegistersWidget::OnEmulationStopping); | ||
| 113 | 132 | ||
| 114 | callstackWidget = new CallstackWidget(this); | 133 | callstackWidget = new CallstackWidget(this); |
| 115 | addDockWidget(Qt::RightDockWidgetArea, callstackWidget); | 134 | addDockWidget(Qt::RightDockWidgetArea, callstackWidget); |
| 116 | callstackWidget->hide(); | 135 | callstackWidget->hide(); |
| 136 | debug_menu->addAction(callstackWidget->toggleViewAction()); | ||
| 117 | 137 | ||
| 118 | graphicsWidget = new GPUCommandStreamWidget(this); | 138 | graphicsWidget = new GPUCommandStreamWidget(this); |
| 119 | addDockWidget(Qt::RightDockWidgetArea, graphicsWidget); | 139 | addDockWidget(Qt::RightDockWidgetArea, graphicsWidget); |
| 120 | graphicsWidget->hide(); | 140 | graphicsWidget->hide(); |
| 141 | debug_menu->addAction(graphicsWidget->toggleViewAction()); | ||
| 121 | 142 | ||
| 122 | graphicsCommandsWidget = new GPUCommandListWidget(this); | 143 | graphicsCommandsWidget = new GPUCommandListWidget(this); |
| 123 | addDockWidget(Qt::RightDockWidgetArea, graphicsCommandsWidget); | 144 | addDockWidget(Qt::RightDockWidgetArea, graphicsCommandsWidget); |
| 124 | graphicsCommandsWidget->hide(); | 145 | graphicsCommandsWidget->hide(); |
| 146 | debug_menu->addAction(graphicsCommandsWidget->toggleViewAction()); | ||
| 125 | 147 | ||
| 126 | graphicsBreakpointsWidget = new GraphicsBreakPointsWidget(Pica::g_debug_context, this); | 148 | graphicsBreakpointsWidget = new GraphicsBreakPointsWidget(Pica::g_debug_context, this); |
| 127 | addDockWidget(Qt::RightDockWidgetArea, graphicsBreakpointsWidget); | 149 | addDockWidget(Qt::RightDockWidgetArea, graphicsBreakpointsWidget); |
| 128 | graphicsBreakpointsWidget->hide(); | 150 | graphicsBreakpointsWidget->hide(); |
| 151 | debug_menu->addAction(graphicsBreakpointsWidget->toggleViewAction()); | ||
| 129 | 152 | ||
| 130 | graphicsVertexShaderWidget = new GraphicsVertexShaderWidget(Pica::g_debug_context, this); | 153 | graphicsVertexShaderWidget = new GraphicsVertexShaderWidget(Pica::g_debug_context, this); |
| 131 | addDockWidget(Qt::RightDockWidgetArea, graphicsVertexShaderWidget); | 154 | addDockWidget(Qt::RightDockWidgetArea, graphicsVertexShaderWidget); |
| 132 | graphicsVertexShaderWidget->hide(); | 155 | graphicsVertexShaderWidget->hide(); |
| 156 | debug_menu->addAction(graphicsVertexShaderWidget->toggleViewAction()); | ||
| 133 | 157 | ||
| 134 | graphicsTracingWidget = new GraphicsTracingWidget(Pica::g_debug_context, this); | 158 | graphicsTracingWidget = new GraphicsTracingWidget(Pica::g_debug_context, this); |
| 135 | addDockWidget(Qt::RightDockWidgetArea, graphicsTracingWidget); | 159 | addDockWidget(Qt::RightDockWidgetArea, graphicsTracingWidget); |
| 136 | graphicsTracingWidget->hide(); | 160 | graphicsTracingWidget->hide(); |
| 161 | debug_menu->addAction(graphicsTracingWidget->toggleViewAction()); | ||
| 162 | connect(this, &GMainWindow::EmulationStarting, graphicsTracingWidget, | ||
| 163 | &GraphicsTracingWidget::OnEmulationStarting); | ||
| 164 | connect(this, &GMainWindow::EmulationStopping, graphicsTracingWidget, | ||
| 165 | &GraphicsTracingWidget::OnEmulationStopping); | ||
| 137 | 166 | ||
| 138 | waitTreeWidget = new WaitTreeWidget(this); | 167 | waitTreeWidget = new WaitTreeWidget(this); |
| 139 | addDockWidget(Qt::LeftDockWidgetArea, waitTreeWidget); | 168 | addDockWidget(Qt::LeftDockWidgetArea, waitTreeWidget); |
| 140 | waitTreeWidget->hide(); | 169 | waitTreeWidget->hide(); |
| 141 | } | ||
| 142 | |||
| 143 | void GMainWindow::InitializeDebugMenuActions() { | ||
| 144 | auto graphicsSurfaceViewerAction = new QAction(tr("Create Pica Surface Viewer"), this); | ||
| 145 | connect(graphicsSurfaceViewerAction, SIGNAL(triggered()), this, | ||
| 146 | SLOT(OnCreateGraphicsSurfaceViewer())); | ||
| 147 | |||
| 148 | QMenu* debug_menu = ui.menu_View->addMenu(tr("Debugging")); | ||
| 149 | debug_menu->addAction(graphicsSurfaceViewerAction); | ||
| 150 | debug_menu->addSeparator(); | ||
| 151 | debug_menu->addAction(profilerWidget->toggleViewAction()); | ||
| 152 | #if MICROPROFILE_ENABLED | ||
| 153 | debug_menu->addAction(microProfileDialog->toggleViewAction()); | ||
| 154 | #endif | ||
| 155 | debug_menu->addAction(disasmWidget->toggleViewAction()); | ||
| 156 | debug_menu->addAction(registersWidget->toggleViewAction()); | ||
| 157 | debug_menu->addAction(callstackWidget->toggleViewAction()); | ||
| 158 | debug_menu->addAction(graphicsWidget->toggleViewAction()); | ||
| 159 | debug_menu->addAction(graphicsCommandsWidget->toggleViewAction()); | ||
| 160 | debug_menu->addAction(graphicsBreakpointsWidget->toggleViewAction()); | ||
| 161 | debug_menu->addAction(graphicsVertexShaderWidget->toggleViewAction()); | ||
| 162 | debug_menu->addAction(graphicsTracingWidget->toggleViewAction()); | ||
| 163 | debug_menu->addAction(waitTreeWidget->toggleViewAction()); | 170 | debug_menu->addAction(waitTreeWidget->toggleViewAction()); |
| 171 | connect(this, &GMainWindow::EmulationStarting, waitTreeWidget, | ||
| 172 | &WaitTreeWidget::OnEmulationStarting); | ||
| 173 | connect(this, &GMainWindow::EmulationStopping, waitTreeWidget, | ||
| 174 | &WaitTreeWidget::OnEmulationStopping); | ||
| 164 | } | 175 | } |
| 165 | 176 | ||
| 166 | void GMainWindow::InitializeRecentFileMenuActions() { | 177 | void GMainWindow::InitializeRecentFileMenuActions() { |
| @@ -235,21 +246,9 @@ void GMainWindow::ConnectWidgetEvents() { | |||
| 235 | connect(ui.action_Stop, SIGNAL(triggered()), this, SLOT(OnStopGame())); | 246 | connect(ui.action_Stop, SIGNAL(triggered()), this, SLOT(OnStopGame())); |
| 236 | connect(ui.action_Single_Window_Mode, SIGNAL(triggered(bool)), this, SLOT(ToggleWindowMode())); | 247 | connect(ui.action_Single_Window_Mode, SIGNAL(triggered(bool)), this, SLOT(ToggleWindowMode())); |
| 237 | 248 | ||
| 238 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), disasmWidget, | ||
| 239 | SLOT(OnEmulationStarting(EmuThread*))); | ||
| 240 | connect(this, SIGNAL(EmulationStopping()), disasmWidget, SLOT(OnEmulationStopping())); | ||
| 241 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), registersWidget, | ||
| 242 | SLOT(OnEmulationStarting(EmuThread*))); | ||
| 243 | connect(this, SIGNAL(EmulationStopping()), registersWidget, SLOT(OnEmulationStopping())); | ||
| 244 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), render_window, | 249 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), render_window, |
| 245 | SLOT(OnEmulationStarting(EmuThread*))); | 250 | SLOT(OnEmulationStarting(EmuThread*))); |
| 246 | connect(this, SIGNAL(EmulationStopping()), render_window, SLOT(OnEmulationStopping())); | 251 | connect(this, SIGNAL(EmulationStopping()), render_window, SLOT(OnEmulationStopping())); |
| 247 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), graphicsTracingWidget, | ||
| 248 | SLOT(OnEmulationStarting(EmuThread*))); | ||
| 249 | connect(this, SIGNAL(EmulationStopping()), graphicsTracingWidget, SLOT(OnEmulationStopping())); | ||
| 250 | connect(this, SIGNAL(EmulationStarting(EmuThread*)), waitTreeWidget, | ||
| 251 | SLOT(OnEmulationStarting(EmuThread*))); | ||
| 252 | connect(this, SIGNAL(EmulationStopping()), waitTreeWidget, SLOT(OnEmulationStopping())); | ||
| 253 | } | 252 | } |
| 254 | 253 | ||
| 255 | void GMainWindow::OnDisplayTitleBars(bool show) { | 254 | void GMainWindow::OnDisplayTitleBars(bool show) { |
diff --git a/src/citra_qt/main.h b/src/citra_qt/main.h index debc35c92..e0d9a545b 100644 --- a/src/citra_qt/main.h +++ b/src/citra_qt/main.h | |||
| @@ -64,7 +64,7 @@ signals: | |||
| 64 | 64 | ||
| 65 | private: | 65 | private: |
| 66 | void InitializeWidgets(); | 66 | void InitializeWidgets(); |
| 67 | void InitializeDebugMenuActions(); | 67 | void InitializeDebugWidgets(); |
| 68 | void InitializeRecentFileMenuActions(); | 68 | void InitializeRecentFileMenuActions(); |
| 69 | void InitializeHotkeys(); | 69 | void InitializeHotkeys(); |
| 70 | 70 | ||
diff --git a/src/citra_qt/main.ui b/src/citra_qt/main.ui index dfc424175..fba493a84 100644 --- a/src/citra_qt/main.ui +++ b/src/citra_qt/main.ui | |||
| @@ -79,8 +79,16 @@ | |||
| 79 | <property name="title"> | 79 | <property name="title"> |
| 80 | <string>&View</string> | 80 | <string>&View</string> |
| 81 | </property> | 81 | </property> |
| 82 | <widget class="QMenu" name="menu_View_Debugging"> | ||
| 83 | <property name="title"> | ||
| 84 | <string>Debugging</string> | ||
| 85 | </property> | ||
| 86 | <addaction name="action_Create_Pica_Surface_Viewer"/> | ||
| 87 | <addaction name="separator"/> | ||
| 88 | </widget> | ||
| 82 | <addaction name="action_Single_Window_Mode"/> | 89 | <addaction name="action_Single_Window_Mode"/> |
| 83 | <addaction name="action_Display_Dock_Widget_Headers"/> | 90 | <addaction name="action_Display_Dock_Widget_Headers"/> |
| 91 | <addaction name="menu_View_Debugging"/> | ||
| 84 | </widget> | 92 | </widget> |
| 85 | <widget class="QMenu" name="menu_Help"> | 93 | <widget class="QMenu" name="menu_Help"> |
| 86 | <property name="title"> | 94 | <property name="title"> |
| @@ -167,6 +175,11 @@ | |||
| 167 | <string>Selects a folder to display in the game list</string> | 175 | <string>Selects a folder to display in the game list</string> |
| 168 | </property> | 176 | </property> |
| 169 | </action> | 177 | </action> |
| 178 | <action name="action_Create_Pica_Surface_Viewer"> | ||
| 179 | <property name="text"> | ||
| 180 | <string>Create Pica Surface Viewer</string> | ||
| 181 | </property> | ||
| 182 | </action> | ||
| 170 | </widget> | 183 | </widget> |
| 171 | <resources/> | 184 | <resources/> |
| 172 | <connections> | 185 | <connections> |