mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-04-24 21:56:10 +03:00
[GH-ISSUE #1283] Jeanne D'Arc - Invisible Dialogue Box and Models (GLES2) #414
Labels
No labels
Atrac3+
Audio
CPU emulation
D3D11
D3D9 (removed)
Depth / Z
Feature Request
Font Atlas
GE emulation
Guardband / Range Culling
HLE/Kernel
I/O
Input/Controller
MP3
Multithreading
Needs hardware testing
Networking/adhoc/infrastructure
No Feedback / Outdated?
OpenGL
PGF / sceFont
PSMF / MPEG
Platform-specific (Android)
Platform-specific (Windows)
Platform-specific (iOS)
PowerVR GPU
SDL2
Saving issue
User Interface
Vulkan
arm64jit
armjit
armv6
x86jit
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ppsspp#414
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Antonio-Reikashi on GitHub (Apr 14, 2013).
Original GitHub issue: https://github.com/hrydgard/ppsspp/issues/1283
This game has some problems. While the in-game graphics were fixed in the latest builds, it is still impossible to play this game due to invisible dialogue boxes, characters' models, images and menus.
However you guys are amazing. Keep up the good work!!!
Device: iPhone 4S
PPSSPP Build: 7.5-3
Here there are two images that show the issues reported above. :)
In the first one there should be the Jeanne D'Arc logo and the opening menu (New Game, Continue, etc...). The latter is self explaining. :D
@sum2012 commented on GitHub (Apr 15, 2013):
The game will black screen when not use real psp font.
ppsspp font Log:
http://www.mediafire.com/?7f492q9xlkjzk1a
Real psp font log:
http://www.mediafire.com/?cwvmyuqm3a01298
@Krude commented on GitHub (Apr 23, 2013):
Yep, this issue sure exists.


This is PPSSPP currently, 7.6-48
This is what it SHOULD look like:
I can't comment on crashes when using non-psp fonts, but here's a log of the start screen with the localized version.
http://pastebin.com/iwDSDY8A
@unknownbrackets commented on GitHub (May 10, 2013):
Frame dump:
https://gist.github.com/unknownbrackets/5553127
By the way, I keep seeing alpha test using ff0107 and such. Probably the ff is a mask on the alpha value? Hopefully games don't use it...
Anyway, I guess this is probably beziers, but not sure...
-[Unknown]
@hrydgard commented on GitHub (May 10, 2013):
Yes, I think the mask specifies which bits of alpha to use in the test (that is, the GPU will AND the alpha value with this mask before doing the compare). We can't really emulate that with OpenGL ES 2.0 shaders due to lack of bitwise ops (although we could simulate some bit patterns like 0xF0 with multiplication and rounding and 0x0F with modulo and rounding). You could make it report for non-0xFF values only.
@papel commented on GitHub (Sep 2, 2013):
Thank you, @raven02, the bezier problem is fixed.
However, this problem prevents the game from being playable.
http://forums.ppsspp.org/showthread.php?tid=1237&pid=46534#pid46534
@dbz400 commented on GitHub (Sep 2, 2013):
Yep , it is well-observerd that those characters are missing however we still have no idea how to get around it unfornaturely.
@papel commented on GitHub (Sep 3, 2013):
Another bug with invisible characters, https://github.com/hrydgard/ppsspp/issues/1392, it may be related.
@dbz400 commented on GitHub (Sep 3, 2013):
That one should be more closely related to final fantasy one which character only shows in non buffered mode
@dbz400 commented on GitHub (Sep 3, 2013):
I did try to turn off stencil to see if it is hiding the character but it is not ..
@unknownbrackets commented on GitHub (Sep 3, 2013):
I used DEBUG_TEXTURES, and there are a bunch of SetTexture() calls that are not visible. I'm guessing it's trying to draw them, one way or another.
-[Unknown]
@unknownbrackets commented on GitHub (Sep 12, 2013):
Vertex decoders active while missing models should be visible:
If I make it skip all draws that have a weightcount/weight type, nothing visible changes. The read weight values are all between 0.0 and 1.0, inclusive. They don't appear to be using spline/bezier stuff.
-[Unknown]
@unknownbrackets commented on GitHub (Sep 30, 2013):
If I disable depth testing, then I see the models drawn on the white surface (although this causes them to be incorrectly drawn on top of each other.) It still doesn't work, but I see why. Yay.
In a frame:
Primary framebuffer: 0x00044000 (512 stride) 5551
Depthbuffer: 0x00088000 (512 stride)
Clear stencil/depth/color
Model framebuffer: 0x000cc000 (512 stride) 5551
REUSE depthbuffer
Clear stencil/color NOT depth
Draw stuff - expect existing depthbuffer <-- failure
So as far as I can tell, this game REQUIRES shared depthbuffers to work properly.
-[Unknown]
@dbz400 commented on GitHub (Oct 14, 2013):
Interesting that skipping GE_COMP_GEQUAL , all characters show up though overlapped somehow.
@hrydgard commented on GitHub (Oct 14, 2013):
That just seems to turn off depth testing, look how broken they look. However, that clearly points in the direction that this is a depth buffer issue somehow.
@hrydgard commented on GitHub (Oct 14, 2013):
There's one annoyance if we are to implement shared depth buffers btw - on most devices, the fastest and sometimes only depth buffer format is D24S8 where you interleave stencil and depth, which locks a specific stencil buffer to a depth buffer, while on the PSP, stencil should really be associated with the color buffer as it overlays alpha.
I guess one could hope that the games that rely on shared stencil buffers might not also do stencil tricks...
@dbz400 commented on GitHub (Oct 14, 2013):
I see. I tested few other games that used GE_COMP_LESS or GE_COMP_LEQUAL and they all look fine however except GE_COMP_GEQUAL .Feel strange or may be just concidence
@unknownbrackets commented on GitHub (Oct 15, 2013):
Yeah, that is annoying.
When creating a buffer, we should also be "within" its first draw. So if clearmode is on and includes depth, it's likely we don't need to share anything ever.
One way or another this'll probably end up being hacky... ugh.
-[Unknown]
@unknownbrackets commented on GitHub (Dec 14, 2013):
Is it possible to just blit the depth when switching if we can detect this accurately enough? Seems like glBlitFramebuffer won't work on gles2, but maybe will on gles3.
-[Unknown]
@hrydgard commented on GitHub (Dec 14, 2013):
Yes, it should be. But sharing depth buffers between FBOs is also possible, so maybe we should try to extend the api in native/gfx_es2/fbo and do that first. We should add a depth buffer cache just like the frame buffer cache, and create FBOs for the combinations that we see. Might be a little complicated.
@unknownbrackets commented on GitHub (Dec 14, 2013):
Well, Jeanne d'Arc is also using various stencil INCRs on a 5551 texture when it expects the depth to have been reused (it uses this primarily for the alpha though, so maybe that's okay...)
-[Unknown]
@hrydgard commented on GitHub (Dec 14, 2013):
Well on the PSP, depth is "independent" of stencil as stencil is in the color buffer as alpha so that shouldn't be any more of an issue than it already is.. well, except that on PC we do use combined 24/8 depth stencil on some gpus...
Anyway, feel free to try glBlitFramebuffer, it is very likely to be available on your PC GPU. If it fixes it on PC but not old mobile devices then so be it for now. For example I will soon add dual source alpha blending which will fix a lot of the alpha problems without multipassing, but it won't work on mobile as no mobile GPU supports that extension.
@thedax commented on GitHub (Jan 27, 2014):
Should this be closed then? The issue's been worked around/fixed for almost a month. Or are most mobile devices still out of luck, in which case this issue is basically for GLES only?
@pinguallyj commented on GitHub (Jan 27, 2014):
Its fixed, but game itself has wrong fps
https://github.com/hrydgard/ppsspp/issues/5154
@thedax commented on GitHub (Jan 27, 2014):
That has nothing to do with this issue, though.
@Antonio-Reikashi commented on GitHub (Jan 27, 2014):
This hasn't been fixed on iOS, so I guess on mobile in general. While dialogues are visible, those characters models are still invisible. I'm using the latest revision available (0.9.6-594-g7ed88ce). Is it fixable?
@ppmeis commented on GitHub (Apr 7, 2015):
Tested with latest build. LGTM:

@sum2012 commented on GitHub (Apr 7, 2015):
I remember some people who reported in chinese ppsspp forum that still see invisible because their phone does not support opengl es 3.0
@hrydgard commented on GitHub (Apr 7, 2015):
Yup, that's still the case unfortunately. It does work on ES 3.0+.
@Neikiddo commented on GitHub (Sep 4, 2015):
Just recently redownloaded ppsspp 1.0.1. Loaded up Jeanne D' Arc just fine, before it was the issue with the sprites not showing up in battle (game play moving on their own, they would). Everything is runnign fine now, its great. But after the first battle, after the animated scene with the little prince and it goes back to showing Jeanne with a black background. It crashes right there.
Running:
Dell XPS 15
Windows 10 64 bit
8gb Ram
Intel Core i5 2.50 ghz
I didn't mess with any settings when i downloaded ppsspp, so it all should be defaulted already.

@ofry commented on GitHub (Sep 4, 2015):
Neikiddo, try the latest dev version from http://buildbot.orphis.net/ppsspp/index.php?m=fulllist
Latest version is v1.0.1-865-g825662d now
@unknownbrackets commented on GitHub (Sep 4, 2015):
On Windows 10, make sure to update your video card drivers. There have been bugs and issues in them. Windows 10 was just released, and like with all new things, there have been bugs.
-[Unknown]
@Neikiddo commented on GitHub (Sep 5, 2015):
I just did both of your guys suggestions (new dev came out today actually), still gettin that same crash.
@Plusman28 commented on GitHub (Nov 21, 2015):
Hey!
I am using a GPD XD, which actually offers GLES 3.0. But there is still that problem with the partielly visible characters. Tested latest official and latest build. Why is that?
@hrydgard commented on GitHub (Mar 14, 2018):
@Plusman28 is this still a problem on GPD XD?
@ghost commented on GitHub (Nov 7, 2018):
The issue still happen :'(
@hrydgard commented on GitHub (Nov 7, 2018):
So does it look like any of the above screenshots, or can you provide a new one?
@unknownbrackets commented on GitHub (Nov 7, 2018):
Well, it requires depth copying which isn't supported on GLES2. So for a Mali-450, unfortunately it's expected that it would still happen.
It should work properly on GLES3 devices.
-[Unknown]
@ghost commented on GitHub (Nov 7, 2018):
@unknownbrackets sad to hear that :'(
@hrydgard commented on GitHub (Nov 7, 2018):
Oh right. I think we can close this, anyway. It might be possible to hack around the issue by sharing depth buffers, but since stencil and color are tightly coupled that is sure to break many other effects.
@ghost commented on GitHub (Dec 20, 2018):
GPU: Fix curve breakage due to cull flipping #11674 fixed this even in OGL 2.0?
@hrydgard commented on GitHub (Dec 20, 2018):
No, at least it shouldn't have.
@ghost commented on GitHub (Dec 20, 2018):
:'(