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

Hellboy - The Science of Evil #16574

Open
5 tasks done
SilentMRG opened this issue Dec 14, 2022 · 8 comments
Open
5 tasks done

Hellboy - The Science of Evil #16574

SilentMRG opened this issue Dec 14, 2022 · 8 comments
Labels
Depth / Z Issue involves depth drawing parameters. GE emulation Backend-independent GPU issues

Comments

@SilentMRG
Copy link

SilentMRG commented Dec 14, 2022

Game or games this happens in

ULUS10301

What area of the game

The error occurs in several parts of the stages, however, always when the character enters constructions.

What happens

Hellboy

What should happen

The character was supposed to appear without this texture on the front. With this texture in front, it is very difficult to exit constructions. Detail, it is important to enter the constructions (houses, tombs and etc...) to progress in the stages.

GE frame capture

Hellboy.zip

Platform

Windows

Mobile phone model or graphics card

Intel HD Graphics

PPSSPP version affected

1.13.2

Last working version

This error has been around for years and I don't remember a version without this error.

Graphics backend (3D API)

Direct3D 9

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.
@unknownbrackets
Copy link
Collaborator

Does this only happen in Direct3D 9 or all backends? Could you try exporting a GE frame dump? These help a lot. Just make sure to export it when you see the issue - it's almost like a screenshot. If you make it while the issue isn't happening, it won't help.

See here for instructions - it's not hard and works on Android too:
https://github.com/hrydgard/ppsspp/wiki/How-to-create-a-frame-dump

You can zip that and then drag and drop it into a reply here.

-[Unknown]

@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Dec 14, 2022
@SilentMRG
Copy link
Author

Does this only happen in Direct3D 9 or all backends? Could you try exporting a GE frame dump? These help a lot. Just make sure to export it when you see the issue - it's almost like a screenshot. If you make it while the issue isn't happening, it won't help.

See here for instructions - it's not hard and works on Android too: https://github.com/hrydgard/ppsspp/wiki/How-to-create-a-frame-dump

You can zip that and then drag and drop it into a reply here.

-[Unknown]

Hello...

I tested it with the OpenGL backend and the same error appeared. Unfortunately I'm stuck on a Laptop that doesn't support DirectX 11 or Vulkan, I don't have a decent Smartphone to test either.

I've included the file you asked for in the main post. I made two recordings, one in which the circle button appears and another in which the circle button does not appear (I don't know if you will be able to visualize this), I did this so that you can see that the building is part of the game's progress, and I had to perform the puzzle like a ninja, without using my sense of sight.

I hope I've helped!

@ghost
Copy link

ghost commented Dec 15, 2022

I cannot reproduce this issue using the dump provided above tested both opengl and vulkan (vivo y11)

@SilentMRG
Copy link
Author

SilentMRG commented Dec 15, 2022

I cannot reproduce this issue using the dump provided above tested both opengl and vulkan (vivo y11)

Have you tested it on Windows? Apparently the error occurs on it.

Watch this video: https://www.youtube.com/watch?v=59IB8F-KRZE

And jump to the minutes: 16:20 and 1:28:08 (just for example)

Now watch and see that this video was published 4 years ago! I don't know if the guy who recorded the video played on a real PSP or if he used PPSSPP (I don't know of settings either) and what device or operating system he was playing on. Probably he was playing on Windows?

Either way, the error is real and someone else has reproduced it. Perhaps on mobile devices the error does not occur.

@ppmeis
Copy link
Contributor

ppmeis commented Dec 17, 2022

I can reproduce this issue in Windows using latest build and Direct3D9 backend:

image

Other backends works just fine.

@hrydgard
Copy link
Owner

So I guess this is likely one of the depth clipping issues then, most of which we (or mostly @unknownbrackets ) have been able to solve recently by using some more modern features like clip planes etc that we don't have access to in D3D9.

Does it work if you turn off "Hardware transform"?

@hrydgard hrydgard added the Depth / Z Issue involves depth drawing parameters. label Dec 18, 2022
@SilentMRG
Copy link
Author

So I guess this is likely one of the depth clipping issues then, most of which we (or mostly @unknownbrackets ) have been able to solve recently by using some more modern features like clip planes etc that we don't have access to in D3D9.

Does it work if you turn off "Hardware transform"?

I'm going to try to run it in OpenGL with "Hardware transform" turned off. Because I didn't test it in version 1.14.

unknownbrackets added a commit to unknownbrackets/ppsspp that referenced this issue Dec 18, 2022
This fixes negative Z issues on D3D9 in many cases, such as hrydgard#14168
and hrydgard#16574, but only when clip planes are supported.
@unknownbrackets
Copy link
Collaborator

Right. This is how it looks on a PSP:
#16574_ULUS10301_hboy_depth

It's caused by 194/287 in D3D9, if I skip that we see:
image

And with 194, it looks like this:
image

So it's just that we're seeing the wall that's supposed to be behind the camera. Depth is not inverted by viewport, so near is actually lower values in this case - so this is the negative Z clipping. #16615 fixes this, at least with that frame dump on hardware capable of user-space clipping planes.

-[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. GE emulation Backend-independent GPU issues
Projects
None yet
Development

No branches or pull requests

4 participants