Skip to content
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

RSX/SPU: Accurate reservation access (non-TSX) #7483

Merged
merged 3 commits into from Feb 19, 2020

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented Feb 14, 2020

Protect SPU reservation from the evil RSX which may damage it.

Fixes God Of War Ascension with non-tsx when enabled, this setting is located in advanced tab.

@AniLeo
Copy link
Member

AniLeo commented Feb 14, 2020

Why is this not enabled by default and/or not a setting at all? Is the performance penalty that heavy?

@elad335 elad335 force-pushed the ugh-reserve-gcm branch 2 times, most recently from fa9d6c4 to 4a35f1c Compare February 14, 2020 09:48
@elad335
Copy link
Contributor Author

elad335 commented Feb 14, 2020

Made it a dynamic setting, also yes it has a noticeable perf panalty with some games (most games won't map reservation memory to RSX so perf won't be affected).

@elad335 elad335 requested a review from kd-11 February 14, 2020 10:01
rpcs3/Emu/Cell/SPUThread.cpp Outdated Show resolved Hide resolved
while (Emu.IsPaused())
{
std::this_thread::sleep_for(1ms);
}

// Reset
start = get_system_time();
start += get_system_time() - start0;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

rpcs3/Emu/RSX/RSXThread.cpp Outdated Show resolved Hide resolved
rpcs3/Emu/Cell/SPUThread.cpp Outdated Show resolved Hide resolved
@AniLeo
Copy link
Member

AniLeo commented Feb 18, 2020

Needs rebase

@elad335
Copy link
Contributor Author

elad335 commented Feb 19, 2020

Rebased.

Affects cellGcmAddressToOffset when using addresses above 0xC0000000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants