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

Conversation

Projects
None yet
9 participants
@elad335
Copy link
Contributor

elad335 commented Mar 2, 2019

  • Adjust _sys_lwcond_wait mutex unlock to the new unlocking method (only the first unlock flag is used there), logging fixes.
  • Allow the usage of X8R8G8B8 in source format of rsx::image_in. fixes a regresssion from #5381 (#5510)
    todo: hw testing testing shows imgae_in supports more source formats than r5g6b6 and a8r8g8b8 at core.
    Alpha is always ignored.
  • Yield ppu thread in ShowSaveDataDialog to allow applications to continue execution in the background. Fixes #4031 (todo: Investiage similar situations with vsh as well)
  • make RSXIOMem volatile, minor optimization to avoid double checking address returned.
  • Fix potential deadlock when waiting for a zcull flush request to clear. (Vulkan)
  • Fix sync bug in sys_event_flag_set regarding atomic op on event flags.
  • Fix shared memory page flags. fixes #5707
@Hasster1

This comment has been minimized.

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

This comment has been minimized.

Copy link

MsDarkLow commented Mar 2, 2019

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

@AniLeo AniLeo requested a review from kd-11 Mar 2, 2019

@uaqlover

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Contributor

toccata10 commented Mar 3, 2019

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

@RainbowCookie32

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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 elad335:fixup branch 3 times, most recently from f328109 to a6edd9e Mar 5, 2019

@elad335 elad335 changed the title My Fixup My Fixups Mar 8, 2019

elad335 added some commits Mar 2, 2019

sys_lwmutex fixup after #5680
sys_lwcond_wait unlocks always with the 'usual' unlocking flags
Correctness fix for RSXIOMem
- Make RSXIOMem volatile.
- Hint the compiler to check only once the address returned.
vulkan zcull: Fix deadlock in zcull flush waiting
Block adding additional flush requests until the first ones are treated (by adding missing lock)
Small improvements to sys_event_flag
- 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

@elad335 elad335 force-pushed the elad335:fixup branch from a6edd9e to 7ebdfb1 Mar 8, 2019

@elad335 elad335 force-pushed the elad335:fixup branch from 7ebdfb1 to f202ec4 Mar 8, 2019

@Xcedf

This comment has been minimized.

Copy link

Xcedf commented Mar 8, 2019

Confirm #5707 fixed here, thanks

@elad335 elad335 force-pushed the elad335:fixup branch from f202ec4 to 37267a5 Mar 8, 2019

Fix shared memory page flags
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.

@elad335 elad335 force-pushed the elad335:fixup branch from 37267a5 to d829fcd Mar 8, 2019

@@ -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);

This comment has been minimized.

Copy link
@kd-11

kd-11 Mar 8, 2019

Contributor

🤦‍♂️ Thanks

@kd-11

kd-11 approved these changes Mar 8, 2019

Copy link
Contributor

kd-11 left a comment

RSX-relevant code is ok

@Nekotekina Nekotekina merged commit a43e7c1 into RPCS3:master Mar 8, 2019

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@elad335 elad335 deleted the elad335:fixup branch Mar 9, 2019

@RainbowCookie32

This comment was marked as resolved.

Copy link
Contributor

RainbowCookie32 commented Mar 10, 2019

@pollo790 Stop spamming PRs with useless "fix game" requests.

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

@RainbowCookie32

This comment was marked as resolved.

Copy link
Contributor

RainbowCookie32 commented Mar 10, 2019

Devs don't work on specific games, you are spamming a PR with useless messages and sending a notification to everyone involved in that PR, so yes it includes me, and I'm pretty sure anyone would answer the same as I did

@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.
You can’t perform that action at this time.