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: Fixes #4611

Merged
merged 10 commits into from
May 23, 2018
Merged

rsx: Fixes #4611

merged 10 commits into from
May 23, 2018

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented May 19, 2018

  • Reimplements texture cache to take advantage of the memory mirror support added to master
  • Minor fixes to logging to reduce log spam

This PR will cause deadlocks on non-TSX cpus due to a vm lock contention issue. That will hopefully be fixed soon. (Deadlocks fixed)

@Asinin3
Copy link
Contributor

Asinin3 commented May 19, 2018

Fixes flickering during Tekken Tag Tournament 2 Intro on pre-rendered videos but also the "press start" screen. Didn't find any regressions with the following games (excluding the lockups): Skate 3, Persona 5, Ratchet & Clank 1 (one fps improvement), Ninja Gaiden Sigma, Teslagrad, Zone of the Enders 1, Godzilla, Wangan Midnight, Double Dragon Neon, Dreamworks Superstar Kartz, Dynasty Warriors 6, Asura's Wrath, Knights Contract, Driver San Francisco and Uncharted 1

@kd-11 kd-11 changed the title [VERY WIP] rsx: Fixes rsx: Fixes May 19, 2018
@hyperspeedgx
Copy link

hyperspeedgx commented May 19, 2018

Asinin3, is Ninja Gaiden Sigma movies fixed too?

@Xcedf
Copy link

Xcedf commented May 19, 2018

Fixes flickering in Uncharted series and Sly Cooper Thieves in Time
unfortunately before 6ca8465 GoW III could get ingame without Force CPU Blit, now it requires it again

@Xcedf
Copy link

Xcedf commented May 19, 2018

Found a regression in Metro Last Light
a bottom half screen is covered with some wierd artifact
3
and here's before
4
didn't find which rev is about this, will tell later

@Xcedf
Copy link

Xcedf commented May 19, 2018

Damn squashed commit made tests more difficult, yet the issue with Metro caused by
kd-11@9920908
unfortunately it's the same commit that fixes Uncharted and other games movie filckering, so reverting it fixes the Metro, but unfixes fmv playback in those games

@raveskirza
Copy link

raveskirza commented May 20, 2018

Uncharted and other games movie flickering is fixed by using strict rendering mode.. That is how master also behaves

@legend800
Copy link

legend800 commented May 20, 2018

Conan [BLES00076] freezes upon initial rendering of gameplay now (4/4 times) and kills the emulator as well (need to task manager > kill process). That means I don't get a log after to upload here. Copied the last few lines from the console below.

Runs fine on Master and marked as Playable on the compat. list (only missing a few gfx/textures). Let me know if you need anything else.

E {PPU[0x100001d] Thread (FMOD thread for FMOD_NONBLOCKING) [0x00d12090]} 'sys_fs_open' failed with 0x80010006 : CELL_ENOENT, “/dev_hdd0/game/BLES00076/sounds/conan_ambient_cold_rain.fsb” [1]
S {rsx::thread} RSX: New program compiled successfully x2
E {rsx::thread} RSX: Dangling reports found, discarding...

[Update] Fixed on new commits/rebase.

@Xcedf
Copy link

Xcedf commented May 20, 2018

@legend800 i may be mistaken, but the issue you've discribed look's like #4615, which is nothing to do with this PR, and you had the issue here cause this PR is not yet rebased on latest master, as you said yourself it works on master

@legend800
Copy link

Possible I guess. I'll retest after a rebase.

@kd-11 kd-11 force-pushed the rsx_volatile branch 2 times, most recently from 3bba005 to e3c1263 Compare May 21, 2018 13:24
@stride21
Copy link

stride21 commented May 21, 2018

Master
capture

This PR
pr

Strict rendering is need to fix lighting
in master but it doesn't seem to do it in this PR.
RPCS3.log.gz

@MarioSonic2987
Copy link
Contributor

MarioSonic2987 commented May 21, 2018

Like Persona 5, fixes blue textures on garage in Grid, where it's hit by:
E {rsx::thread} RSX: nv406e::semaphore_acquire has timed out. semaphore_address=0x40300410

Before:
image

After:
image

Confirmed by booting the game twice.

@MarioSonic2987
Copy link
Contributor

MarioSonic2987 commented May 21, 2018

