Skip to content
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

Kidou Keisatsu Patlabor - Kamubakku MiniPato another screen problem #17061

Open
5 tasks done
sum2012 opened this issue Mar 6, 2023 · 8 comments
Open
5 tasks done

Kidou Keisatsu Patlabor - Kamubakku MiniPato another screen problem #17061

sum2012 opened this issue Mar 6, 2023 · 8 comments
Labels
Depth / Z Issue involves depth drawing parameters. GE emulation Backend-independent GPU issues Guardband / Range Culling Involves vertices outside fustrum. TODO after release Things to do after the next release
Milestone

Comments

@sum2012
Copy link
Collaborator

sum2012 commented Mar 6, 2023

Game or games this happens in

ULJS00026

What area of the game

Game issue history: #16992
In-game

What happens

1

What should happen

This is softgpu
2

GE frame capture

ULJS00026-BAD2.zip

Platform

Windows

Mobile phone model or graphics card

Nvidia Geforce 710

PPSSPP version affected

v1.14.4-736-gebd8a6391

Last working version

#16992 (comment)

Graphics backend (3D API)

Vulkan

Checklist

  • Test in the latest git build in case it's already fixed.
  • Search for other reports of the same issue.
  • Try resetting settings or older versions and include if the issue is related.
  • Try changing graphics settings to determine if one causes the glitch (especially speed hacks or enhancements/replacements.)
  • Include logs or screenshots of issue.
@sum2012 sum2012 added the GE emulation Backend-independent GPU issues label Mar 6, 2023
@hrydgard hrydgard added this to the v1.16.0 milestone Mar 6, 2023
@hrydgard
Copy link
Owner

hrydgard commented Jul 6, 2023

This still happens. Checked the dump with renderdoc and the vertex data of the "missing" draw call is full of NaNs after the vertex shader. The other draws look normal.

This is very odd because the position data is the same, and the matrices are also the same, except a small tweak to pos. The only other change in the UBOs is small tweaks to u_depthRange and u_cullRangeMin/Max. Really struggling to see what could cause NaNs here... Well, I suppose we might be triggering the range culling. Does seem to be the case.

Same thing happens in OpenGL and D3D11. D3D9 fails entirely but meh.

@hrydgard hrydgard added the Guardband / Range Culling Involves vertices outside fustrum. label Aug 20, 2023
@hrydgard hrydgard modified the milestones: v1.16.0, v1.17.0 Aug 22, 2023
@sum2012
Copy link
Collaborator Author

sum2012 commented Nov 25, 2023

v1.16.6-333-gecab50346 still happens

@hrydgard
Copy link
Owner

hrydgard commented Dec 11, 2023

Tiny adjustments to the range Z culling range makes the GE dump work, so I think this is a precision issue where our culling limits are just a smidge too tight. This single change is enough (on Vulkan): maxValues[2] = z.second + 1.0f/65536.0f; in ShaderUniforms.cpp.

@hrydgard hrydgard added the Depth / Z Issue involves depth drawing parameters. label Dec 11, 2023
hrydgard added a commit that referenced this issue Dec 18, 2023
Range culling (which we'll just call culling in the setting
name) still is problematic enough that it can be useful to have this
way to turn it off as an escape route. Since disabling it can break some
games like famously TOCA, it needs to be under speedhacks, though likely
the performance change is minimal.

See for example #17061
@hrydgard
Copy link
Owner

This can now be worked around with the new setting. Pushing forward to the next version, since any change to the culling will need a lot of testing.

@hrydgard hrydgard modified the milestones: v1.17.0, v1.18.0 Dec 19, 2023
@sum2012
Copy link
Collaborator Author

sum2012 commented Dec 24, 2023

Do I need open another issue for Nvidia gpu ? ( No color for police)
EDIT: Only error in D3D11 and Vulkan
1
Test on AMD cpu 7900 of internal gpu no problem

@sum2012
Copy link
Collaborator Author

sum2012 commented Dec 24, 2023

What mean "Disable culling" ?
I want try to translate

@hrydgard
Copy link
Owner

I guess "Triangle removal outside of bounds" or something would be more accurate, but actually explaining the setting doesn't fit in a line...

The PSP will remove triangles that have corners that are either outside an X/Y range of 0..4096x0..4096 (offset by the offset register), or outside a Z range of 0 to 1. Some games rely on this. We still have some very small inaccuracies in both mechanisms, so we now have a setting to turn this behavior off.

If you have a better idea for a name for the setting let me know! :)

@hrydgard
Copy link
Owner

hrydgard commented Sep 9, 2024

I'll do this minor adjustment right after the 1.18 release.

@hrydgard hrydgard modified the milestones: v1.18.0, v1.19.0 Sep 9, 2024
@hrydgard hrydgard added the TODO after release Things to do after the next release label Sep 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Depth / Z Issue involves depth drawing parameters. GE emulation Backend-independent GPU issues Guardband / Range Culling Involves vertices outside fustrum. TODO after release Things to do after the next release
Projects
None yet
Development

No branches or pull requests

2 participants