early-access version 1790

This commit is contained in:
pineappleEA 2021-06-16 21:03:37 +02:00
parent 71a75eacdf
commit 2b662da26a
11 changed files with 34 additions and 4 deletions

View file

@ -1,7 +1,7 @@
yuzu emulator early access yuzu emulator early access
============= =============
This is the source code for early-access 1789. This is the source code for early-access 1790.
## Legal Notice ## Legal Notice

View file

@ -224,6 +224,7 @@ struct Values {
bool reporting_services; bool reporting_services;
bool quest_flag; bool quest_flag;
bool disable_macro_jit; bool disable_macro_jit;
bool unlimit_fps;
bool extended_logging; bool extended_logging;
bool use_debug_asserts; bool use_debug_asserts;
bool use_auto_stub; bool use_auto_stub;

View file

@ -1069,7 +1069,7 @@ void FSP_SRV::OutputAccessLogToSdCard(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_FS, "called"); LOG_DEBUG(Service_FS, "called");
reporter.SaveFSAccessLog(std::move(log)); reporter.SaveFSAccessLog(log);
IPC::ResponseBuilder rb{ctx, 2}; IPC::ResponseBuilder rb{ctx, 2};
rb.Push(ResultSuccess); rb.Push(ResultSuccess);

View file

@ -307,6 +307,9 @@ void NVFlinger::Compose() {
} }
s64 NVFlinger::GetNextTicks() const { s64 NVFlinger::GetNextTicks() const {
if (Settings::values.unlimit_fps) {
return 0;
}
constexpr s64 max_hertz = 120LL; constexpr s64 max_hertz = 120LL;
return (1000000000 * (1LL << swap_interval)) / max_hertz; return (1000000000 * (1LL << swap_interval)) / max_hertz;
} }

View file

@ -364,7 +364,7 @@ void Reporter::SaveErrorReport(u64 title_id, ResultCode result,
SaveToFile(std::move(out), GetPath("error_report", title_id, timestamp)); SaveToFile(std::move(out), GetPath("error_report", title_id, timestamp));
} }
void Reporter::SaveFSAccessLog(std::string log_message) const { void Reporter::SaveFSAccessLog(std::string_view log_message) const {
const auto access_log_path = const auto access_log_path =
Common::FS::GetYuzuPath(Common::FS::YuzuPath::SDMCDir) / "FsAccessLog.txt"; Common::FS::GetYuzuPath(Common::FS::YuzuPath::SDMCDir) / "FsAccessLog.txt";

View file

@ -65,7 +65,7 @@ public:
std::optional<std::string> custom_text_main = {}, std::optional<std::string> custom_text_main = {},
std::optional<std::string> custom_text_detail = {}) const; std::optional<std::string> custom_text_detail = {}) const;
void SaveFSAccessLog(std::string log_message) const; void SaveFSAccessLog(std::string_view log_message) const;
// Can be used anywhere to generate a backtrace and general info report at any point during // Can be used anywhere to generate a backtrace and general info report at any point during
// execution. Not intended to be used for anything other than debugging or testing. // execution. Not intended to be used for anything other than debugging or testing.

View file

@ -654,6 +654,7 @@ void Config::ReadDebuggingValues() {
Settings::values.quest_flag = ReadSetting(QStringLiteral("quest_flag"), false).toBool(); Settings::values.quest_flag = ReadSetting(QStringLiteral("quest_flag"), false).toBool();
Settings::values.disable_macro_jit = Settings::values.disable_macro_jit =
ReadSetting(QStringLiteral("disable_macro_jit"), false).toBool(); ReadSetting(QStringLiteral("disable_macro_jit"), false).toBool();
Settings::values.unlimit_fps = ReadSetting(QStringLiteral("unlimit_fps"), false).toBool();
Settings::values.extended_logging = Settings::values.extended_logging =
ReadSetting(QStringLiteral("extended_logging"), false).toBool(); ReadSetting(QStringLiteral("extended_logging"), false).toBool();
Settings::values.use_debug_asserts = Settings::values.use_debug_asserts =
@ -1267,6 +1268,7 @@ void Config::SaveDebuggingValues() {
WriteSetting(QStringLiteral("quest_flag"), Settings::values.quest_flag, false); WriteSetting(QStringLiteral("quest_flag"), Settings::values.quest_flag, false);
WriteSetting(QStringLiteral("use_debug_asserts"), Settings::values.use_debug_asserts, false); WriteSetting(QStringLiteral("use_debug_asserts"), Settings::values.use_debug_asserts, false);
WriteSetting(QStringLiteral("disable_macro_jit"), Settings::values.disable_macro_jit, false); WriteSetting(QStringLiteral("disable_macro_jit"), Settings::values.disable_macro_jit, false);
WriteSetting(QStringLiteral("unlimit_fps"), Settings::values.unlimit_fps, false);
qt_config->endGroup(); qt_config->endGroup();
} }

View file

@ -44,6 +44,7 @@ void ConfigureDebug::SetConfiguration() {
ui->enable_graphics_debugging->setChecked(Settings::values.renderer_debug); ui->enable_graphics_debugging->setChecked(Settings::values.renderer_debug);
ui->disable_macro_jit->setEnabled(runtime_lock); ui->disable_macro_jit->setEnabled(runtime_lock);
ui->disable_macro_jit->setChecked(Settings::values.disable_macro_jit); ui->disable_macro_jit->setChecked(Settings::values.disable_macro_jit);
ui->unlimit_fps->setChecked(Settings::values.unlimit_fps);
ui->extended_logging->setChecked(Settings::values.extended_logging); ui->extended_logging->setChecked(Settings::values.extended_logging);
} }
@ -58,6 +59,7 @@ void ConfigureDebug::ApplyConfiguration() {
Settings::values.use_auto_stub = ui->use_auto_stub->isChecked(); Settings::values.use_auto_stub = ui->use_auto_stub->isChecked();
Settings::values.renderer_debug = ui->enable_graphics_debugging->isChecked(); Settings::values.renderer_debug = ui->enable_graphics_debugging->isChecked();
Settings::values.disable_macro_jit = ui->disable_macro_jit->isChecked(); Settings::values.disable_macro_jit = ui->disable_macro_jit->isChecked();
Settings::values.unlimit_fps = ui->unlimit_fps->isChecked();
Settings::values.extended_logging = ui->extended_logging->isChecked(); Settings::values.extended_logging = ui->extended_logging->isChecked();
Debugger::ToggleConsole(); Debugger::ToggleConsole();
Common::Log::Filter filter; Common::Log::Filter filter;

View file

@ -138,6 +138,24 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="unlimit_fps">
<property name="enabled">
<bool>true</bool>
</property>
<property name="toolTip">
<string>
&lt;html&gt;&lt;head/&gt;&lt;body&gt;
&lt;p&gt;Presents guest frames as they become available, disabling the fps limit in most titles.&lt;/p&gt;
&lt;p&gt;NOTE: Will cause instabilities.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
</string>
</property>
<property name="text">
<string>Unlimit Framerate (Experimental)</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

View file

@ -490,6 +490,7 @@ void Config::ReadValues() {
Settings::values.disable_macro_jit = Settings::values.disable_macro_jit =
sdl2_config->GetBoolean("Debugging", "disable_macro_jit", false); sdl2_config->GetBoolean("Debugging", "disable_macro_jit", false);
Settings::values.unlimit_fps = sdl2_config->GetBoolean("Debugging", "unlimit_fps", false);
const auto title_list = sdl2_config->Get("AddOns", "title_ids", ""); const auto title_list = sdl2_config->Get("AddOns", "title_ids", "");
std::stringstream ss(title_list); std::stringstream ss(title_list);

View file

@ -366,6 +366,9 @@ use_debug_asserts =
use_auto_stub = use_auto_stub =
# Enables/Disables the macro JIT compiler # Enables/Disables the macro JIT compiler
disable_macro_jit=false disable_macro_jit=false
# Presents guest frames as they become available. Experimental.
# false: Disabled (default), true: Enabled
unlimit_fps=false
[WebService] [WebService]
# Whether or not to enable telemetry # Whether or not to enable telemetry