Open daniel229 opened 10 years ago
looks like is this thing.
Hmm, it has a stencil test that zeros except on depth fail. Is the depthtest enabled? It's also using maskalpha (theoretically we could partially implement this using glStencilMask.)
-[Unknown]
Yes,it's enabled
So basically, where the depth test passes, it's supposed to set the stencil/alpha to (a & 0x7f). Where it fails, it's supposed to set it to 0x80 | (a & 0x7f), which might make it brighter or be used in a future stencil test, I guess?
-[Unknown]
silent hill shattered memories reports GLES\StateMapping.cpp:449 Unsupported RGB mask: r=07 g=e3 b=000000ff GLES\StateMapping.cpp:452 Unsupported alpha/stencil mask: fe
silent hill zero reports GLES\StateMapping.cpp:452 Unsupported alpha/stencil mask: 7f
same problem in silent hill origins.
torch working fine only in the begining
in the hospital/roms or any place,torch only iluminate character/some items
is a bit unplayable in some are to dark.
real psp torch
Man, is this error still present?
The light need RGB mask implement,JPCSP enable color mak,the light showup.
Wait a second, disabling the stencil test produces this:
Here's Origins:
Yes,diasable stencil test helps these games.
Disable stencil test also helps brightness in Ultimate Ghosts'n Goblins.
not disable stencil test
Disable stencil test
yep dissable stencil fix lintern problem.still a bit slow in some areas.
full enjoying SH games
in forum some user report that:http://forums.ppsspp.org/showthread.php?tid=1576&page=4
i was playing the beginning , no problem, flashlight working properly, until i reach the playground (the first ghost scene) and this occur. some kind of alpha problem, enable 'disable stencil test' fix the flashlight, disabling helps with this alpha problem but mess up with the flashlight Sad anyone? (using v0.9.8-1088)
Tested with latest build. Stencil hack helps in Silent Hills Origins with lantern light.
I am going to assume this was fixed between build v0.9.9-50-g0279aa1 and the latest one, but it seems that we are getting closer to solving this issue. Stencil Test was not disabled.
Could you try exporting a GE debugger dump on PC?
To do this, open the game and select Debug -> GE debugger..., then when it's displaying the scene, press Record in the top right. After a second or so, it'll finish and save a trace of the drawing activity.
After that, check the memstick/PSP/SYSTEM/DUMP folder and it'll have created a file named something like "ULES12345_0000.ppdmp". You can zip that and then drag and drop it into a reply here.
-[Unknown]
Unknownbrackets
I have tested Silent Hill Origins and Silent Hill Shattered Memories in the last stable built(1.7.4) and they seem a little better than the previous built. However, some bugs still existing and I am prepared to help in any way needed. These are the bugs I have found now:
Silent Hill Shattered Memories has now a black line bug, where it appears when the flashlight is on. Besides it, the game has some frame drops when you open a door/load a new scenario.
When the flashlight is on, no object has a shadow, I have tried to play it with the "Disable Stencil Test" on, but it does not solve the problem and the game gets way more buggier than before.
The bathrooms in Silent Hill Shattered Memories still bugged.
In Silent Hill Origins, after reaching for the first time the second floor, you flashlight turns on, but it is not projected in the scenario.
Silent Hill Origins has the same shadow problem as Silent Hill Shattered Memories has, no object has a shadow at all.
I am really looking forward to helping you finding and fixing both games, if you need anything, let me know.
Well, as noted in my previous comment - a GE frame dump would help a lot.
See here for instructions - it's not hard and works on Android too: https://github.com/hrydgard/ppsspp/wiki/How-to-create-a-frame-dump
You can zip that and then drag and drop it into a reply here.
-[Unknown]
Here is the dumps I have made: Silent Hill Shattered Memories(Bathroom): SHSM(Bathroom).zip Silent Hill Shattered Memories(Shadow): SHSM(Shadow).zip Silent Hill Shattered Memories(Black Lines): SHSM(Black Lines).zip Silent Hill Origins(Flashlight Bug): SHO(Flashlight Bug).zip Silent Hill Origins(Shadows Bug): SHO(Shadows Bug).zip
Sorry for the delay.
Wow, just remembered, I have played both of them without using the "Disable Stencil Test", it seems this hack does not help anymore. Even SHO gets worse when the hack is activated.
Sorry - could you create these with the latest git build? There's a bug in the version of PPSSPP you used to create these dumps that has been fixed since then.
-[Unknown]
Of course, just let me download the last one and as soon as possible I will be sending it to you.
Here is the new dumps: Silent Hill Shattered Memories(Bathroom): SHSM(Bathroom Mirror Bug).zip Silent Hill Shattered Memories(Shadow): SHSM(Shadows Bug).zip Silent Hill Shattered Memories(Black Lines): SHSM(Black Lines Bug).zip Silent Hill Origins(Flashlight Bug): SHO(Flashilight Bug).zip Silent Hill Origins(Shadows Bug): SHO(Shadows Bug).zip
Flash light at: 350/449
First it draws the scene to one framebuf, then again to another (seems to be finding areas with non-flashlight light, maybe?), and then renders to self with colortest to set stencil=1 where color=000000. Then it draws the scene again, looks like dark without much light.
Flash light uses a >=
depth test:
That seems to generally succeed. Next it draws the flash light again:
That seems to succeed too. Now we draw the actual light (unmasked RGB/stencil), and here's where things get more problematic:
This is where we get the lines (355/449.) I expected it to be the depth test, but even disabling that or using rounding doesn't fix the lines... it's actually caused by the stencil - that initial color tested draw (271/449.)
So that means the initial rendering to it is getting stripes, because the color test is working correctly. Disabling the color test does give a smooth light, so clearly most of it should be black (000000) by this point.
It draws the initial grayscale scene as of 225/449. 226/449 is where it starts blacking it out.... using a texture that looks corrupt (0x0896feb0 in the dump.) It's a 256x256 texture, CLUT8 with a grayscale CLUT. It's using a texture matrix and linear filtering. The texture is a lot of 1f/00 in the start. Forcing the texture to black makes the light smooth.
In softgpu, the same behavior occurs, after a fix to stencil write masking. It's not playing back completely right on a PSP (I'm not sure why - it produces black), but when I take the temporary buffer at 0x04170000, I get the same lines.
I suspect this is caused by depth texturing (e.g. the striped texture might actually be it attempting to download depth to RAM.)
-[Unknown]
Related issue #9001
Hey, FYI it's still happening (at least in Silent Hill Origins, haven't tried Shattered Memories), different results depending on the video driver selected:
OpenGL, the light appears on the wall (but no shadows), but you can see the ladder appearing on top of the character in transparency or something:
and it can be much worse depending on what you're looking at, which makes the game basically unplayable with OpenGL:
D3D11 and Vulkan, no light on the wall:
D3D9, light on the wall (still no shadows):
but depending on the room and/or where you're looking at, the light effect is "cut":
with the light OFF there are weird glitches on the floor and walls:
Frame dumps (using the online debugger thing):
edit: Just notice I was using 1.10.1, but I just updated to latest nightly (1.10.2-5) and same results.
PPSSPP v1.10.3-473 Windows10 (64bit)
Strange light appear!! Sentences of the question answered first are surfaced.
This is first question in the game.
*Attention :Red circles
Torch light up the text....
*Attention : Yellow circle = Text of Red circles
PPSSPP v1.10.3-473 Windows10 (64bit)
Strange light appear!! Sentences of the question answered first are surfaced.
This is first question in the game. *Attention :Red circles
Torch light up the text.... *Attention : Yellow circle = Text of Red circles
I tested again. I couldn't reproduce the issue on v1.10.3-473. I don't know why. and, latest build is solved approximately the issue. and, I tested again other builds.(v1.10.3-474 to v1.10.3-581)
[There was the issue until v1.10.3-543.When lighting up , a big shadow appear]
[The issue solved approximately from v1.10.3-547. But,There are glitch on the light. ]
[v1.10.3-581.When lighting up a far place, a black line appear.]
[v1.10.3-581.When lighting up a near place, a black line disappear.
I got the some dumps here. SilentHill_SM_543_547_Dump.zip
GPU block transfer ON cause this and cant be disabled until restart game or load save state.
here a dump
recording.zip
anyway the game work fine with GPU block transfer OFF but with slower effects ON
but sometimes some texture disapear like this in the character
here frame dump
recording.zip
"Works fine" is not entirely accurate, as shadows seem to be missing? Still, yeah, looks playable.
Flashlight work only on OpenGL
Vulkan is all dark flashlight is lowbatt 🤣✌️
Using ppsspp latest version on playstore flashlight is ok now on OpenGL with some minor gfx glitch?
But in Vulkan flashlight is not working
PCSX2 fixed issues that the PS2 version got for now (including shadows too): https://github.com/PCSX2/pcsx2/pull/4887
Using ppsspp latest version on playstore flashlight is ok now on OpenGL with some minor gfx glitch?
But in Vulkan flashlight is not working
off
on
Flashlight can only work on vulkan if this game is added to ReinterpretFramebuffers compat.
ReinterpretFramebuffers ON
ReinterpretFramebuffers OFF
Redmi Note 9 Mali-G52 GPU
Another workaround for Opengl flashlight glitch is by adding this game to [ClearToRAM]
[ClearToRAM] ON
[ClearToRAM] OFF
Opengl
Vulkan
Sd860 Adreno 640 Default settings at 5x resolution
@hrydgard is worth to add this game to compatibility ini, because it helps mali gpu.
ClearToRAM fix image glitch on opengl if flashlight is enable.
ReinterpretFramebuffers help vulkan to make flashlight work.
I hope this will include in v1.12.3 :)
This is finally fix @hrydgard thanks 😁👍
Vulkan and OpenGL
Software
The Flashlight issue still not fixed:
The Flashlight issue still not fixed:
What platform and GPU backend? Simulate Block Transfer Effects is ON?
See https://github.com/hrydgard/ppsspp/issues/6265#issuecomment-447602810, which has been buried by tons of screenshots. This probably requires depth texturing, which may not be supported by all GPUs and GPU backends.
That it doesn't work in software implies that there's probably a self-depth-texturing hazard. Could you post a frame dump created from the software renderer?
-[Unknown]
That it doesn't work in software implies that there's probably a self-depth-texturing hazard. Could you post a frame dump created from the software renderer?
-[Unknown]
Here ULUS10450.ppdmp.zip
Not fixed at all for me either. Windows 10 / GTX 970, seems to still be glitched with any renderer.
Simulate Block Transfer Effects is ON?
Disabling "Simulate Block Transfer Effects" is not a valid solution IMO, it removes almost every shadows produced by the flashlight so yeah the glitches are of course way less visible but it doesn't look good, plus the screen of the in-game phone is completely broken.
This is known broken, and is one of the things I'm going to be working on soon.
Why when simulate block transfer is enabled and the black spots appear in the flashlight and if you disable that setting again the spots continue until I increase the resolution they disappear?
Here ULUS10450.ppdmp.zip
In this dump, at 1042/1241 it draws the flashlight stencil (REPLACE/REPLACE/ZERO), and then at 1155/1241 it draws the scratchy lines using stencil testing (a & 0x81) == 0x81
. Unfortunately, these spots have 0x80 not 0x81, and it's actually because it was 0x00 / 0x01 at 1042. So it's from earlier.
814/1241 writes 1 bits (RGB masked, stencil masked to write 0x01 only.) It does a self-render of 0x04170000 with a color test for == 0x000000
. Some of the pixels in the image at this point have RGB=1, which is why they don't pass the color test. So... it's even earlier.
At 765/1241, it turns a grayscale rendering of the scene into the black. It uses a depth == test, and subtract blending. This is subtracting from colors (no lighting) drawn at 605/1241. But at 765, it's using some texture from RAM to subtract. This seems like a color interpolation accuracy issue with the polygons. Because they don't match the texture exactly, not quite enough color is subtracted and it doesn't exactly equal 000000 later.
The texture is actually I suspect drawn at 260/1241 (to 0x0004c000, strangely), and I suspect copied to RAM from there. It's drawn at 565 with weird looking colors, but the RAM texture is CLUT8 with a simple grayscale ramp, so I suspect the CPU converted the 565 to 8-bit. This drawing of the scene happens at 256x256 and is centered around the area the flashlight can see (clipped on sides and taller.)
So the pattern you see is actually a representation of the color interpolation error, probably, rather than a hazard. I wonder if this is related (after shader bitmasking) to what's happening on some devices with hardware rendering. Tricky that it relies on some specifics of the color interpolation...
-[Unknown]
The Flashlight issue still not fixed:
simulate block transfer on/off not help ppsspp![02](https://cloud.githubusercontent.com/assets/3481559/3213547/25212dc8-ef94-11e3-8d16-12493b3947f7.png)
psp![201406091259_002](https://cloud.githubusercontent.com/assets/3481559/3213545/0a0e4b10-ef94-11e3-86b9-c641808f9723.png)