diff --git a/rpcs3/Crypto/unself.cpp b/rpcs3/Crypto/unself.cpp index 8e1b8e9bd4..e6a112e921 100644 --- a/rpcs3/Crypto/unself.cpp +++ b/rpcs3/Crypto/unself.cpp @@ -351,10 +351,10 @@ void MetadataInfo::Show() const std::string iv_pad_str; for (int i = 0; i < 0x10; i++) { - key_str += fmt::format("%02x", key[i]); - key_pad_str += fmt::format("%02x", key_pad[i]); - iv_str += fmt::format("%02x", iv[i]); - iv_pad_str += fmt::format("%02x", iv_pad[i]); + fmt::append(key_str, "%02x", key[i]); + fmt::append(key_pad_str, "%02x", key_pad[i]); + fmt::append(iv_str, "%02x", iv[i]); + fmt::append(iv_pad_str, "%02x", iv_pad[i]); } self_log.notice("Key: %s", key_str.c_str()); diff --git a/rpcs3/Emu/NP/np_structs_extra.cpp b/rpcs3/Emu/NP/np_structs_extra.cpp index fe7b93f4ed..2317ab8d94 100644 --- a/rpcs3/Emu/NP/np_structs_extra.cpp +++ b/rpcs3/Emu/NP/np_structs_extra.cpp @@ -27,14 +27,15 @@ namespace extra_nps void print_bin_attr(const SceNpMatching2BinAttr* bin) { - sceNp2.warning("Id: %d, Size: %d, ptr: 0x%x", bin->id, bin->size, bin->ptr); + const auto ptr = +bin->ptr; + const u32 size = bin->size; - std::string dadata{}; - for (u32 i = 0; i < bin->size; i++) + sceNp2.warning("Id: %d, Size: %d, ptr: 0x%x", bin->id, size, ptr); + + if (ptr && size) { - dadata = fmt::format("%s %02X", dadata, bin->ptr[i]); + sceNp2.warning("Data: %s", std::basic_string_view{ptr.get_ptr(), size}); } - sceNp2.warning("Data: %s", dadata); } void print_bin_attr_internal(const SceNpMatching2RoomBinAttrInternal* bin) @@ -51,12 +52,7 @@ namespace extra_nps void print_presence_data(const SceNpMatching2PresenceOptionData* opt) { - std::string dadata{}; - for (int i = 0; i < 16; i++) - { - dadata = fmt::format("%s %02X", dadata, opt->data[i]); - } - sceNp2.warning("Data: %s", dadata); + sceNp2.warning("Data: %s", std::basic_string_view{std::data(opt->data), std::size(opt->data)}); } void print_range(const SceNpMatching2Range* range) diff --git a/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.cpp b/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.cpp index 15dd811515..01a266c73d 100644 --- a/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.cpp @@ -537,19 +537,19 @@ namespace rsx } case detail_level::minimal: { - perf_text += fmt::format("FPS : %05.2f", m_fps); + fmt::append(perf_text, "FPS : %05.2f", m_fps); break; } case detail_level::low: { - perf_text += fmt::format("FPS : %05.2f\n" + fmt::append(perf_text, "FPS : %05.2f\n" "CPU : %04.1f %%", m_fps, m_cpu_usage); break; } case detail_level::medium: { - perf_text += fmt::format("FPS : %05.2f\n\n" + fmt::append(perf_text, "FPS : %05.2f\n\n" "%s\n" " PPU : %04.1f %%\n" " SPU : %04.1f %%\n" @@ -560,7 +560,7 @@ namespace rsx } case detail_level::high: { - perf_text += fmt::format("FPS : %05.2f (%03.1fms)\n\n" + fmt::append(perf_text, "FPS : %05.2f (%03.1fms)\n\n" "%s\n" " PPU : %04.1f %% (%2u)\n" " SPU : %04.1f %% (%2u)\n" diff --git a/rpcs3/Emu/RSX/Program/CgBinaryFragmentProgram.cpp b/rpcs3/Emu/RSX/Program/CgBinaryFragmentProgram.cpp index 5a2e373e14..b43dad1b63 100644 --- a/rpcs3/Emu/RSX/Program/CgBinaryFragmentProgram.cpp +++ b/rpcs3/Emu/RSX/Program/CgBinaryFragmentProgram.cpp @@ -12,13 +12,13 @@ void CgBinaryDisasm::AddCodeAsm(const std::string& code) if (dst.dest_reg == 63) { - m_dst_reg_name = fmt::format("RC%s, ", GetMask().c_str()); + m_dst_reg_name = fmt::format("RC%s, ", GetMask()); op_name = rsx_fp_op_names[m_opcode] + "XC"; } else { - m_dst_reg_name = fmt::format("%s%d%s, ", dst.fp16 ? "H" : "R", dst.dest_reg, GetMask().c_str()); + m_dst_reg_name = fmt::format("%s%d%s, ", dst.fp16 ? "H" : "R", dst.dest_reg, GetMask()); op_name = rsx_fp_op_names[m_opcode] + std::string(dst.fp16 ? "H" : "R"); } @@ -181,7 +181,7 @@ template std::string CgBinaryDisasm::GetSrcDisAsm(T src) { const std::string perspective_correction = src2.perspective_corr ? "g" : "f"; const std::string input_attr_reg = reg_table[dst.src_attr_reg_num]; - ret += fmt::format("%s[%s]", perspective_correction.c_str(), input_attr_reg.c_str()); + fmt::append(ret, "%s[%s]", perspective_correction, input_attr_reg); } else { diff --git a/rpcs3/Emu/RSX/Program/CgBinaryProgram.h b/rpcs3/Emu/RSX/Program/CgBinaryProgram.h index 8ad5cdd971..53d9ab3c34 100644 --- a/rpcs3/Emu/RSX/Program/CgBinaryProgram.h +++ b/rpcs3/Emu/RSX/Program/CgBinaryProgram.h @@ -193,7 +193,7 @@ public: m_buffer_size = f.size(); m_buffer = new u8[m_buffer_size]; f.read(m_buffer, m_buffer_size); - m_arb_shader += fmt::format("Loading... [%s]\n", path.c_str()); + fmt::append(m_arb_shader, "Loading... [%s]\n", path.c_str()); } ~CgBinaryDisasm() @@ -243,7 +243,7 @@ public: offset += 6; while (offset < end_offset) { - offsets += fmt::format(" %d,", m_buffer[offset] << 8 | m_buffer[offset + 1]); + fmt::append(offsets, " %d,", m_buffer[offset] << 8 | m_buffer[offset + 1]); offset += 4; num++; } @@ -322,12 +322,12 @@ public: { auto& fprog = GetCgRef(prog.program); m_arb_shader += "\n"; - m_arb_shader += fmt::format("# binaryFormatRevision 0x%x\n", prog.binaryFormatRevision); - m_arb_shader += fmt::format("# profile sce_fp_rsx\n"); - m_arb_shader += fmt::format("# parameterCount %d\n", prog.parameterCount); - m_arb_shader += fmt::format("# instructionCount %d\n", fprog.instructionCount); - m_arb_shader += fmt::format("# attributeInputMask 0x%x\n", fprog.attributeInputMask); - m_arb_shader += fmt::format("# registerCount %d\n\n", fprog.registerCount); + fmt::append(m_arb_shader, "# binaryFormatRevision 0x%x\n", prog.binaryFormatRevision); + fmt::append(m_arb_shader, "# profile sce_fp_rsx\n"); + fmt::append(m_arb_shader, "# parameterCount %d\n", prog.parameterCount); + fmt::append(m_arb_shader, "# instructionCount %d\n", fprog.instructionCount); + fmt::append(m_arb_shader, "# attributeInputMask 0x%x\n", fprog.attributeInputMask); + fmt::append(m_arb_shader, "# registerCount %d\n\n", fprog.registerCount); CgBinaryParameterOffset offset = prog.parameterArray; for (u32 i = 0; i < prog.parameterCount; i++) @@ -340,7 +340,7 @@ public: std::string param_semantic = GetCgParamSemantic(fparam.semantic) + " "; std::string param_const = GetCgParamValue(fparam.embeddedConst, fparam.name); - m_arb_shader += fmt::format("#%d ", i) + param_type + param_name + param_semantic + param_const + "\n"; + fmt::append(m_arb_shader, "#%d%s%s%s%s\n", i, param_type, param_name, param_semantic, param_const); offset += u32{sizeof(CgBinaryParameter)}; } @@ -375,13 +375,13 @@ public: { const auto& vprog = GetCgRef(prog.program); m_arb_shader += "\n"; - m_arb_shader += fmt::format("# binaryFormatRevision 0x%x\n", prog.binaryFormatRevision); - m_arb_shader += fmt::format("# profile sce_vp_rsx\n"); - m_arb_shader += fmt::format("# parameterCount %d\n", prog.parameterCount); - m_arb_shader += fmt::format("# instructionCount %d\n", vprog.instructionCount); - m_arb_shader += fmt::format("# registerCount %d\n", vprog.registerCount); - m_arb_shader += fmt::format("# attributeInputMask 0x%x\n", vprog.attributeInputMask); - m_arb_shader += fmt::format("# attributeOutputMask 0x%x\n\n", vprog.attributeOutputMask); + fmt::append(m_arb_shader, "# binaryFormatRevision 0x%x\n", prog.binaryFormatRevision); + fmt::append(m_arb_shader, "# profile sce_vp_rsx\n"); + fmt::append(m_arb_shader, "# parameterCount %d\n", prog.parameterCount); + fmt::append(m_arb_shader, "# instructionCount %d\n", vprog.instructionCount); + fmt::append(m_arb_shader, "# registerCount %d\n", vprog.registerCount); + fmt::append(m_arb_shader, "# attributeInputMask 0x%x\n", vprog.attributeInputMask); + fmt::append(m_arb_shader, "# attributeOutputMask 0x%x\n\n", vprog.attributeOutputMask); CgBinaryParameterOffset offset = prog.parameterArray; for (u32 i = 0; i < prog.parameterCount; i++) @@ -394,7 +394,7 @@ public: std::string param_semantic = GetCgParamSemantic(vparam.semantic) + " "; std::string param_const = GetCgParamValue(vparam.embeddedConst, vparam.name); - m_arb_shader += fmt::format("#%d ", i) + param_type + param_name + param_semantic + param_const + "\n"; + fmt::append(m_arb_shader, "#%d%s%s%s%s\n", i, param_type, param_name, param_semantic, param_const); offset += u32{sizeof(CgBinaryParameter)}; }