Browse Source

[settings,qt] addition of GPU Logging and Dump SPIRV shaders controls

xbzk/gpu-logging_qt-controls_android-fix
xbzk 2 weeks ago
parent
commit
0c611309bc
  1. 9
      src/yuzu/configuration/configure_debug.cpp
  2. 113
      src/yuzu/configuration/configure_debug.ui

9
src/yuzu/configuration/configure_debug.cpp

@ -92,6 +92,12 @@ void ConfigureDebug::SetConfiguration() {
Settings::values.disable_shader_loop_safety_checks.GetValue()); Settings::values.disable_shader_loop_safety_checks.GetValue());
ui->perform_vulkan_check->setChecked(Settings::values.perform_vulkan_check.GetValue()); ui->perform_vulkan_check->setChecked(Settings::values.perform_vulkan_check.GetValue());
ui->debug_knobs_spinbox->setValue(Settings::values.debug_knobs.GetValue()); ui->debug_knobs_spinbox->setValue(Settings::values.debug_knobs.GetValue());
ui->gpu_log_level->setEnabled(runtime_lock);
ui->gpu_log_level->setCurrentIndex(
static_cast<int>(Settings::values.gpu_log_level.GetValue()));
ui->gpu_log_shader_dumps->setEnabled(runtime_lock);
ui->gpu_log_shader_dumps->setChecked(Settings::values.gpu_log_shader_dumps.GetValue());
#ifdef YUZU_USE_QT_WEB_ENGINE #ifdef YUZU_USE_QT_WEB_ENGINE
ui->disable_web_applet->setChecked(Settings::values.disable_web_applet.GetValue()); ui->disable_web_applet->setChecked(Settings::values.disable_web_applet.GetValue());
#else #else
@ -133,6 +139,9 @@ void ConfigureDebug::ApplyConfiguration() {
Settings::values.serial_battery = ui->serial_battery_edit->text().toUInt(); Settings::values.serial_battery = ui->serial_battery_edit->text().toUInt();
Settings::values.serial_unit = ui->serial_board_edit->text().toUInt(); Settings::values.serial_unit = ui->serial_board_edit->text().toUInt();
Settings::values.debug_knobs = ui->debug_knobs_spinbox->value(); Settings::values.debug_knobs = ui->debug_knobs_spinbox->value();
Settings::values.gpu_log_level =
static_cast<Settings::GpuLogLevel>(ui->gpu_log_level->currentIndex());
Settings::values.gpu_log_shader_dumps = ui->gpu_log_shader_dumps->isChecked();
Debugger::ToggleConsole(); Debugger::ToggleConsole();
Common::Log::Filter filter; Common::Log::Filter filter;
filter.ParseFilterString(Settings::values.log_filter.GetValue()); filter.ParseFilterString(Settings::values.log_filter.GetValue());

113
src/yuzu/configuration/configure_debug.ui

@ -157,7 +157,7 @@
<string>Logging</string> <string>Logging</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_1"> <layout class="QGridLayout" name="gridLayout_1">
<item row="0" column="0" colspan="2">
<item row="0" column="0" colspan="4">
<widget class="QWidget" name="logging_widget" native="true"> <widget class="QWidget" name="logging_widget" native="true">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum"> <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
@ -197,7 +197,77 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="2" column="0">
<item row="1" column="0">
<widget class="QWidget" name="gpu_log_level_widget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="gpu_log_level_layout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="gpu_log_level_label">
<property name="text">
<string>GPU Logging/Level</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="gpu_log_level">
<property name="toolTip">
<string>Detail level for GPU logs. Off disables logging entirely.</string>
</property>
<item>
<property name="text">
<string>Off</string>
</property>
</item>
<item>
<property name="text">
<string>Errors</string>
</property>
</item>
<item>
<property name="text">
<string>Standard</string>
</property>
</item>
<item>
<property name="text">
<string>Verbose</string>
</property>
</item>
<item>
<property name="text">
<string>All</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="toggle_console">
<property name="text">
<string>Show Log in Console</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QCheckBox" name="extended_logging"> <widget class="QCheckBox" name="extended_logging">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
@ -210,15 +280,20 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0">
<widget class="QCheckBox" name="toggle_console">
<property name="text">
<string>Show Log in Console</string>
</property>
</widget>
</item>
<item row="1" column="1">
<item row="1" column="3">
<widget class="QPushButton" name="open_log_button"> <widget class="QPushButton" name="open_log_button">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Maximum">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>250</width>
<height>0</height>
</size>
</property>
<property name="text"> <property name="text">
<string>Open Log Location</string> <string>Open Log Location</string>
</property> </property>
@ -270,7 +345,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="8" column="0">
<item row="9" column="0">
<widget class="QCheckBox" name="dump_macros"> <widget class="QCheckBox" name="dump_macros">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
@ -313,7 +388,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="0">
<item row="8" column="0">
<widget class="QCheckBox" name="disable_macro_jit"> <widget class="QCheckBox" name="disable_macro_jit">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
@ -326,7 +401,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="9" column="0">
<item row="10" column="0">
<widget class="QCheckBox" name="disable_macro_hle"> <widget class="QCheckBox" name="disable_macro_hle">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
@ -352,7 +427,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="10" column="0">
<item row="11" column="0">
<spacer name="verticalSpacer_5"> <spacer name="verticalSpacer_5">
<property name="orientation"> <property name="orientation">
<enum>Qt::Orientation::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
@ -388,6 +463,16 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="0">
<widget class="QCheckBox" name="gpu_log_shader_dumps">
<property name="toolTip">
<string>When checked, it will dump the recompiler's output SPIR-V binaries (.spv) under LogDir/shaders/. Inspect via SPIRV-Tools (spirv-dis / spirv-cross / spirv-val) or RenderDoc.</string>
</property>
<property name="text">
<string>Dump SPIR-V Shaders</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

Loading…
Cancel
Save