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

ULES00126 Virtua Tennis: World Tour - Start Menu not showing properly in some backends #11578

Open
ppmeis opened this issue Nov 23, 2018 · 10 comments
Labels
Depth / Z Issue involves depth drawing parameters.
Milestone

Comments

@ppmeis
Copy link
Contributor

ppmeis commented Nov 23, 2018

Platform: Windows 10 x64 October 2018 Update
Hardware: i7 3770K/Nvidia GTX 1080
PPSSPP Build: Latest

Start a normal match, after game is loaded press start. No start menu in Vulkan and Direct3D11.

Tested with latest build. Lightning seems to be fine thanks to latest changes, but now start menu has disappeared in some backends:

Vulkan:
image
ULES00126_0001.zip

OpenGL seems to be fine:
image

Direct3D9:
image

Direct3D11:
image
ULES00126_0002.zip

Originally posted by @ppmeis in #4140 (comment)

@hrydgard
Copy link
Owner

hrydgard commented Nov 23, 2018

Is it really new that the pause menu disappears? If so, could you try to find the build where it happens?

@ppmeis
Copy link
Contributor Author

ppmeis commented Nov 23, 2018

Tested previous builds, this bug is present since v1.5.4:

@hrydgard hrydgard added this to the v1.9.0 milestone Nov 23, 2018
@hrydgard
Copy link
Owner

It sounded like it was new when you said "but now start menu has disappeared in some backends:".

Very low-impact, pushing back to 1.9.

@unknownbrackets
Copy link
Collaborator

Copying this here from #4140:

Near texture 0x08973d00 + several draws to VAIDISOVA. I think that's a separate issue related to depth.

It draws verts with a crazy high Z, depth clamp, and standard minz/maxz. It uses src >= depth test. This passes and it draws the BG and clamped depth. Lighting is disabled. Alpha test and blend, but 8c alpha sent.

Not clear what should be keeping it from drawing... it doesn't draw on a PSP running the same dump...

The range implies allowing depth clamp was the cause, but I'm just not sure why it SHOULDN'T clamp in this case:
v1.5.4-189-gc1a23658d...v1.5.4-197-gea50561c8

-[Unknown]

@unknownbrackets unknownbrackets added the Depth / Z Issue involves depth drawing parameters. label Nov 23, 2018
@ppmeis
Copy link
Contributor Author

ppmeis commented Dec 16, 2018

Tested with latest build, same issues. Also I saw a new render error after a point:

It should show both players
image
ULES00126_0001.zip

@hrydgard hrydgard modified the milestones: v1.9.0, v1.10.0 Aug 8, 2019
@meowthed
Copy link

Issue still present as of 1.9.3 on Vulkan backend
vtvulkan

@ppmeis
Copy link
Contributor Author

ppmeis commented Feb 8, 2020

Tested in latest Windows build. Same issues.

@hrydgard
Copy link
Owner

I think that dark overlay with a way-out-of-range depth value is a remnant from the Dreamcast version, and nobody simply noticed that it wasn't rendering on the PSP. The Dreamcast notoriously had full FP32 depth and depth sorting! (early PowerVR took the tricks you can do with tile-based rendering very far).

That said, why we are clamping and the PSP is not is unclear. This only "works" right now in D3D9 and GLES because we don't do depth clamping.

@hrydgard
Copy link
Owner

Anyway, this has such small impact that I'm postponing the investigation to after 1.10.

@hrydgard hrydgard modified the milestones: v1.10.0, v1.11.0 Jun 13, 2020
@hrydgard hrydgard modified the milestones: v1.11.0, v1.12.0 Dec 1, 2020
@hrydgard hrydgard modified the milestones: v1.12.0, v1.13.0 Jul 17, 2021
@unknownbrackets
Copy link
Collaborator

It should show both players

This is caused by draw 481. As far as I can tell, it's caused by some verts with depth very negative not being clamped, as per notes in #12058. It works in softgpu with those rules implemented.

v1.5.4-197-gea50561c8 fail

This is 621/639. In this case, it's definitely negative Z, the initial Z is positive, but the projection matrix reverses it (just to be reversed again by the viewport.) This draw should just be clipped. I wonder if they initially intended to gray the screen, but it didn't work and they just left it rather than debug since it looked fine not grayed.

Both seem like they'll be fixed by implementing the Z rules noted in #12058.

-[Unknown]

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.
Projects
None yet
Development

No branches or pull requests

4 participants