mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-06 15:01:28 +12:00
Fix PPU SELF Precompilation
This commit is contained in:
parent
0e23b89352
commit
968762c135
4 changed files with 6 additions and 5 deletions
|
@ -2243,7 +2243,6 @@ bool ppu_load_exec(const ppu_exec_object& elf, bool virtual_load, const std::str
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_ps3_process_info = old_process_info;
|
g_ps3_process_info = old_process_info;
|
||||||
Emu.ConfigurePPUCache();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!load_libs.empty())
|
if (!load_libs.empty())
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include "Emu/Memory/vm_locking.h"
|
#include "Emu/Memory/vm_locking.h"
|
||||||
#include "Emu/RSX/Core/RSXReservationLock.hpp"
|
#include "Emu/RSX/Core/RSXReservationLock.hpp"
|
||||||
#include "Emu/VFS.h"
|
#include "Emu/VFS.h"
|
||||||
|
#include "Emu/vfs_config.h"
|
||||||
#include "Emu/system_progress.hpp"
|
#include "Emu/system_progress.hpp"
|
||||||
#include "Emu/system_utils.hpp"
|
#include "Emu/system_utils.hpp"
|
||||||
#include "PPUThread.h"
|
#include "PPUThread.h"
|
||||||
|
@ -3574,7 +3575,7 @@ extern void ppu_precompile(std::vector<std::string>& dir_queue, std::vector<ppu_
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (std::memcpy(main_module.sha1, _main.sha1, sizeof(_main.sha1)) == 0)
|
if (std::memcmp(main_module.sha1, _main.sha1, sizeof(_main.sha1)) == 0)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -3587,6 +3588,7 @@ extern void ppu_precompile(std::vector<std::string>& dir_queue, std::vector<ppu_
|
||||||
obj.clear(), src.close(); // Clear decrypted file and elf object memory
|
obj.clear(), src.close(); // Clear decrypted file and elf object memory
|
||||||
|
|
||||||
_main.name = ' '; // Make ppu_finalize work
|
_main.name = ' '; // Make ppu_finalize work
|
||||||
|
Emu.ConfigurePPUCache(!Emu.IsPathInsideDir(_main.path, g_cfg_vfs.get_dev_flash()));
|
||||||
ppu_initialize(_main);
|
ppu_initialize(_main);
|
||||||
ppu_finalize(_main);
|
ppu_finalize(_main);
|
||||||
_main = {};
|
_main = {};
|
||||||
|
|
|
@ -3243,13 +3243,13 @@ s32 error_code::error_report(s32 result, const logs::message* channel, const cha
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Emulator::ConfigurePPUCache() const
|
void Emulator::ConfigurePPUCache(bool with_title_id) const
|
||||||
{
|
{
|
||||||
auto& _main = g_fxo->get<main_ppu_module>();
|
auto& _main = g_fxo->get<main_ppu_module>();
|
||||||
|
|
||||||
_main.cache = rpcs3::utils::get_cache_dir();
|
_main.cache = rpcs3::utils::get_cache_dir();
|
||||||
|
|
||||||
if (!m_title_id.empty() && m_cat != "1P")
|
if (with_title_id && !m_title_id.empty() && m_cat != "1P")
|
||||||
{
|
{
|
||||||
_main.cache += GetTitleID();
|
_main.cache += GetTitleID();
|
||||||
_main.cache += '/';
|
_main.cache += '/';
|
||||||
|
|
|
@ -353,7 +353,7 @@ public:
|
||||||
|
|
||||||
std::string GetFormattedTitle(double fps) const;
|
std::string GetFormattedTitle(double fps) const;
|
||||||
|
|
||||||
void ConfigurePPUCache() const;
|
void ConfigurePPUCache(bool with_title_id = true) const;
|
||||||
|
|
||||||
std::set<std::string> GetGameDirs() const;
|
std::set<std::string> GetGameDirs() const;
|
||||||
void AddGamesFromDir(const std::string& path);
|
void AddGamesFromDir(const std::string& path);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue