ppsspp icon indicating copy to clipboard operation
ppsspp copied to clipboard

(Android) (OGL/VK) Tekken 6 Bonus Stage Nancy laser beam is invisible

Open Gamemulatorer opened this issue 3 years ago • 1 comments

Game or games this happens in

ULES01376

What area of the game

ppsspp v1.13.1 Nancy laser beam is invisible. Screenshot_2022-07-30-09-02-59-333_org ppsspp ppsspp

ppsspp v1.12.3 Nancy laser beam is visible Screenshot_2022-07-30-09-03-23-299_org ppsspp ppssppgold

What happens

Nancy laser beam is invisible.

What should happen

Nancy laser beam should be visible.

GE frame capture

ULES01376.ppdmp.zip

Platform

Android

Mobile phone model or graphics card

Redmi Note 9 Android 12 Helio G85 Mali-G52 GPU

PPSSPP version affected

v1.13.1

Last working version

v1.12.3

Graphics backend (3D API)

Vulkan/OpenGL

Checklist

  • [X] Test in the latest git build in case it's already fixed.
  • [X] Search for other reports of the same issue.
  • [X] Try resetting settings or older versions and include if the issue is related.
  • [X] Try changing graphics settings to determine if one causes the glitch (especially speed hacks or enhancements/replacements.)
  • [X] Include logs or screenshots of issue.

Gamemulatorer avatar Jul 30 '22 11:07 Gamemulatorer

Thanks for the report! Likely related to the new line drawing method.

hrydgard avatar Jul 30 '22 12:07 hrydgard

rRootage seems impacted according to Panderner on Discord:

image

hrydgard avatar Aug 23 '22 16:08 hrydgard

Here: RROO00643.zip

Panderner avatar Aug 24 '22 04:08 Panderner

Tekken 6 is crashing on the latest build if set to skip buffers rendering!

ghost avatar Sep 10 '22 09:09 ghost

Yeah, I'm not testing much with it off, I highly recommend to turn on buffered rendering. But I'll fix it of course.

hrydgard avatar Sep 10 '22 10:09 hrydgard

Tekken 6 is crashing on the latest build if set to skip buffers rendering!

Juice 2 is also crashing using skip buffers rendering and some other games I tried.

ghost avatar Sep 11 '22 11:09 ghost

Yeah, I'll get around to fixing that soon.

hrydgard avatar Sep 11 '22 11:09 hrydgard

So the issue here is that the line is actually drawn, it's just so ridiculously thin that it doesn't cover more than a pixel or two, so something is wrong with the line expansion math. The GE dump reproduces the error perfectly.

The following change makes it look good, which is of course a ridiculous change to make:

			Vec2f addWidth = Vec2f(-vertical, horizontal).Normalized() * 10000.0f;

image

hrydgard avatar Sep 20 '22 20:09 hrydgard

The beam looks like this on a PSP: #15756_ULES01376_tekken_beam_line

The software renderer (with #16066) gets close, just slightly off: #15756_ULES01376_tekken_beam_line_softgpu

The line drawn at 5780/5813 uses addWidth: 0.985653,0.168787 dx/dy: 0.004167,0.007353, or 0.00410721605 width for the rectangle. That's slightly less than 1 pixel. In renderdoc, it's the last indexed draw in the first render pass.

But in the render doc the positions are not different, however. There's only two unique xyzw values going in or out of the vertex shader. Which now makes sense, because of course, w. That's why it's not adding anything after transform. D'oh.

-[Unknown]

unknownbrackets avatar Sep 20 '22 22:09 unknownbrackets

Tekken 6 is crashing on the latest build if set to skip buffers rendering!

I can exibit this issue again in the recent build.

ghost avatar Oct 03 '22 11:10 ghost

crash on skip buffers? I'll get that fixed soon.

hrydgard avatar Oct 03 '22 12:10 hrydgard

crash on skip buffers? I'll get that fixed soon.

Yes.

ghost avatar Oct 03 '22 12:10 ghost