hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
10.83k stars 2.13k forks source link

Games with missing 3D #198

Closed hrydgard closed 11 years ago

hrydgard commented 11 years ago

There are currently some large 3D games that do go in-game but just display a black screen, or only some HUD elements. Or that do display something that's completely broken. That should mean that we still have some big fundamental bugs left in GPU and possibly the VFPU emulation, and it's likely that the same bug will be the cause of black screens in multiple games.

So let's list them here so we can try to find common issues. I'll start the list:

Ape Escape: On the Loose Pursuit Force: Extreme Justice The Hustle: Detroit Streets Worms Battle Island Hellboy Ultimate ghosts and goblins Persona 3: battle/dungeon scenes

EDIT: Cut down the list quite a bit! Are the remaining ones also fixed?

hrydgard commented 11 years ago

Alrighty, thanks for the screenshot. That stuff next to Cowardly Maya does look strange..

raven02 commented 11 years ago

Just for record , the following FF crisis core spontaneously broken graphic is fixed in latest git build

bb22f66a-64a0-11e2-8043-1ecb992f1dc0

hrydgard commented 11 years ago

I think many of the main issues here have been solved, I'm closing this issue as it's becoming too large.

Let's open new issues for more specific problems.

raven02 commented 11 years ago

@hrydgard , regarding the VBO on-off issue , looks like when set the GL_ARRAY_BUFFER and GL_ELEMENT_ARRAY_BUFFER0 will cause missing texture in Dissada unless VBO enabled . Any idea?

rotateVBO: gpuStats.numUncachedVertsDrawn += indexGen.VertexCount(); useElements = !indexGen.SeenOnlyPurePrims(); vertexCount = indexGen.VertexCount(); if (gConfig.bUseVBO) { // Just rotate VBO. vbo = vbo[curVbo]; ebo = ebo[curVbo]; curVbo++; if (curVbo_ == NUMVBOS) curVbo = 0; glBindBuffer(GL_ARRAY_BUFFER, vbo); glBufferData(GL_ARRAY_BUFFER, dec.GetDecVtxFmt().stride * indexGen.MaxIndex(), decoded, GL_STREAM_DRAW); if (useElements) { glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo); glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(short) * vertexCount, (GLvoid *)decIndex, GL_STREAM_DRAW); } } else { glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); }

KawakamiB commented 10 years ago

Final Fantasy Type 0 - After one of your classmates dies, they disappear or start artifacting upon ressurection till the end of times.

The only thing that stops this game from being completley playable.

hrydgard commented 10 years ago

@KawakamiB , I don't think that problem belongs in this old issue report. Please create a new one.