-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Silent hill zero part of the body disappear #8497
Comments
So then, this is probably depth related. What happens if you put a -[Unknown] |
Okay, so then that probably means something else should be happening to depth, and isn't. Since the w/h match, and z addr / stride match, my guess is that it's one of:
For the last one, it's easy - find this: if (!prevVfb->fbo || !vfb->fbo || !useBufferedRendering_ || !prevVfb->depthUpdated || isClearingDepth) { And change to: if (!prevVfb->fbo || !vfb->fbo || !useBufferedRendering_) { If that helps, then we're missing some depth update flags. For the first one, it's also easy, if you pause to menu and resume, the FBO creation - if it shows any FBOs that also use the depth address as being destroyed, then that is likely. And for the second one, a breakpoint on the depth address (possibly also its mirrors) would do the trick. So if the z_address is 0x00088000, a memory breakpoint on: 0x04088000, 0x04288000, 0x04488000, and 0x04688000 each of size 0x00044000. If it's clearing depth in a simple way, that's probably detectable and uploadable. -[Unknown] |
That change also works.
|
only break at 0x04170000 |
Hmm, maybe it's because we're not copying the depth when it isn't rendered, but it's switching between three different buffers? But also, So all three of these are using 0x04000000 as the depth buffer, and there's ALSO a render target there. So many different sizes, though... -[Unknown] |
demo and the savestate |
Hmm. At least some of this is using a == depth test. Anyway, There's also, it's switching depth buffers. The biggest issue is that it draws to framebuffer A, fills depth, and then draws to framebuffer B... and then draws to framebuffer C, expecting the depth to be there from A. But A and B have different depth buffers, so we don't copy. This game does some crazy stuff also. -[Unknown] |
This is also a regression after v1.1.1 |
Was this game ever really working well, though? I think the issue in this game is that some, but not all, of the depth copies are happening. Before, possibly none were. -[Unknown] |
Does this still reproduce? |
nope |
Okay, so closing this based on that - but feel free to reopen/comment if I've misunderstood. -[Unknown] |
Flashlight works normally on Direct3D9, it's a bit slower for me but works. |
If you turn off the flashlight, open/close the map and turn on again the flashlight, the issues disappear.. When indeed you leave the flashlight on and open/close the map the issues reappear.. |
Also on that part the fps is drastically drop |
You are right 👍 |
@Gamemulatorer Yes but Unfortunately that #14042 quoted:
This will not work on mobile but it only works on desktop. |
I cannot find a temporary workaround for this game |
Use the latest build from https://buildbot.orphis.net/ppsspp/index.php?m=fulllist |
See #6265. Since this was fixed around the same time, I'm going to close it. It seems clear they were both involving depth texturing of some kind and it was the same underlying issue. If you're reading this and still experiencing the issue, it probably has to do with your GPU driver capabilities or may be a new bug. Please take a look at #6265 before creating a new issue or commenting. -[Unknown] |
Since #8467
The text was updated successfully, but these errors were encountered: