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: stuff #4752

Merged
merged 6 commits into from Jun 18, 2018

Conversation

Projects
None yet
@kd-11
Copy link
Contributor

commented Jun 13, 2018

  • vk: Implement type-agnostic transfer (e.g rgba16f to rgba8 memory). Fixes lighting in some situations
  • vk: Introduce compute transactions to offload some calculations from the cpu. This is still very barebones and integration is not finalized.
  • Minor theoretical fixup for texture cache
  • rsx: Improve read prediction for synchronized resources (wcb or blit engine). Significantly reduces the number of hard faults and lowers latency by eliminating unexpected readback
  • vk: Fixup for RADV driver
@kd-11

This comment has been minimized.

Copy link
Contributor Author

commented Jun 13, 2018

Notes for testers:

  1. Nvidia users experiencing poor performance can try using high precision Z (if you don't know what that is, don't ask, you shouldn't be using it)
  2. Expect crashes when using nvidia drivers + high precision Z
  3. Test games that need wcb + cpu blit on master, they should produce correct graphics with both options disabled now.
@Xcedf

This comment has been minimized.

Copy link

commented Jun 13, 2018

Uncharted 2 now kinda works without wcb+cpu blit, but even slower than master and wcb+cpu blit and freezes after intro with high precision Z

@spyropt

This comment has been minimized.

Copy link

commented Jun 13, 2018

Fixes the black around the window on the last of us intro, but i see no improvement disabling wcb and cpu blit in fps (high precision Z is enabled)
GOW III now shows image but i have to test it against master to make sure it's not from another pr (disabled cpu blit +wcb)

@nitrohigito

This comment has been minimized.

Copy link

commented Jun 13, 2018

No changes with The Darkness [BLES00058]. Still requires both to display any 3D, blackness awaits if I don't enable CPU Blit (only on the 3D parts, 2D elements display fine). Even when those are on, 3D is only on the half of the screen still.

Logs (WCB + Blit):
RPCS3.log.gz

RSX Capture (WCB + Blit, half-screen 3D, menu):
the_darkness_capture.zip

Logs (Blit only):
RPCS3.log.gz

RSX Capture (Blit only, almost full whiteness, no 3D, 2D barely visible, menu):
the_darkness_capture_2.zip

Logs (Neither):
RPCS3.log.gz

RSX Capture (Neither, almost full blackness, no 3D, 2D fully visible, menu):
the_darkness_capture_3.zip

Further details from a previous build here and here.

@Lagahan

This comment has been minimized.

Copy link

commented Jun 13, 2018

Wipeout HD still requires WCB for correct brightness on this PR, is it only cases where you also need CPU blit that you're expecting changes? Somewhere along the line on master something changed and the main menu is no longer really slow with WCB however so its no issue to keep it on on this game anymore.

@ghost

This comment has been minimized.

Copy link

commented Jun 14, 2018

Adrenaline burst still only looks correct in killer is dead with WCB+blit. Should have some red spikes coming out yet they don't show with high precision z on my gtx 960. Unless this is the wrong test case for this then i have no idea

@kd-11

This comment has been minimized.

Copy link
Contributor Author

commented Jun 14, 2018

WCB is not going away for games that actually use it for brightness control. Thats just how they are designed and explains why some tests will have white output without the option. Technically speaking a permanent form of WCB is always enabled on blit resources which is why some games can get away with that setting set to off.
I'm more interested in scenarios where cpu blit + WCB (mandatory, they have to go together), gives different results vs cpu blit disabled. Also, test what happens with OGL as a different and more correct solution is implemented there.

@incognitoh

This comment has been minimized.

Copy link

commented Jun 14, 2018

Seems to have largely fixed Backbreaker except the crowd in the stadium will not appear. Tried OGL and Vulkan and multiple other settings and it just would not show up. Other than that it looks great now.

@legend800

This comment has been minimized.

Copy link

commented Jun 14, 2018

Backbreaker Vengeance results (shader cache disabled):

Vulkan:
WCB off: some field texture is corrupted (same as master though). I guess another PR broken texturing in the past week or so. You had gfx looking perfect after your half screen fixes a couple weeks ago.
wcb off

WCB on: Worse gfx
wcb on

wcb on 2

wcb on 3

WCB on/Blit on: Improved but still had artifacts.
wcb and blit on

OpenGL:
WCB off: GFX look fine but very slow
WCB on: Some texturing issues on field (not nearly as bad as Vulkan)
WCB on/Blit on: Same as above (so consistency is good and what you’re going for)

@ghost

This comment has been minimized.

Copy link

commented Jun 14, 2018

Thanks @kd-11, that makes sense. Then this game would qualify even if it were just a minor graphical issue. I should probably test opengl, but I think the results will be the same.

edit: It's the same with opengl. Yeah for whatever reason it needs cpu blit + WCB to fill in those protruding triangles with the color red

@Buzing

This comment has been minimized.

Copy link

commented Jun 15, 2018

@kd-11 previous commit works with system. new commit would not update firmware nor start game. still testing .
System Ryzen 7 1700 @4ghz
GPU : rx 580 8gb.

Also thank you. I assume radv is radeon vulkan. I was wondering why 0.5 vulkan degraded from 0.4. Thanks!

additional info: Might be an appveyor compile error in the package since the version code is different from the code of the commit
Working: (check titles) (older commit)
working

Not Working:
not working

might not be your problem if so

@toccata10

This comment has been minimized.

Copy link
Contributor

commented Jun 15, 2018

Virtual Fighter Final Showdown[NPUB30625] on radv goes from 31fps on master to a solid 60fps (I had to turn framelimiter on to be able to use the menus, so it could be higher) with a r9 fury (mesa 18.1).
On master, using radv results in half the speed compared to OpenGl when it comes to 3d games.
Double framerate in one PR: I love those improvements !

@kd-11

This comment has been minimized.

Copy link
Contributor Author

commented Jun 15, 2018

@Buzing there was a regression introduced by scribam libpng integration update. A fix has been made so it should start working again after I rebase this pr.

@kd-11 kd-11 force-pushed the kd-11:rsx_volatile branch from fc581d4 to 5dfb7fa Jun 15, 2018

@kd-11 kd-11 referenced this pull request Jun 16, 2018

Closed

Vulkan always crash #4756

@stevphie

This comment has been minimized.

Copy link

commented Jun 16, 2018

this PR (Vulkan) - Tales of Graces
Crashed after 5-7 seconds ingame consistently.. blocky/pixelated background as shown below, noticeable speedboost during those 5-7 seconds before it crashed.

blocky-tog-vk

blocky-vk-02

@kd-11

This comment has been minimized.

Copy link
Contributor Author

commented Jun 18, 2018

AMD card users can retest now to check if crashing is fixed.

@Buzing

This comment has been minimized.

Copy link

commented Jun 18, 2018

Problem still persists. ill try different configs now
image

@kd-11

This comment has been minimized.

Copy link
Contributor Author

commented Jun 18, 2018

Is it only triggered in this specific battle? I cannot get there with debugging enabled as physics breaks down when fps is too low and you end up flying around with no interaction with objects.

@Buzing

This comment has been minimized.

Copy link

commented Jun 18, 2018

Also triggered post teleport/cutscene/loading in a certain area of the game. i can get to those points easily. can you tell me which ones im supposed to look at. like point of crash or pre point of crash etc.

for example i can load a classroom but once i begin facing the right side of the classroom it crashes

enabling only these two debug options:
image

edit: how to remove cri audio warning :l

ppu detach fail

Savefile load crash: (for me atleast)
NPEB02436-00--015--.zip

@kd-11

This comment has been minimized.

Copy link
Contributor Author

commented Jun 18, 2018

Loads fine for me, nothing meaningful from the debuggers either, just some generic error that was there before. Which is the earliest build with this crash?

@Buzing

This comment has been minimized.

Copy link

commented Jun 18, 2018

@kd-11 (Redacted) was the breaking one. although i havent tried long playthroughs on the previous build

edit: nevermind looks like its even further behind. will retest the ones i have its just a delayed crash before build 6638.

but its fine for now no rush since im enjoying the opengl side for now :) ! thanks

@kd-11

This comment has been minimized.

Copy link
Contributor Author

commented Jun 18, 2018

Isn't 6638 a really ancient build? That would make the error very old. Are you sure about that number?

@Buzing

This comment has been minimized.

Copy link

commented Jun 18, 2018

@kd-11 it goes further back. i havent pinpointed yet but heres my logs

6457 - works
6722 - crash
6572 -works
6692 - crash
6631 - works--actually crash
6675 - crash?? weirdly slow crash. Noted chance: Possible crashed on shader loading @ start possibly due to incompatible shader. Resetting shader worked.
6656 - crash
6638 crash.

@kd-11

This comment has been minimized.

Copy link
Contributor Author

commented Jun 18, 2018

Where are you getting the builds from? My repo or rpcs3 repo? The numbers don't really mean anything in terms of versioning unless the repo is the same.

@Buzing

This comment has been minimized.

Copy link

commented Jun 18, 2018

Everything is rpcs3 0.0.5 main release unless stated as 0.0.4 I'll update this post once I determine the exact build that killed me off. ETA 2 hours

Rpcs3 builds under maintenance. Will report back soon

kd-11 added some commits Jun 9, 2018

vk: Add synchronous compute pipelines
- Compute is now used to assist in some parts of blit operations, since there are no format conversions with vulkan like OGL does
- TODO: Integrate this into all types of GPU memory conversion operations instead of downloading to CPU then converting

kd-11 added some commits Jun 14, 2018

vk: Performance fix for RADV
- RADV does not keep a mapping ptr around for subsequent remap and falls back to heavy amdgpu methods every time
  Explicitly manage pointer in the ring buffer structure to fix this
vk: Implement safe typeless transfer
 - Used to transfer D32S8 data where it makes sense to use this variant
 - On nvidia cards, it is very slow to move aspects from D24S8 probably due to the format being faked.
   For this reason, the unsafe variant is used for both D16 and D24S8 to avoid the heavy performance loss

@kd-11 kd-11 force-pushed the kd-11:rsx_volatile branch from fec088f to dc0cfff Jun 18, 2018

@kd-11 kd-11 changed the title [WIP] rsx: stuff rsx: stuff Jun 18, 2018

@kd-11

This comment has been minimized.

Copy link
Contributor Author

commented Jun 18, 2018

As the problem was not introduced by this PR, open a separate issue for it with links to the builds/commits so I can look into it. This PR got contaminated with too many issues that are actually not introduced with this set.

@kd-11 kd-11 merged commit c60f7b8 into RPCS3:master Jun 18, 2018

2 checks passed

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

This comment has been minimized.

Copy link
Contributor

commented Jun 18, 2018

I was not sure whether this is an issue with my system, so I hadn't posted about it before: Since updating to Windows 10 1803 I had a performance drop with Vulkan. It generally showed lower FPS than OpenGL and was feeling very slow. Commit d63500c brings the old performance level back (e.g. Deus Ex Human Revolution now stays at a solid 30 fps on the menu again, while before it would vary between 17 and 25.)

Radeon R9 380, driver version 18.6.1.

Just mentioning this to note that the change also affects the Windows driver.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.