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: Reimplement depth data handling to support depth_float data outside [0,1] range #8741
Conversation
If testing, only test with Vulkan until the first pending item is done. Keep an eye out for performance losses as well as any vulkan device lost crashes that may appear. Testing at different internal resolutions is encouraged. |
Just to be clear, Nvidia users must test using OpenGL (when it is ready), and AMD users must test using Vulkan? or not? |
No, all users should test Vulkan for now. OpenGL support is incomplete right now. |
007 Reloaded in default resolution fixed! (this PR) |
call of duty black ops 3 suffering from severe slowdowns (Master is OK) |
007 Legends solved (default resolution and 4K) (this PR) |
Not regression. Star Wars: The Force Unleashed II - Vulkan - same broken gfx and errors on master
Feel free to ignore it if not enought relevant or too difficult. |
Not fixes #6855 for both Heavy Rain and MGS4, unfortunately |
GT5 also regressed with this PR |
These all look like Z precision problems due to simulated clipping. Easily fixable with vulkan clip control, but I need to support the fallback because not all drivers are guaranteed to support it. If it proves impossible we can just disable control unless Z clip extension is present. |
Broken visuals in most games are caused by the fact that the near plane can be equal to the far plane causing a division by 0. Turns out fixing that bug then exposes several unexpected issue that break even more games requiring a redesign of sorts. |
I can confirm this pr fixes the flickering in Goldeneye Reloaded. However it introduces another issue. The screen becomes white, mostly when looking at the sky in the outdoor maps for splitscreen. In addition, Call of Duty Black Ops cannot reach the main menu with this pr, but it can on master. In Call of Duty Modern Warfare 2 your hand and gun is not rendered with this pr, but it shows fine on master |
This comment has been minimized.
This comment has been minimized.
Fixed a ton of problems from the depth-clip emulation. Retest broken games. |
Modern Warfare 2 is now fixed. Black Ops still wont load. |
Prince of Persia 2008 is now fixed. I don't see any depth related issues. |
Black ops still boots for me on master, but I cant get the start menu to come up with this pr on windows 10 or ubuntu 20.04 |
I can confirm what gamrXerus said COD BO still broken (probably COD BO3 too), more details: Slowdown on intro videos (not in master) Master This PR |
This comment has been minimized.
This comment has been minimized.
Thanks, looks like there is incorrect detection between float and int depth buffer types. I'll look into it. |
This PR repaired sounds in InFamous 2 |
Problem with launching InFamous 1 |
A huge rewrite is required to proceed with the PR without breaking drivers, I'll try and split some of it into smaller PRs and submit those first instead of wrestling a super-PR. |
Base rewrite PR #8769 |
- Software clipping emulation is used here as OpenGL does not have explicit clip control. - Hardware clip control for vulkan to be enabled after this.
- Fix special case where n=f making (f-n) = 0 - Dynamically update depth range by setting dirty bits - Fix depth bounds when n=f and bounds test is disabled
Rebased on vulkan bringup work. There should be no more regressions on Vulkan backend, only improvements. If not, please make a detailed report so I can look into it. |
Black ops 1 some rendering improvements on models/hands looks to be going definitely in the right direction still some flickering though and broken in 4k green rendering issue. |
Any news about that? #8360 is basically fixed on vulkan with this as it is. |
Blocked by #8714 which I am working on at the moment. That is the part 2 of 3 and is the main remaining task. With this PR (and master as well) OpenGL is unusable. |
OpenGL part is done, so now only bug checking for this remains to ensure nothing has broken. |
The remaining GL bugs are mostly fixed in #8852 |
This is a large PR and still incomplete but it does many different things that cannot be supported individually without causing issues.
Changes include:
Remaining:
Fixes #8360
Probably fixes #6855