mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 11:36:13 +00:00
SPU: Fixup SPU Cache progress in first game boot
This commit is contained in:
parent
57324f1703
commit
b674e332fc
1 changed files with 6 additions and 9 deletions
|
@ -811,17 +811,14 @@ void spu_cache::initialize(bool build_existing_cache)
|
|||
// Fake LS
|
||||
std::vector<be_t<u32>> ls(0x10000);
|
||||
|
||||
bool is_first_thread = false;
|
||||
usz func_i = fnext++;
|
||||
|
||||
// Ensure some actions are performed on a single thread
|
||||
const bool is_first_thread = func_i == 0;
|
||||
|
||||
// Build functions
|
||||
for (usz func_i = fnext++; func_i < func_list.size(); func_i = fnext++, (showing_progress ? g_progr_pdone : pending_progress) += build_existing_cache ? 1 : 0)
|
||||
for (; func_i < func_list.size(); func_i = fnext++, (showing_progress ? g_progr_pdone : pending_progress) += build_existing_cache ? 1 : 0)
|
||||
{
|
||||
if (func_i == 0)
|
||||
{
|
||||
// Ensure some actions are performed on a single thread
|
||||
ensure(std::exchange(is_first_thread, true) == false);
|
||||
}
|
||||
|
||||
const spu_program& func = std::as_const(func_list)[func_i];
|
||||
|
||||
if (Emu.IsStopped() || fail_flag)
|
||||
|
@ -899,7 +896,7 @@ void spu_cache::initialize(bool build_existing_cache)
|
|||
|
||||
u32 last_sec_idx = umax;
|
||||
|
||||
for (usz func_i = data_indexer++;; func_i = data_indexer++, (showing_progress ? g_progr_pdone : pending_progress) += build_existing_cache ? 1 : 0)
|
||||
for (func_i = data_indexer++;; func_i = data_indexer++, (showing_progress ? g_progr_pdone : pending_progress) += build_existing_cache ? 1 : 0)
|
||||
{
|
||||
u32 passed_count = 0;
|
||||
u32 func_addr = 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue