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

My Fixups #5697

Merged
merged 9 commits into from
Mar 8, 2019
Merged

My Fixups #5697

merged 9 commits into from
Mar 8, 2019

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented Mar 2, 2019

@Hasster1
Copy link

Hasster1 commented Mar 2, 2019

Epic! With this pr, "Transformers: The Game" is now properly saving and loading games, without that black screen.
GTA: SA should be fixed too, 'cause they both were having same problems with black screen after loading.

@MsDarkLow
Copy link
Contributor

Yakuza Ishin no longer needs Disable ZCull Occlusion Queries.
Fixes the crashes related to zcull.

@AniLeo AniLeo requested a review from kd-11 March 2, 2019 20:37
@uaqlover
Copy link

uaqlover commented Mar 2, 2019

amazing pr elad

but still not working

Cars: Mater-National [BLES00162]

doesn't make save file at all

Cars: Race-O-Rama [BLES00620]

game freeze at making new save or loading save file

fps_ 682 28 _ opengl _ 0 0 6-2888fb56-fixup _ cars_ race-o-rama bles00620 02_03_2019 2_14_12 pm

thanks again for your hard work

@RainbowCookie32
Copy link
Contributor

RainbowCookie32 commented Mar 2, 2019

With this PR, [PROTOTYPE]™ [NPUB30389] no longer crashes when starting a new game. It freezes randomly after creating the save now, but it seems like it might be a race condition, since it doesn't freeze consistently at the same spot always.

image
RPCS3.log.gz

@elad335
Copy link
Contributor Author

elad335 commented Mar 3, 2019

@RainbowCookie32 I know Prototype 2 stability is fixed by #5346, so I've created a build with this pr and that pr to check if the cause of the instability is related to that.

@toccata10
Copy link
Contributor

I confirm that Battle Fantasia is playable again (linux, r9 fury, vulkan), which is great.
Thanks for all your fixes, elad335.

@RainbowCookie32
Copy link
Contributor

RainbowCookie32 commented Mar 3, 2019

@RainbowCookie32 I know Prototype 2 stability is fixed by #5346, so I've created a build with this pr and that pr to check if the cause of the instability is related to that.

Froze here with this build, the furthest I've got so far so it looks like Prototype also benefits with that PR's changes.
image
RPCS3.log.gz

@elad335
Copy link
Contributor Author

elad335 commented Mar 3, 2019

@RainbowCookie32 So it's better than on master? I'm trying to figure out if its a regression from this pr or just a stability issue in general.

@RainbowCookie32
Copy link
Contributor

RainbowCookie32 commented Mar 3, 2019

@RainbowCookie32 So it's better than on master? I'm trying to figure out if its a regression from this pr or just a stability issue in general.

Yep, that build is better than master. I don't think it's a regression on this PR.
Update: Got ingame with that build, seems like it might be just a stability issue in master
image

@elad335 elad335 force-pushed the fixup branch 3 times, most recently from f328109 to a6edd9e Compare March 5, 2019 19:21
@elad335 elad335 changed the title My Fixup My Fixups Mar 8, 2019
sys_lwcond_wait unlocks always with the 'usual' unlocking flags
- Make RSXIOMem volatile.
- Hint the compiler to check only once the address returned.
Block adding additional flush requests until the first ones are treated (by adding missing lock)
- From RE, only protocols SYS_SYNC_FIFO and SYS_SYNC_PRIORITY are valid
- Use conditional atomic op store in a few places
- Properly revert changes in sys_event_flag_set when aomic op fails
@Xcedf
Copy link

Xcedf commented Mar 8, 2019

Confirm #5707 fixed here, thanks

TODO: From hw testing, it seems like sys_memory_get_page_attribute and sys_rsx_context_iomap check page size a little differently

get_page_attribute() always go by area flags, sys_rsx_context_iomap checks page by the page granularity
This means that if the area page size 64k, but shared memory is mapped with SYS_MEMORY_GRANULARITY_1M
It can be mapped for rsxio, but the page attribute will indicate 64k page size :thonk:
rsxio memory is verified to need 1m pages.
@@ -373,9 +374,15 @@ static NEVER_INLINE error_code savedata_op(ppu_thread& ppu, u32 operation, u32 v

while (funcList)
{
// Yield
lv2_obj::sleep(ppu);
Copy link
Contributor

Choose a reason for hiding this comment

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

🤦‍♂️ Thanks

Copy link
Contributor

@kd-11 kd-11 left a comment

Choose a reason for hiding this comment

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

RSX-relevant code is ok

@Nekotekina Nekotekina merged commit a43e7c1 into RPCS3:master Mar 8, 2019
@MsDarkLow MsDarkLow mentioned this pull request Mar 8, 2019
11 tasks
@elad335 elad335 deleted the fixup branch March 9, 2019 18:32
@RainbowCookie32

This comment has been minimized.

@RPCS3 RPCS3 deleted a comment from pollo790 Mar 10, 2019
@RainbowCookie32

This comment has been minimized.

@RPCS3 RPCS3 locked as spam and limited conversation to collaborators Mar 10, 2019
@RPCS3 RPCS3 deleted a comment from pollo790 Mar 10, 2019
@RPCS3 RPCS3 deleted a comment from pollo790 Mar 10, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Regression] Gran Turismo 5 access violation thread_ctrl::wait_for behaviour
9 participants