From d7301c48b16469c7b69373b45e086533cae7c33f Mon Sep 17 00:00:00 2001 From: pineappleEA Date: Wed, 23 Mar 2022 22:29:02 +0100 Subject: [PATCH] early-access version 2595 --- README.md | 2 +- src/core/arm/dynarmic/arm_dynarmic_32.cpp | 4 ++-- src/core/arm/dynarmic/arm_dynarmic_64.cpp | 4 ++-- .../ir_opt/dead_code_elimination_pass.cpp | 13 ++++++++----- src/yuzu/applets/qt_web_browser.h | 1 + 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 69201e7ec..c34da8168 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ yuzu emulator early access ============= -This is the source code for early-access 2592. +This is the source code for early-access 2595. ## Legal Notice diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index c1c843b8f..286976623 100755 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp @@ -148,8 +148,8 @@ std::shared_ptr ARM_Dynarmic_32::MakeJit(Common::PageTable* config.wall_clock_cntpct = uses_wall_clock; // Code cache size - config.code_cache_size = 128_MiB; - config.far_code_offset = 100_MiB; + config.code_cache_size = 512_MiB; + config.far_code_offset = 400_MiB; // Safe optimizations if (Settings::values.cpu_debug_mode) { diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index aa74fce4d..d96226c41 100755 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp @@ -208,8 +208,8 @@ std::shared_ptr ARM_Dynarmic_64::MakeJit(Common::PageTable* config.wall_clock_cntpct = uses_wall_clock; // Code cache size - config.code_cache_size = 128_MiB; - config.far_code_offset = 100_MiB; + config.code_cache_size = 512_MiB; + config.far_code_offset = 400_MiB; // Safe optimizations if (Settings::values.cpu_debug_mode) { diff --git a/src/shader_recompiler/ir_opt/dead_code_elimination_pass.cpp b/src/shader_recompiler/ir_opt/dead_code_elimination_pass.cpp index 996679132..6697fde85 100755 --- a/src/shader_recompiler/ir_opt/dead_code_elimination_pass.cpp +++ b/src/shader_recompiler/ir_opt/dead_code_elimination_pass.cpp @@ -2,6 +2,10 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include + +#include + #include "shader_recompiler/frontend/ir/basic_block.h" #include "shader_recompiler/frontend/ir/value.h" #include "shader_recompiler/ir_opt/passes.h" @@ -25,15 +29,14 @@ void DeadInstElimination(IR::Block* const block) { } } -void DeletedPhiArgElimination(IR::Program& program, const std::vector& dead_blocks) { +void DeletedPhiArgElimination(IR::Program& program, std::span dead_blocks) { for (IR::Block* const block : program.blocks) { for (IR::Inst& phi : *block) { if (!IR::IsPhi(phi)) { continue; } for (size_t i = 0; i < phi.NumArgs(); ++i) { - const auto it{std::find(dead_blocks.begin(), dead_blocks.end(), phi.PhiBlock(i))}; - if (it == dead_blocks.end()) { + if (std::ranges::find(dead_blocks, phi.PhiBlock(i)) == dead_blocks.end()) { continue; } // Phi operand at this index is an unreachable block @@ -45,7 +48,7 @@ void DeletedPhiArgElimination(IR::Program& program, const std::vector dead_blocks; + boost::container::small_vector dead_blocks; const auto begin_it{program.syntax_list.begin()}; for (auto node_it = begin_it; node_it != program.syntax_list.end(); ++node_it) { if (node_it->type != IR::AbstractSyntaxNode::Type::If) { @@ -88,7 +91,7 @@ void DeadBranchElimination(IR::Program& program) { --node_it; } if (!dead_blocks.empty()) { - DeletedPhiArgElimination(program, dead_blocks); + DeletedPhiArgElimination(program, std::span(dead_blocks.data(), dead_blocks.size())); } } } // namespace diff --git a/src/yuzu/applets/qt_web_browser.h b/src/yuzu/applets/qt_web_browser.h index 79a08f509..a47059412 100755 --- a/src/yuzu/applets/qt_web_browser.h +++ b/src/yuzu/applets/qt_web_browser.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include