-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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: tiny zcull optimizations #5117
Conversation
Infamous still needs to have "Disable ZCull Occlusion Queries" enabled for those to not overflow. So nothing here. |
None of my zcull needing games react on this PR |
Burnout: Paradise has too agressive culling, which results in models popping in or appearing gray. Hard to show on picture, so here's a video: https://streamable.com/sr66x Master and PS3 do not have any noticeable pop-in. Edit: I'm getting same issues on Skate 3 as well, although not as extreme. I'm using RX 480, so perhaps this is an AMD-specific issue? |
Thank you @MSuih, I have also confirmed your findings. That helped figure out why there were performance gains; it was because zcull testing was illegally disabled.
EDIT: It is common for a game to enable and disable occlusion reports several times while rendering to the same framebuffer, even when it is bound to ZCULL ram. In fact, the framebuffer_swap path is very rarely taken in the context of a frame; usually about a dozen times at most for the highest end AAA games. Some rare cases can go above that but not by much since changing ROP target is quite expensive on GPU hardware (it messes with their memory controller caches) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This breaks Zcull testing for reasons explained in comment.
Changes related to the Burnout regression reverted |
Should boost the performance on heavy zcull games.