-
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
Hokuto no Ken Raoh Gaiden Ten no Haoh black screen #7932
Comments
Also broke Wipeout menus, probably related. I will look into it... |
With 08b340f ,still black screen,but the loading screen displayed. |
Does anything change if you modify this in GLES_GPU.cpp: if ((!gl_extensions.IsGLES || gl_extensions.GLES3) && PSP_CoreParameter().compat.flags().PixelDepthRounding) {
features |= GPU_ROUND_FRAGMENT_DEPTH_TO_16BIT; To just: if ((!gl_extensions.IsGLES || gl_extensions.GLES3)) {
features |= GPU_ROUND_FRAGMENT_DEPTH_TO_16BIT; Or add it to the ini to see, either way. Just wondering if depth values change things. -[Unknown] |
Nothing change |
It's interesting that the Z is If you go back to a working build, does the Z column in the vertices list show a different value? -[Unknown] |
This is the working build, Z is the same. https://gist.github.com/daniel229/37da3fa223bfe87bb7b8 |
If you revert just the StateMappingDX9 part of 488c62e, does it work again? -[Unknown] |
No,it need to revert 7b0a31a |
Oh okay, but if you remove that offset entirely, it draws fine? In OpenGL, when it's about to draw the things that are missing in Direct3D9, can you flip OFF the "depth write disable"? I want it to write the depth value. After it's drawn, you can switch to the "Depth" tab, and hover over the areas it drew - I'm just wondering what the value comes out to. -[Unknown] |
No,it it need to revert all things before 7b0a31a |
Yes, I think, but make sure "Depth write disable" shows 0 before the draw (double click it.) And after the draw, move the mouse over the part that WAS red, it should replace the "Depth: 0x00088000 (1920x1080)" text with the depth value under your mouse cursor. -[Unknown] |
In software mode menus show prefect, and Z = 1, |
Hmm. Has this improved at all in the latest git build? We've made some depth changes. -[Unknown] |
No,still the same. |
Does this change make it render? -[Unknown] |
No. |
This has clipping enabled, which I've recently discovered does some weird things with depth. Does #8461 help? -[Unknown] |
No,it doesn't. |
I tried to find lowest value it works for the hack I described here and z /= 1.000031 was enough. Don't think there's anything special with this value, through it seems weird that cutting depth by just soo little makes a difference. |
Actually, I think I know why this is happening but it's annoying / tricky to fix. But I'm not sure why it shows -1.5 - it could be I'm wrong. When rendering, there are two options for depth:
We do NEITHER of these accurately. Instead, we clip anything outside of [0.0, 65535.0]. Clamping isn't something modern devices like - in general they don't want Z to change after the vertex shader, because if it doesn't change, they can perform early Z tests. I could be wrong, but my guess is that the PSP (when clipping) is performing early Z tests, but they're inaccurate, and then it falls back to clamping, which it probably always does. It then also has a per-fragment Z test, which allows discarding outside a configurable range as well (which seems mostly accurate.) Anyway, this game has clipping enabled. And it stopped working when we stopped incorrectly applying a -0.5/65536 offset to the Z. I think Z is falling just outside [0, 65535.0], although again I'm not sure why it shows as -1.5 in the debugger. -[Unknown] |
Does this work properly in Vulkan or Direct3D 11? It probably won't work in OpenGL or Direct3D 9 as we don't clamp depth there. It may not work on all Vulkan devices. -[Unknown] |
This issue happen in android(OpenGL) yet. I got the dump file.(OpenGL) v1.9.3-561 |
Using the dump above. HW renderingSW rendering |
I used save state for in-game, in OpenGL 3D Models does display but not the 2d textures. Here's a GE dump: |
This issue can also reproduce on Vulkan. |
This game hang on SW Rendering during the fight. Hokuto_No_Ken_Raoh_Gaiden.ppdmp.zip Debug
|
Yeah, I found a hang bug in the software renderer recently, will push a fix - hopefully it's the cause. -[Unknown] |
See #12058 - this requires depth clamp. This is actually a really good example of the behavior I describe in #12058 (comment), since all the points of the graphics it draws here have -1.5f depth, but that's post-viewport. -[Unknown] |
IDK but it just blackscreen on my phone using vulkan I file a report #14796 |
At least it was fixed by #14042 only for desktop systems. |
I still got blackscreen on this game both opengl and vulkan. Im using the latest git build ppsspp.apk |
Umm yes this game requires depth clamp to display 2d graphics properly. Unfortunately mobile OpenGL and Mali Vulkan does not support depth clamp. |
Helps situations like hrydgard#11216, where only one side should be clamped. Keeps depth clamp (i.e. hrydgard#7932) working. See hrydgard#11399.
Accidentally fixed for D3D9 in #7920 ,Broken by the last commit 488c62e
GEdebugger
more tabs
https://gist.github.com/daniel229/90091277dabb78e0b1bc
The text was updated successfully, but these errors were encountered: