mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +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
					
				@ -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…
	
		Reference in New Issue
	
	Block a user