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

[Android] [Mali GPU] [OpenGL] Lastest build blackscreen on buffered rendering mode #12898

Closed
ghost opened this issue May 14, 2020 · 17 comments
Closed
Labels
Milestone

Comments

@ghost
Copy link

ghost commented May 14, 2020

What happens?

As the title say, last working build d4b695c

Issue started 864d138

What should happen?

No blackscreen on buffered rendering mode

What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.

Android 6.0.1
OpenGL 2.0
Mali-450

@ghost
Copy link
Author

ghost commented May 15, 2020

@unknownbrackets here's the ge dump
PPSSPP GE Dump.zip
tried to different games

@unknownbrackets
Copy link
Collaborator

It's working fine on Adreno. Are you using a post-processing shader?

-[Unknown]

@ghost
Copy link
Author

ghost commented May 15, 2020

It's working fine on Adreno. Are you using a post-processing shader?

-[Unknown]

No, default settings only.

@ghost
Copy link
Author

ghost commented May 15, 2020

My ScreenRecording
recording_20200515_094046.zip
Game works fine in skip-buffered rendering also game audio also still playing while in blackscreen but not captured during screenrecording (I forget to enable audio recording 😅)

@ghost ghost changed the title Lastest build blackscreen on buffered rendering mode [Android] [Mali GPU] [OpenGL] Lastest build blackscreen on buffered rendering mode May 15, 2020
@ghost
Copy link
Author

ghost commented May 15, 2020

Tried ppsspp-v1.9.3-806-g192198ef3-android still blackscreen :(

@Panderner
Copy link
Contributor

I'm using Realme C2 Android 9 Pie and my games runs fine on buffered rendering.

@Panderner
Copy link
Contributor

@Gamemulatorer what games are you using?

@ghost
Copy link
Author

ghost commented May 15, 2020

@Gamemulatorer what games are you using?

All of my games are blackscreen on buffered rendering but not on skip-buffered rendering see my screenrecording above comment.

I think this issue can only reproduce on old android devices with old gpu like Mali 400 & 450 on OpenGL 2.0?

@ghost
Copy link
Author

ghost commented May 15, 2020

Confirmed! issue can only reproduce on Mali GPU with OpenGL 2.0, I tested the latest git build on Mali-t720 GPU with OpenGL 3.1 and it's work fine on it.

@hrydgard hrydgard added this to the v1.10.0 milestone May 15, 2020
@hrydgard
Copy link
Owner

Wacky. I'll try to use my Galaxy S3 to debug this later.

@hrydgard
Copy link
Owner

Just did a quick check to confirm the repro and yeah, I got it. Getting a lot of the following:

W/PPSSPP ( 6672): [G3D] Got an error after init: 00000500 (GL_INVALID_ENUM)

So it should be fairly easy to track down when I have more time later. Looks like we're accidentally now using some feature that's too new on GLES 2.0 devices.

@hrydgard
Copy link
Owner

The error happens when doing indexed draws with index type = GL_UNSIGNED_INT. This is not supported on older GLES devices, only GL_UNSIGNED_SHORT. Should be a pretty easy fix.

@hrydgard
Copy link
Owner

Was gonna make the index format a parameter of the draw call, but in D3D9 the index format is specified when creating the index buffer! Ugh.

I think I'll just only support 16-bit indices in thin3d.

@unknownbrackets
Copy link
Collaborator

I think it makes sense to specify it on create for all backends, but yeah, 16-bit only sounds simpler...

I guess that means softgpu was broken before on GLES2...

-[Unknown]

@hrydgard
Copy link
Owner

So it seems indeed.

hrydgard added a commit that referenced this issue May 15, 2020
@ghost
Copy link
Author

ghost commented May 15, 2020

@hrydgard thanks! for the quick fixed.
Vampire Chronicles also works now unlike in the previous build started on ForceSoftwareRenderer implementation for this game that always stuck on blackscreen.
Screenshot_20200516-054612

@unknownbrackets
Copy link
Collaborator

That makes sense, the problem that caused the blackscreen was exactly how the software renderer was working before. Now that they're using shared code, the fix affected both.

-[Unknown]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants