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: Texturing improvements #5675
Conversation
Fixes these graphical issues in the following games: Improvements discovered by users:
|
Does this increase/decrease performance in any way or just increase accuracy??? |
Motorstorm crashes when using Vulkan while trying to select a vehicle to use. Resistance 3 PR fixes black screen when having low hp and using Vulkan. OpenGL is working correctly with commit c13221d: |
can't go ingame in both ninja gaiden sigma 1 and 2 F {RSX [0x0388c98]} RSX: class std::runtime_error thrown: Verification failed (e=0x7f): master build rpcs3-v0.0.0.6-7792-8b475303_win64 doesn't has the issue. edit: lastest fbo, rpcs3-v0.0.6-3262dd76_win64, build still has the issue. |
Broken data cast should be fixed, although I wouldn't be surprised if there are now new bugs introduced. |
MGS2 in MGS HD Collection didn't improved as I hoped. No previously missing effects are showing. I was putting some hope on this PR. Let's see in the future... Macross 30 segfaults after the intro movie is played. Follows the logs, I hope it helps... |
SRTT and SRIV no longer have broken garbage overlay: Rayman Legends has correct colors: @zombie167 I confirm that fixes black textures in Resident Evil 6. |
Motorstorm goes ingame with vulkan again but now it has a new issue where it can randomly look like the pictures I posted below. |
@MarioSonic2987 You mean its now darker again? I'm interested in seeing the log for that since it should contain a bad data cast ("Format incompatibility detected...") which is likely the cause of the problem. |
Yes. Spams in log with:
|
The spam RSX error "Couldn't gather all slices [blah blah]" is gone, the performance is improvement GT5 when goes up 17-27fps to 20-41fps (untested GT6, once Elad PR gets merged later) Day But, NFS Rivals throws error |
I don't know if this is supposed touch #5526 but it doesn't change anything for it. |
@MarioSonic2987 GTA-V should be fixed now. |
Need new log file. |
Conan [BLUS30069] - just a white screen (WCB required to get ingame image similar to legend800 screenshot |
@MarioSonic2987 Looks like there is another format conversion that needs changing, but I'm thinking it needs a separate PR since the hacky fix for it will likely break other games. |
Motorstorm seems to be affected by some dynamic buffer scaling issues (NP2 textures?)
Manifests itself in the log when using video resolution upscaling (in my case set to 300%). |
Cars 2 [BLUS30725] Master : PR: Cars 3: Driven to Win [NPUB31858] Master : PR: broken games Rio™ [BLUS30614] Master : PR: Ben 10™ Galactic Racing [BLUS30822] Master : PR: OPENGL F {RSX [0x0000000]} RSX: class std::runtime_error thrown: Verification failed (e=0x7f): Vulkan F {RSX [0x01902b4]} RSX: class std::runtime_error thrown: Assertion Failed! Vulkan API call failed with unrecoverable error: Device lost (Driver crashed with unspecified error or stopped responding and recovered) (VK_ERROR_DEVICE_LOST) |
- When a single row is required or is all that is available, pitch has no meaning as the coordinate space changed to 1D
- Seems to occupy bits [8-9]
…erated blit engine - Properly collapse memory tree when scanning in case of overlaps!
- Avoids blindly reusing blit dst sections as they may contain garbage. If a section was unlocked for a flush, just discard it as its reuse introduces potential data corruption. Since the data needs to be reuploaded anyway (for now), its better to start afresh - In case of format mismatch, reset the calculated dst block - Add a bounds check to determine if data contained in an atlas is good enough for sampling the cache. If not enough data is provided, fall back to full upload
- Build-up to variable-sized framebuffers and AA implementation - Also allows accurate range calculation for our hit testing
After looking at some pseudo-regressions like genji, it has become obvious that they cannot be fixed in this PR as they require features that are yet to be implemented (e.g blit engine rotations). The old way worked because it was so broken that the wrong data was getting to the GPU. Rolling back the commits and enforcing strict memory management rules shows the same issues on master. Most of the noted regressions simply disappear when using WCB+CPU blit for this reason. |
OpenGL Ratchet and Clank Future: A Crack In Time looks to have regressed when aiming, it can still look correct occasionally depending on where your looking. |
Regression tracker at #5708 |
regression: GOW3 image trembling without FCB |
Stop commenting here, comment at #5708 instead. The GOW3 issue has already been raised there. |
Improves texture search logic by attempting to 'merge' the surface store data and the texture cache data whenever overlaps are encountered. A full data collapse would be infeasible due to performance concerns, but since the two sources are optionally data locked, this should almost always resolve correctly especially when WCB is enabled.
This PR is still very WIP and has been made available for testing. Please look out for significant graphical or performance regressions. Optimizations are still ongoing.
Glitched: