-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Weird distortion effect in Persona 5 #4086
Comments
That effect is supposed to be there if you look at ps4 gameplay, however it seems like it's greatly exaggerated in RPCS3. Ni No Kuni had this as well in the desert area although it ended up getting fixed. |
If you look at this fusion video: You can see that the effect is emanating from the blue parts on the guillotine blades. The intensity of the distortion seems more or less accurate to me, but the fact that it is applied to the whole screen rather than just a specific surface is clearly a bug. |
Indeed, this looks too distorted. |
Its not so simple. If the mask is lost its because the heuristics could not determine what to write to that address, between depth/stencil or color. It could also have been that the write is fine, but an explicit stencil clear is lost. Due to how the hw is configured, there is no way to really know if a memory address is going to end up being used for depth/stencil or color when it is bound to both (you'd be surprised how often that happens). With the fact that null also points to valid memory for render targets, the problem is compounded further; as the code gets smarter about making such decisions this will be fixed. |
You cant read back stencil like that, especially not on ps3. This used to work before, just get a trace from an older build and the difference should be easy to find. From previous bug reports, this game uses stencil normally with a clear+write pass and a stencil test pass so it should be simple to fix this if you have some time. |
You misunderstand the purpose of decodelineardepth. The game draws depth data but binds it to rsx as argb8. Of course you only get access to depth component unless you bind a view of the stencil buffer as well. Thats why all components are R. Note the format names are misleading. It is common for depth and stencil to be two separate textures in hardware. This is also the case on ps3. Depending on where the surface is stored it can be packed depth followed by packed stencil in separate blocks but format is d24s8. This is why apis dont usually allow reading stencil directly. E.g amd does not support 24bit depth, so uses d32 instead. D32s8 is 40 bits per pixel. Its very unlikely that doing a data read of origin+4 will give you stencil due to alignment problems. Reading stencil requires double binding for affected surfaces during readback for emulation of the a/z component and with it a ton of changes elsewhere. The OP claimed that everything worked fine before so I assumed it had to be something simple; guess we found a game expecting linear d24s8 layout. |
Not to be a bother, but I've just started trying to use rpcs3 to play Persona 5 and I noticed this messed up distortion effect, and googling led me here. I was just wondering if there was any potential fix for this issue, even just a special version of RPCS3 with the fix. If it's not too much hassle, I don't want to be a bother but I figured I'd ask. Thanks! |
As a workaround, you can use the following in your patch.yml (see the wiki):
Hopefully this gets correctly fixed some day, but at least like this we don't have to live with the distortion! |
Dude that's awesome, thank you so much! I'm about halfway through the second dungeon and while I had kind of started getting used to it, it's still very bothersome and ugly. This totally worked, I'm sorry I had to bug you guys here, but I really couldn't find anything!!! Thanks again! YOU GUYS ROCK!!!! |
There's a weird distortion effect affecting the whole screen when in palace or when fusing personas. I checked older revisions and it started happening after #3772 was merged.
Palace after #3772
Palace before #3772
Persona fusion after #3772
Persona fusion before #3772
RPCS3.log.gz
The text was updated successfully, but these errors were encountered: