libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.38k stars 1.84k forks source link

which shader am I using? #9072

Open yepyepyep4711 opened 5 years ago

yepyepyep4711 commented 5 years ago

Description

Display which shader is being used in the shader menu

Expected behavior

When I go to the shader menu, I would expect to find out which shader I'm using right now, preferably with its path, as there are so many.

Actual behavior

I've selected a shader I like for Game Boy with Gambatte. All is fine. Weeks later, I try Game Boy Color and realise the same shader is used because I made it a core preset and Gambatte is also used for GBC. Of course I don't want this, because the Game Boy shader is monochrome and has a Game Boy border. So now I need a new shader for Game Boy Color games. I know a similar one exists somewhere in the tree where I found the one I'm using, but: 1) I can't find it because the location of the one I'm using is not shown 2) I can't try around until I find it because the name of the shader is not shown either, only the name of the passes, like gb-pass0.glsl

Steps to reproduce the bug

See above

Version/Commit

Environment information

hizzlekizzle commented 5 years ago

I understand where you're coming from, but this would be tough to accomplish, I think, since the name of the preset isn't stored anywhere after it's loaded. In fact, once it's loaded, the passes and parameters get put into the retroarch.*p preset file, and that's what's loaded from then on rather than the original preset. That is, what's loaded ceases to be the original preset, so it would always just say "retroarch.slangp" or whatever.

The only time you would see an individual shader preset name would be if it were entered into the video_shader = "whatever.preset" option in the config, which only happens manually (i.e., via text editor), AFAIK.

yepyepyep4711 commented 5 years ago

but why not write it down when it is selected? The shader settings get written in one single file, as you said. So why not add a parameter, call it name, or path, and write the information there, which can be then displayed on the shader menu?

ghost commented 5 years ago

@hizzlekizzle I believe it's stored now, I think I added it back when the Qt interface was made. But I guess your point still stands about the passes being moved to retroarch.glslp etc.

hizzlekizzle commented 5 years ago

@bparker06 well, if it's being stored somewhere and we can display that value to the user, I have no complaints :)

yepyepyep4711 commented 5 years ago

so where is it written? :smile: