-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Progress Dialog: Fix race on PPU compilation status #14526
Conversation
rpcs3/Emu/Cell/PPUThread.cpp
Outdated
@@ -4523,10 +4523,13 @@ bool ppu_initialize(const ppu_module& info, bool check_only) | |||
// Check object file | |||
if (jit_compiler::check(cache_path + obj_name)) | |||
{ | |||
if (!jit && !check_only) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why was this changed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was a bug, g_progr_ptotal is incremented if check_only is false. It does not care about null jit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, this change is wrong.
It's incremented later again if it needs to be compiled a couple of lines below.
So you're incrementing the uncached ones twice now.
84f6d14
to
32e0a24
Compare
0e32ddf
to
8b86fad
Compare
lgtm. But I haven't tested anything. |
Sadly it's broken AF xD |
5b42e96
to
3540b45
Compare
If more than one PPU thread was loading PPU PRX/OVL, there could have been a race that would make the "Compiling PPU Modules" message never disappear because one thread was storing the string the other thread stored. (g_progr never gets null again)