mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Make Citra build with MICROPROFILE_ENABLED set to 0 (#1709)
* Make Citra build with MICROPROFILE_ENABLED set to 0 * Buildfix with microprofile kept on * moc did not like a dialog to conditionally exist. * Cleanup * Fix end of line
This commit is contained in:
		
							parent
							
								
									fda578e19d
								
							
						
					
					
						commit
						90501f20e6
					
				
					 5 changed files with 30 additions and 1 deletions
				
			
		|  | @ -71,7 +71,9 @@ void EmuThread::run() { | ||||||
|     // Shutdown the core emulation
 |     // Shutdown the core emulation
 | ||||||
|     System::Shutdown(); |     System::Shutdown(); | ||||||
| 
 | 
 | ||||||
|  | #if MICROPROFILE_ENABLED | ||||||
|     MicroProfileOnThreadExit(); |     MicroProfileOnThreadExit(); | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
|     render_window->moveContext(); |     render_window->moveContext(); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -14,8 +14,10 @@ | ||||||
| 
 | 
 | ||||||
| // Include the implementation of the UI in this file. This isn't in microprofile.cpp because the
 | // Include the implementation of the UI in this file. This isn't in microprofile.cpp because the
 | ||||||
| // non-Qt frontends don't need it (and don't implement the UI drawing hooks either).
 | // non-Qt frontends don't need it (and don't implement the UI drawing hooks either).
 | ||||||
|  | #if MICROPROFILE_ENABLED | ||||||
| #define MICROPROFILEUI_IMPL 1 | #define MICROPROFILEUI_IMPL 1 | ||||||
| #include "common/microprofileui.h" | #include "common/microprofileui.h" | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
| using namespace Common::Profiling; | using namespace Common::Profiling; | ||||||
| 
 | 
 | ||||||
|  | @ -148,6 +150,8 @@ void ProfilerWidget::setProfilingInfoUpdateEnabled(bool enable) | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | #if MICROPROFILE_ENABLED | ||||||
|  | 
 | ||||||
| class MicroProfileWidget : public QWidget { | class MicroProfileWidget : public QWidget { | ||||||
| public: | public: | ||||||
|     MicroProfileWidget(QWidget* parent = nullptr); |     MicroProfileWidget(QWidget* parent = nullptr); | ||||||
|  | @ -171,6 +175,8 @@ private: | ||||||
|     QTimer update_timer; |     QTimer update_timer; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| MicroProfileDialog::MicroProfileDialog(QWidget* parent) | MicroProfileDialog::MicroProfileDialog(QWidget* parent) | ||||||
|     : QWidget(parent, Qt::Dialog) |     : QWidget(parent, Qt::Dialog) | ||||||
| { | { | ||||||
|  | @ -180,6 +186,8 @@ MicroProfileDialog::MicroProfileDialog(QWidget* parent) | ||||||
|     // Remove the "?" button from the titlebar and enable the maximize button
 |     // Remove the "?" button from the titlebar and enable the maximize button
 | ||||||
|     setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint | Qt::WindowMaximizeButtonHint); |     setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint | Qt::WindowMaximizeButtonHint); | ||||||
| 
 | 
 | ||||||
|  | #if MICROPROFILE_ENABLED | ||||||
|  | 
 | ||||||
|     MicroProfileWidget* widget = new MicroProfileWidget(this); |     MicroProfileWidget* widget = new MicroProfileWidget(this); | ||||||
| 
 | 
 | ||||||
|     QLayout* layout = new QVBoxLayout(this); |     QLayout* layout = new QVBoxLayout(this); | ||||||
|  | @ -191,6 +199,7 @@ MicroProfileDialog::MicroProfileDialog(QWidget* parent) | ||||||
|     setFocusProxy(widget); |     setFocusProxy(widget); | ||||||
|     widget->setFocusPolicy(Qt::StrongFocus); |     widget->setFocusPolicy(Qt::StrongFocus); | ||||||
|     widget->setFocus(); |     widget->setFocus(); | ||||||
|  | #endif | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| QAction* MicroProfileDialog::toggleViewAction() { | QAction* MicroProfileDialog::toggleViewAction() { | ||||||
|  | @ -218,6 +227,9 @@ void MicroProfileDialog::hideEvent(QHideEvent* ev) { | ||||||
|     QWidget::hideEvent(ev); |     QWidget::hideEvent(ev); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | #if MICROPROFILE_ENABLED | ||||||
|  | 
 | ||||||
| /// There's no way to pass a user pointer to MicroProfile, so this variable is used to make the
 | /// There's no way to pass a user pointer to MicroProfile, so this variable is used to make the
 | ||||||
| /// QPainter available inside the drawing callbacks.
 | /// QPainter available inside the drawing callbacks.
 | ||||||
| static QPainter* mp_painter = nullptr; | static QPainter* mp_painter = nullptr; | ||||||
|  | @ -337,3 +349,4 @@ void MicroProfileDrawLine2D(u32 vertices_length, float* vertices, u32 hex_color) | ||||||
|     mp_painter->drawPolyline(point_buf.data(), vertices_length); |     mp_painter->drawPolyline(point_buf.data(), vertices_length); | ||||||
|     point_buf.clear(); |     point_buf.clear(); | ||||||
| } | } | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | @ -7,8 +7,10 @@ | ||||||
| #include <QAbstractItemModel> | #include <QAbstractItemModel> | ||||||
| #include <QDockWidget> | #include <QDockWidget> | ||||||
| #include <QTimer> | #include <QTimer> | ||||||
|  | 
 | ||||||
| #include "ui_profiler.h" | #include "ui_profiler.h" | ||||||
| 
 | 
 | ||||||
|  | #include "common/microprofile.h" | ||||||
| #include "common/profiler_reporting.h" | #include "common/profiler_reporting.h" | ||||||
| 
 | 
 | ||||||
| class ProfilerModel : public QAbstractItemModel | class ProfilerModel : public QAbstractItemModel | ||||||
|  | @ -49,6 +51,7 @@ private: | ||||||
|     QTimer update_timer; |     QTimer update_timer; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MicroProfileDialog : public QWidget { | class MicroProfileDialog : public QWidget { | ||||||
|     Q_OBJECT |     Q_OBJECT | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -69,8 +69,10 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) | ||||||
|     addDockWidget(Qt::BottomDockWidgetArea, profilerWidget); |     addDockWidget(Qt::BottomDockWidgetArea, profilerWidget); | ||||||
|     profilerWidget->hide(); |     profilerWidget->hide(); | ||||||
| 
 | 
 | ||||||
|  | #if MICROPROFILE_ENABLED | ||||||
|     microProfileDialog = new MicroProfileDialog(this); |     microProfileDialog = new MicroProfileDialog(this); | ||||||
|     microProfileDialog->hide(); |     microProfileDialog->hide(); | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
|     disasmWidget = new DisassemblerWidget(this, emu_thread.get()); |     disasmWidget = new DisassemblerWidget(this, emu_thread.get()); | ||||||
|     addDockWidget(Qt::BottomDockWidgetArea, disasmWidget); |     addDockWidget(Qt::BottomDockWidgetArea, disasmWidget); | ||||||
|  | @ -110,7 +112,9 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) | ||||||
| 
 | 
 | ||||||
|     QMenu* debug_menu = ui.menu_View->addMenu(tr("Debugging")); |     QMenu* debug_menu = ui.menu_View->addMenu(tr("Debugging")); | ||||||
|     debug_menu->addAction(profilerWidget->toggleViewAction()); |     debug_menu->addAction(profilerWidget->toggleViewAction()); | ||||||
|  | #if MICROPROFILE_ENABLED | ||||||
|     debug_menu->addAction(microProfileDialog->toggleViewAction()); |     debug_menu->addAction(microProfileDialog->toggleViewAction()); | ||||||
|  | #endif | ||||||
|     debug_menu->addAction(disasmWidget->toggleViewAction()); |     debug_menu->addAction(disasmWidget->toggleViewAction()); | ||||||
|     debug_menu->addAction(registersWidget->toggleViewAction()); |     debug_menu->addAction(registersWidget->toggleViewAction()); | ||||||
|     debug_menu->addAction(callstackWidget->toggleViewAction()); |     debug_menu->addAction(callstackWidget->toggleViewAction()); | ||||||
|  | @ -136,8 +140,10 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) | ||||||
|     restoreGeometry(UISettings::values.geometry); |     restoreGeometry(UISettings::values.geometry); | ||||||
|     restoreState(UISettings::values.state); |     restoreState(UISettings::values.state); | ||||||
|     render_window->restoreGeometry(UISettings::values.renderwindow_geometry); |     render_window->restoreGeometry(UISettings::values.renderwindow_geometry); | ||||||
|  | #if MICROPROFILE_ENABLED | ||||||
|     microProfileDialog->restoreGeometry(UISettings::values.microprofile_geometry); |     microProfileDialog->restoreGeometry(UISettings::values.microprofile_geometry); | ||||||
|     microProfileDialog->setVisible(UISettings::values.microprofile_visible); |     microProfileDialog->setVisible(UISettings::values.microprofile_visible); | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
|     game_list->LoadInterfaceLayout(); |     game_list->LoadInterfaceLayout(); | ||||||
| 
 | 
 | ||||||
|  | @ -511,9 +517,10 @@ void GMainWindow::closeEvent(QCloseEvent* event) { | ||||||
|     UISettings::values.geometry = saveGeometry(); |     UISettings::values.geometry = saveGeometry(); | ||||||
|     UISettings::values.state = saveState(); |     UISettings::values.state = saveState(); | ||||||
|     UISettings::values.renderwindow_geometry = render_window->saveGeometry(); |     UISettings::values.renderwindow_geometry = render_window->saveGeometry(); | ||||||
|  | #if MICROPROFILE_ENABLED | ||||||
|     UISettings::values.microprofile_geometry = microProfileDialog->saveGeometry(); |     UISettings::values.microprofile_geometry = microProfileDialog->saveGeometry(); | ||||||
|     UISettings::values.microprofile_visible = microProfileDialog->isVisible(); |     UISettings::values.microprofile_visible = microProfileDialog->isVisible(); | ||||||
| 
 | #endif | ||||||
|     UISettings::values.single_window_mode = ui.action_Single_Window_Mode->isChecked(); |     UISettings::values.single_window_mode = ui.action_Single_Window_Mode->isChecked(); | ||||||
|     UISettings::values.display_titlebar = ui.actionDisplay_widget_title_bars->isChecked(); |     UISettings::values.display_titlebar = ui.actionDisplay_widget_title_bars->isChecked(); | ||||||
|     UISettings::values.first_start = false; |     UISettings::values.first_start = false; | ||||||
|  |  | ||||||
|  | @ -4,6 +4,10 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
|  | // Uncomment this to disable microprofile. This will get you cleaner profiles when using
 | ||||||
|  | // external sampling profilers like "Very Sleepy", and will improve performance somewhat.
 | ||||||
|  | // #define MICROPROFILE_ENABLED 0
 | ||||||
|  | 
 | ||||||
| // Customized Citra settings.
 | // Customized Citra settings.
 | ||||||
| // This file wraps the MicroProfile header so that these are consistent everywhere.
 | // This file wraps the MicroProfile header so that these are consistent everywhere.
 | ||||||
| #define MICROPROFILE_WEBSERVER 0 | #define MICROPROFILE_WEBSERVER 0 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue