libretro / beetle-psx-libretro

Standalone port/fork of Mednafen PSX to the Libretro API.
GNU General Public License v2.0
310 stars 130 forks source link

(GL/Vulkan) Final Fantasy VII - Mising effect during battle transition [PGXP issue] #199

Closed MarcoEstevez closed 6 years ago

MarcoEstevez commented 7 years ago

Using mednafen_psx_hw, with openGL or vulkan, the effect (rotation transition) when you go to any battle is missing.

using software renderer and 1x IR works fine.

MarcoEstevez commented 7 years ago

Correct effect (software renderer) just for reference

image

DukeJP commented 7 years ago

The effect works ok for me in vulkan, in 4x resolution. But the submarine minigame crashes completely the game. (in vulkan, software is ok) Previous to test the effect, i updated to the last version of the core.

MarcoEstevez commented 7 years ago

Ill try that

inactive123 commented 7 years ago

For GL - you need to disable PGXP entirely.

For Vulkan - you need to disable PGXP perspective correction.

If you don't do this, the swirl won't work with these games.

MarcoEstevez commented 7 years ago

Thanks, Ill do as you said and will report results back

simias commented 7 years ago

Those effects are tricky to emulate with GL because they rely on blending the framebuffer on top of itself repeatedly. That's not something modern graphic cards are very good at.

That being said it works to a certain extent in the GL renderer, although it's clearly not accurate.

MarcoEstevez commented 7 years ago

Thanks for explaining, I could still reproduce the issue under GL and Vulkan with all PGXP disabled.

It plays nicelly on soft backend though :-P

inactive123 commented 7 years ago

A better example of this is the FF8 swirl, I think the FF7 swirl is mostly correct even with the GL renderer.

The FF8 swirl is a different story though.

The Vulkan renderer implements it correctly though. You should have a look at that and compare it with GL and soft.

MarcoEstevez commented 7 years ago

Hummm...

You were right, I noticed I had off - "Software framebuffer", after enabling it effect is fine again

image

Edit: Actually it works on both gl and vulkan renderers.

rz5 commented 7 years ago

@MarcoEstevez - Could you rephrase that? Does the FF7 battle swirl play correctly when the software framebuffer is ON or when it's OFF?

MarcoEstevez commented 7 years ago

Software FrameBuffer "On" --> swirl plays correctly on software, gl and Vulkan Software FrameBuffer "Off" --> swirl plays correctly only on software mode, gl and vulkan shows black screen.

rz5 commented 7 years ago

Yeah, that makes sense. That option was meant to be a speedhack in that it makes mednafen skip some work. But after it was implemented, it didn't notice a significant increase in performance. It would be interesting if someone savvy could benchmark it.

MarcoEstevez commented 7 years ago

I havent noticed myself any slowdown after activating it.

rz5 commented 6 years ago

Worth noting that there are actually 3 core options that mess with this effect: Frame duping (speedup); PGXP perspective correct texturing; Software framebuffer.

inactive123 commented 6 years ago

I think this is finally fixed now with the GL renderer.

Let me try it briefly with Vulkan as well.

inactive123 commented 6 years ago

Fixed for both Vulkan and GL.

RagnaStrife commented 5 years ago

Can anybody check if this issue is totally and perfectly fixed on Vulkan? I mean, in reference to these other issues: #401 #390