Converting RetroArch shaders to .vsh and .fsh format (PPSSPP)

This is probably posted in the wrong forum so I apologize beforehand on it.

Things is rather hopeless at the moment, I can’t get shaders to work on the updated PPSSPP core and I can’t seem to convert any of the RetroArch shaders to .fsh and .vsh formats properly that the standalone version of PPSSPP uses.

It’s a dead end and I’m really sad because this is starting to put a toll on me.

My dream is to play PPSSPP with motionblur-simple and psp-colors but it’s not possible at all it seems.

Gambatte, mGBA, DeSmuME etc. all work fine with motionblur-simple and gbc/gba/nds-colors shaders but not PPSSPP and with standalone I’m not sure if you can combine two shaders like in RetroArch.

Is there anyone here that have converted psp-colors and motionblur-simple to .fsh and .vsh formats and mind sharing it?

I’m beginning to get pretty desperate but **** it looks so good when you play games in mGBA and DeSmuME…

Thanks in advance for anything, even if it’s just a no answer that it can’t be done.

Are you using Cg shaders? Cg doesn’t support OpenGL 3.2 or higher contexts, and since it was discontinued by Nvidia, it probably never will.

You should try using the GLSL shaders for this core. I am able to run GLSL presets with PPSSPP successfully.

Final Fantasy I in PPSSPP with lcd-grid-v2-psp-color-motionblur.glslp

2 Likes

Truth be told I’m only using GLSL shaders and not CG, been a long while since I did.

How have you managed to get it to work? Have you made changes to the .glslp shader preset files?

Do you mind sharing the code for your lcd-grid-v2-psp-color-motionblur.glslp file so I can see what differs from mine.

I really need closure on this.

EDIT:

This is how my .glslp shader preset file look like:

shaders = "2"

shader0 = "shaders/motionblur-simple.glsl"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "2.000000"
scale_type_y0 = "source"
scale_y0 = "2.000000"

shader1 = "shaders/psp-color.glsl"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"

Lock the thread and throw away the key guys, it works now by a miracle and I don’t know what have happened.

Apparently the newest PPSSPP core isn’t called PPSSPP 1.4.2-git anymore, just PPSSPP 7f30ab1 (just an example) and by the looks of the core options, a lot happened.

Well PPSSPP 7f30ab1 works great and it’s from the 28th of February and I use one of the RetroArch 1.7.1 nightlies.

HALLELUJAH EUREKA!!!

2 Likes

Those paths don’t look right, unless you’ve moved those shaders around on your local install. With the default folder layout with the preset in the root of your shader folder, it should be like this:

shader0 = shaders_glsl/motionblur/shaders/motionblur-simple.glsl

shader1 = shaders_glsl/handheld/shaders/color/psp-color.glsl

Also I would recommend using response-time.glsl instead of motionblur-simple.glsl because it is more realistic to LCD response time characteristics and also has a configurable response time parameter. It is the same response time function that was included in Harlequin’s Game Boy and LCD shaders.

1 Like

Thanks @Monroe88

Yes I have moved these shaders around, pretty much everything on my gaming rig is customized and tailor made one way or another.

I didn’t know about the response-time.glsl shader, guess I fell into old habits of using what I always have used. I will definitively check that out!

You say it has configurable parameters, anything I should think of for let’s say GB, GBC, GBA, NDS and PSP?