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

Capcom Classics Collection Reloaded graphical glitches in menu #13357

Open
Panderner opened this issue Aug 29, 2020 · 31 comments
Open

Capcom Classics Collection Reloaded graphical glitches in menu #13357

Panderner opened this issue Aug 29, 2020 · 31 comments
Labels
D3D9 Direct3D 9 Depth / Z Issue involves depth drawing parameters. GE emulation Backend-independent GPU issues
Milestone

Comments

@Panderner
Copy link
Contributor

There's a graphical glitches as seen in menu screen in Capcom Classics Collection Reloaded:
ezgif com-resize

@nassau-tk
Copy link
Contributor

Will this issue happen what kind of backend?
May be, OpenGL is happen and Vulkan is not happen.

@ghost
Copy link

ghost commented Aug 29, 2020

There's a graphical glitches as seen in menu screen in Capcom Classics Collection Reloaded:
ezgif com-resize

ge dump?

@Panderner
Copy link
Contributor Author

There's a graphical glitches as seen in menu screen in Capcom Classics Collection Reloaded:
ezgif com-resize

ge dump?

recording.ppdmp.zip
yes sir @Gamemulatorer

@ghost
Copy link

ghost commented Aug 30, 2020

ge dump?

recording.ppdmp.zip
yes sir @Gamemulatorer

Can't load your ge dump
Screenshot_20200830-082955

@nassau-tk
Copy link
Contributor

@Gamemulatorer

How about by this data?
ULJM05104.zip

@Panderner
Copy link
Contributor Author

@Gamemulatorer

How about by this data?
ULJM05104.zip

I'm using USA version of this game @nassau-tk.

@ghost
Copy link

ghost commented Aug 30, 2020

@Gamemulatorer

How about by this data?
ULJM05104.zip

It's load 🙂
Screenshot_20200830-122012

@hrydgard
Copy link
Owner

hrydgard commented Aug 30, 2020

What hardware are you seeing this glitch on? GE dump looks good on nvidia.

EDIT: Actually looks a bit different:

ULJM01441_00000

@Panderner
Copy link
Contributor Author

I'm using Realme C2 in OpenGL.

@hrydgard
Copy link
Owner

OK so a PowerVR GE8320. I'll try on a Huawei phone with PowerVR I have later.

@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Aug 30, 2020
@hrydgard hrydgard added this to the v1.11.0 milestone Aug 30, 2020
@nassau-tk
Copy link
Contributor

@hrydgard

I'm using SONY Xperia SO-02K & RADEON RX5700XT PC.
The issue happen both device.
When it's helpful, I'm happy.

@Panderner
Copy link
Contributor Author

@hrydgard

I'm using SONY Xperia SO-02K & RADEON RX5700XT PC.
The issue happen both device.
When it's helpful, I'm happy.

@nassau-tk have you tried in all backends?

@ghost
Copy link

ghost commented Aug 30, 2020

Also happen on Mali GPU's

@nassau-tk
Copy link
Contributor

@Panderner
@Gamemulatorer
@hrydgard

Yes, I tried OpneGL & Vulkan both backends on Xperia.
OpenGl happen the issue.
Vulkan don't happen the issue.
And,I tested Capcom Classic Collection (ULJM05104).
May be it's a Japanese model.
But, May be same system I think.
Because, It happen same issue.

I tested Windows10(64-bit) D3D9 & D3D11 too.
D3D9 is not drawing corectly.
D3D11 is drawing corectly.
Dump files here.

ULJM05104_Windows10_64bit_D3D11_OK.zip
ULJM05104_Windows10_64bit_D3D9_NG.zip

@nassau-tk
Copy link
Contributor

nassau-tk commented Sep 18, 2020

@hrydgard

Oh...Yes.

OS: Windows10(64-bit)
CPU: Intel i7-4770K
GPU: NVIDIA GeForce GTX750Ti

OS: Windows10(32-bit)
CPU: Intel Celeron G1610
GPU: Intel HD Graphic(On board Chip)

These spec PC are not happen glitched on the menu screen.

CapcomClassicsCollection_intel_nvidia

Android 9.0 / SD835 / Adreno540 is still happening!!

@nassau-tk
Copy link
Contributor

nassau-tk commented Sep 18, 2020

I'm come back home and retested on my PC.
PPSSPP v1.10.3-709
OS: Windows10(64-bit)
CPU: Ryzen7 3800X
GPU: RADEON RX5700XT

In game like this.
jdsra-qphjk

But, Dump file is not appear glitched.
ULJM05104_0001.zip

@Panderner
Copy link
Contributor Author

@nassau-tk have you tried all other backends on windows?

@nassau-tk
Copy link
Contributor

@Panderner

Yes,I tested on My PC.
"Windows10(64-bit) / Ryzen7 3800X / RADEON RX5700XT"

I wrote above.

I tested Windows10(64-bit) D3D9 & D3D11 too.
D3D9 is not drawing corectly.
D3D11 is drawing corectly.
Dump files here.

CapcomClassicCollection_OpenGL_menu
CapcomClassicCollection_Vulkan_menu
CapcomClassicCollection_D3D9_menu
CapcomClassicCollection_D3D11_menu

@nassau-tk
Copy link
Contributor

This glitch is not reproduce on GE debbuging from dump file.
(I tested on RADEON/GeForce both.)
It can be show only on the playing screen.

@hrydgard hrydgard added the Depth / Z Issue involves depth drawing parameters. label Dec 1, 2020
@hrydgard hrydgard modified the milestones: v1.11.0, Future Dec 1, 2020
@unknownbrackets
Copy link
Collaborator

For me, there's no flicker in the latest git build. It looks fine on all backends except Direct3D 9. It also looks fine on mobile (Adreno.)

Direct3D 9 seems to be having trouble due possibly to the default depth value of buffers. It draws the missing rings using a >= depth test, but the depth is flat at -1 (translated from 0 and expressed 16-bit space.) This should clamp, though, since the clamp flag is on.

The depth buffer should have zero at this point (it's not getting cleared each frame, though.) But D3D9 has the zero that isn't really zero - the bottom of the 1/4 slice. This makes the "clamp simulation" fail since it's a >= test. If the clamp simulation wasn't there, it'd still fail, because -1 isn't within 0 - 65535 anyway.

Since these draws are flat, in theory we could detect they have equal Z and clamp them in the vertices.

-[Unknown]

@unknownbrackets unknownbrackets added the D3D9 Direct3D 9 label Feb 16, 2021
@nassau-tk
Copy link
Contributor

My Galaxy S20 is still happen the blinking glitch on OpenGL.

v1.11.2-75

@unknownbrackets
Copy link
Collaborator

Maybe it's a driver thing and we'll have to round depth values? It is using >= and this requires essentially an == 0, maybe it's just z fighting.

-[Unknown]

@Panderner
Copy link
Contributor Author

Here's a working GE dump for USA version
ULUS10134_0001.ppdmp.zip

@unknownbrackets
Copy link
Collaborator

Does working mean that you see the glitches in when viewing that GE frame dump?

-[Unknown]

@nassau-tk
Copy link
Contributor

nassau-tk commented Feb 16, 2021

@unknownbrackets

Oops, my report is meaning japan ver.

20210216_120245.mp4

@Panderner
Copy link
Contributor Author

My POCO M3 had less flickers in OpenGL but my Realme C2 had lots of flickers.
Screenshot_2021-02-16-14-49-11-65_2f85358b2198d26f8aca533d68bee793

@nassau-tk
Copy link
Contributor

I tested on my Windows PC again. (Ryzen + RADEON)

It still happen the issue on OpenGL.

@samosaphile
Copy link

samosaphile commented Jun 20, 2021

This issue is still happening to me on my 730g snapdragon adreno 618 device. Pixel 4a using vulkan backend. I tried using opengl it seems to draw / render mostly accurately but there's still flickering going on.

@ghost
Copy link

ghost commented Oct 27, 2021

This is also broken/missing on background in mali gpu vulkan but can workaround by DisableAccurateDepth

Vulkan
Screenshot_2021-10-27-13-21-42-082_org ppsspp ppsspp
Vulkan DisableAccurateDepth enable but flickering a lot!
Screenshot_2021-10-27-13-22-35-600_org ppsspp ppsspp
OpenGL slightly flickering
Screenshot_2021-10-27-13-21-23-816_org ppsspp ppsspp
Software the most stable
Screenshot_2021-10-27-13-19-28-493_org ppsspp ppsspp

@unknownbrackets
Copy link
Collaborator

If this sorta works with skewed depth (i.e. disabled accurate depth), I assume it's probably that the depth range for both cases gets clamped to 0, so depth is "kinda" clamped. Flicker is probably due to when that range clamping doesn't cause the values to match.

Presumably this only works properly where depth clamp is supported. We might be able to rewrite a flat Z, though - there'd be no risk of deforming if it was flat. Anyway, there are more ideas in #11399, iirc.

-[Unknown]

@nassau-tk
Copy link
Contributor

Yes, My Galaxy S20 has a flickering on OpenGL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
D3D9 Direct3D 9 Depth / Z Issue involves depth drawing parameters. GE emulation Backend-independent GPU issues
Projects
None yet
Development

No branches or pull requests

5 participants