Worms 2: Armageddon regressed. There's a black screen.

Master:
image

This PR:
image
Edit: Newer build fixes it.

@kd-11
Copy link
Contributor Author

kd-11 commented May 21, 2018

@MarioSonic2987 That build is wrong. It does not have the last commit added to master which fixes that issue. Rpcs3 appveyor did not compile this but my repo did - https://ci.appveyor.com/project/kd-11/rpcs3/build/0.0.0.6-6822

@MarioSonic2987
Copy link
Contributor

image
Now works properly.

@MarioSonic2987
Copy link
Contributor

Fixes broken character portrait in Dark Souls II (in this case, the second one):

Before:
image
After:
image

@spyropt
Copy link

spyropt commented May 21, 2018

p5 mem access error
RPCS3.zip

Edit Wrong report i was testing spu llvm i forgot to use asmjit

@jobs-git jobs-git mentioned this pull request May 21, 2018
@13xforever
Copy link
Contributor

@spyropt you're using spu llvm, your crash is not related to these changes

@spyropt
Copy link

spyropt commented May 22, 2018

@13xforever Sorry i forgot that i was testing spu llvm

@13xforever
Copy link
Contributor

13xforever commented May 22, 2018

So this happens very reliably if you go to the Diner in Shibuya on a rainy day and order a Hot Coffee

image

RPCS3.log.gz
NPEB02436-00--005--.zip

@kd-11
Copy link
Contributor Author

kd-11 commented May 23, 2018

Deadlocks have been fixed

kd-11 added 3 commits May 23, 2018 17:03
1. rsx: Rework section synchronization using the new memory mirrors
2. rsx: Tweaks
    - Simplify peeking into the current rsx::thread instance.
      Use a simple rsx::get_current_renderer instead of asking fxm for the same
    - Fix global rsx super memory shm block management
3. rsx: Improve memory validation. test_framebuffer() and
tag_framebuffer() are simplified due to mirror support
4. rsx: Only write back confirmed memory range to avoid overapproximation errors in blit engine
5. rsx: Explicitly mark clobbered flushable sections as dirty to have them
removed
6. rsx: Cumulative fixes
    - Reimplement rsx::buffered_section management routines
    - blit engine subsections are not hit-tested against confirmed/committed memory range
      Not all applications are 'honest' about region bounds, making the real cpu range useless for blit ops
kd-11 added 5 commits May 23, 2018 17:03
- Allows grabbing an unsynchronized memory block if overwriting contents
anyway
- Allows flushing only specified range of memory
…sx::thread

- Defers on_notity_memory_unmapped to only run from within rsx context
- Avoids passive_lock + writer_lock deadlock
@Xcedf
Copy link

Xcedf commented May 23, 2018

Infamous Demo the same regression as Metro, by the same part of code
this artifact on screen flickers in some places
1

@chompDev
Copy link

chompDev commented May 23, 2018

Using 66ca3e2

6600k(tsx) win10-x64
RDR(BLES01294) - Game locks after intro video

Getting a huge number (1000s) of these:
RSX: Invalid FIFO queue get/put registers found, get=0xCDCDCDCC, put=0x1BF5D8

RPCS3.log.gz

Edit: this occurred prior to this commit, but not to the extreme level it does now. The game accepts no input after the fifo spam begins.

@kd-11 kd-11 merged commit f38f61d into RPCS3:master May 23, 2018
@kd-11
Copy link
Contributor Author

kd-11 commented May 23, 2018

Regressions will have to be tracked separately before this grows unmaintainable

@kd-11
Copy link
Contributor Author

kd-11 commented May 23, 2018

@jon-reid This PR addresses a specific type of lockup, my guess is that the same error happens before this PR.

@ruthan
Copy link

ruthan commented May 23, 2018

With this PR MSi Afterburner overlay, finnaly started to work.
https://www.dropbox.com/s/7vemlwx5bvvn1wx/OverlayIsWorking.png?dl=0

@Asinin3
Copy link
Contributor

Asinin3 commented May 23, 2018

@ruthan This PR rebased to master, the PR that fixed was this #4639

@ruthan
Copy link

ruthan commented May 23, 2018

@Asinin3 - Ok, i reported it 4 months ago, regardless Geforce Experience overlay FPS counter is still broken - it shows 30 fps regardless of real FPS with Vulkan.

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.