Mega Bezel Reflection Shader! - Feedback and Updates

Even on standalone Dolphin? Are you sure this is an nVIDIA issue or just a Dolphin thing?

I think I remember it to be the same on standalone Dolphin, yes. I don’t know who’s to blame, Dolphin or nVidia, but I remember reading that nVidia’s implementation of Vulkan was less efficient than AMD’s, so…

1 Like

That might have been the case with the 9xx or 1xxx series which lacked true Asynchronous Compute ability but not on the newer 2xxxx or 3xxxx series.

Besides the fact that they had the Asynchronous Compute feature that the nVIDIA cards lacked part of the hype over AMD getting significant performance gains when choosing Vulkan over OpenGL or Direct3D was due to the fact that nVIDIA had way better and more efficient OpenGL and Direct3D drivers and they were able to exploit the older APIs to their full potential, while AMD’s drivers left a lot of untapped performance on the table.

So naturally, when they made the jump to Mantle and subsequently Vulkan, they had significantly more to gain relative to their older, poor performing drivers while nVIDIA who were already performing at near peak performance with the older APIs stood to gain less from the new one.

AMD’s architecture also had more redundant hardware that needed things to be coded in a certain way for it to be fully utilized.


@HyperspaceMadness have you considered adding some kind of toggle switch to reverse the mask colors? With an RGB display we need the mask pattern to be BGR…


Hmm, good question, maybe a question for @guest.r if it would be a good thing to add to the guest shader.

It seems like we could invert/reverse the viewport x coordinate sent to the mask and have all the masks flip horizontally.


Maybe a cheap trick could work, like

mask = mask.rbg;

need to test it though.


Seems like more and more people are starting to take notice of our work:


To @HyperspaceMadness, @Duimon, and @Orionsangel,

I wasn’t exactly sure where I should post this, but I figured this was a safe bet. I have been working on my personal RetroArch project for quite some time now, not long at all, 3 to 4 weeks maybe, getting everything together, setting everything up, testing, buying a bunch of friggen controllers to match some cores, a nice arcade stick, ya know, just because lol. The reason I started doing all of this was because I just happen this, so I looked into all the work you guys have done. Just from what I have seen and read on the forums here I really hope I am addressing the right people. I just truly wanted to thank you all for taking something that’s cool and turned it into a whole new experience. It is truly amazing how much new life you put into something that never changed. Not only am I sure you guys did all of this in your spare time, but you also gave it to us just to have fun with, and that is also something I am very grateful for. We all need more people like you. If I forgot to thank somebody I’m sorry!

Keep up the awesome job guys, take care, and thanks again!


Hi @DrEvil666, thanks so much for this :smiling_face_with_three_hearts:! Hearing how our work on this can improve your enjoyment of retro gaming is really motivating and makes all the hard work we’ve put into things worth it!

If you are interested you should check out @soqueroeu and @thenamec’s work linked in the first post too, as they’ve also done some beautiful graphics and presets that work with the Mega Bezel, @soqueroeu’s are cool console themed tvs and @thenamec’s have a lot of Amiga love, PVMs and imaginings of retro nostalgia.


Just wanted to add my own thank you for the work you’ve done on these bezel shaders. I only discovered that they were a thing in January and combined with the lovely shaders and overlays from peeps such as Duimon, thenamec, and others, they’ve pretty much changed our emulation experience completely and made playing any system fresh and exciting again.

Keep up the good work and I’m so excited for the 1.0 release!


I can’t get this to work on the ARM Build of RetroArch for M1 Macs. There’s no Vulkan on the Mac build, just Metal.

Does anyone know how to set this up on Mac regardless or is there no chance for that?

slang shaders should work just fine with metal. Can you post the shader compiler error?

Where can I see the exact error message? I only see this popup after trying to apply a shader. I followed the instructions (like setting integer scale off, etc.).

it should show up in a verbose log, if you can get one of those for us.

there are a few ways to get a log, but the easiest is to go to settings > log and set both logging verbosities to DEBUG and ‘log to file’ to ON. Do whatever it takes to reproduce the offending behavior and then close RetroArch (if needed). It will then create a log file in your ‘log’ directory, which you can open in a text editor. If you want us to take a look at it, copy/paste the log contents somewhere like and then post a link to it here (this is more convenient for people than having to download it and open it in our own text editors)

1 Like

Appreciate the support.

Theres’s the log:

Hmm, no real compiler error there, just straight up failing to load:

[INFO] [slang]: Compiling shader: "/Users/USER/Library/Application Support/RetroArch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm/hsm-add-params-all.slang".

[ERROR] [slang]: Failed to open shader file: "/Users/USER/Library/Application Support/RetroArch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm/hsm-add-params-all.slang".

Did you install it to the correct path and everything? That is, does that path exist and is correct?

Yes its installed on the path that is mentioned in the readme file.

  * The final path to the Mega bezel should be `Retroarch/shaders/shaders_slang/bezel/Mega_Bezel`


[INFO] [slang]: Compiling shader: "/Users/USER/Library/Application Support/RetroArch/shaders/shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm/hsm-add-params-all.slang".

I can navigate to that folder and also apply other standard shaders with no issue at all.

1 Like

How is retroarch installed, is it a flat pack or snap installation? I don’t know much about these, but we had problems in the past with paths because of inconsistencies.

Could you try out a retroarch package which just has retroarch in the zip folder that you unzip to a spot on your hard drive?

If you could try that then we would be able to get closer to identifying the problem.

Does the Intel version work for you?

@HyperspaceMadness First of all thank you for this incredible shader.

I was going all happy trying the different presets but I noticed the ones inside the “Community_CRT_Variations” folder don’t work. It seems the #reference path is not relative so it does not work in all scenarios. I get this error:

[WARN] [Shaders]:  Could not read shader preset in #reference line: /usr/bin/shaders/shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__GDV.slangp
[ERROR] [Vulkan]: Failed to create preset: "/home/nfp/.config/retroarch/shaders/shaders_slang_nfp0/bezel/Mega_Bezel/Presets/Community_CRT_Variations/Nesguy/Nesguy__Slotmask__Low-TVL__Mask-3__Lottes-Rotated-Slotmask__N4__STD.slangp".
[ERROR] [Vulkan]: Failed to create filter chain: "/home/nfp/.config/retroarch/shaders/shaders_slang_nfp0/bezel/Mega_Bezel/Presets/Community_CRT_Variations/Nesguy/Nesguy__Slotmask__Low-TVL__Mask-3__Lottes-Rotated-Slotmask__N4__STD.slangp". Falling back to stock.