Mega Bezel Reflection Shader! - Feedback and Updates

You have to mind the offset from default colors. sRGB offset is very small, almost negligible, using DCI-P3 creates a notable offset to compensate you display’s gamut and produce more “faithful” retro colors.

If you use the option twice then the compensating offset is twice as big, resulting in desaturated colors.

So yes, it’s probably quite ok the way you mentioned.


Okay wow! This should really be in the manual. I wonder who’s going to write it?

I take it you mean with one set to sRGB and the other set to DCI (or whatever colour space setting is desired)?

Is there anyway to bypass this in either shader, so that we can have one set to “bypass/off” so there’s absolutely no offset, then the other set to whatever colour space we prefer to use?

Wouldn’t this be more ideal? @guest.r @HyperspaceMadness

You can use the -1.0 crt profile option in ‘GDV’ which bypasses color altering.


Thanks a lot @guest.r and @HyperspaceMadness. This has made a world of difference already! I used to compensate using the Saturation setting to get colours to where I think they should be but with this simple bit of knowledge and understanding my colours seem much better with Saturation set to 0.

1 Like

Follow up question for @Dogway, @HyperspaceMadness or anyone else who might be able to answer.


[Signal & Color Space]:

  • CRT Phosphor Gamut

, what does a setting of 0 represent and what do the negative values represent?

Some of these negative values look good by the way.

What grade do you refer to?

For the newest one the settings are explained here

-2:CRT-95s -1:P22-80s 1:P22-90s 2:NTSC-J 3:PAL

0 is noop, as depicted in grade-no-LUT with everything off by default.

1 Like

Thanks for the quick response,

I’m talking about the Grade in the latest Mega Bezel Reflection Shader public release v1.14. So that would be the “old” Grade.

So these are for the “old” Grade?

Do these require any additional user supplied LUTs?

The new grade. You can find details of the gamuts here:

And this is the enum:

if (crtgamut == -3.0) { m_in = SMPTE170M_ph;         } else
if (crtgamut == -2.0) { m_in = CRT_95s_ph;           } else
if (crtgamut == -1.0) { m_in = P22_80s_ph;           } else
if (crtgamut ==  0.0) { m_in = sRGB_prims;           } else
if (crtgamut ==  1.0) { m_in = P22_90s_ph;           } else
if (crtgamut ==  2.0) { m_in = P22_J_ph;             } else
if (crtgamut ==  3.0) { m_in = SMPTE470BG_ph;        }

As you can see 0 is sRGB (noop) and -3 is the SMPTE 170M standard not measurement and average inferences like the P22 series or CRT_95s.

Old grade had FCC which fell in misuse around 1979. It also had single measurements of NTSC-J (-2 and 2) and P22 (2 and -3).

1 Like

Something strange has changed when I adjusted my PC Power settings to performance and updated my Nvidia drivers.

I am now getting a lot of moire, where’s before it was barely perceptable.

Is there a work around?

Can you post an image? Try to use GPU snapshot, but if you can’t, you can use standard system snapshot/screengrab.

Hi all, just a PSA, I’m considering killing DX11 support for newer versions of the Mega Bezel, the reasons are:

  • It loads VERY slowly
  • It prevents some optimizations and adding additional cool features

Here’s a poll, let’s see how this works…


Ok here’s the poll

  • I use the D3D11 Video driver when in Retroarch
  • I DO NOT use the D3D11 Video driver when in Retroarch

0 voters


I use Vulkan whenever possible.



I don’t see any Moire in this image, what resolution is your desktop running at? The image is 3840x2160, is your desktop running at a different resolution?

1 Like

this is closer to what I see on my tv/monitor. resolution of panel is 4k

1 Like

So then this is not coming from the shader, this is coming from some thing between the image and the processing of your computer and monitor.

My best guess with no info is that there is some downscaling/upscaling happening between your computer and monitor.

  • What is your desktop resolution shown in windows display settings?
  • How are you connected from your monitor to your computer?
    • Direct HDMI cable?
    • Display Port?
  • Is it a monitor, or is it a TV?
  • What video card do you have?
  • Is it a Laptop?
1 Like

Sorted it.

Talking to you gave me the idea to check Nvidia settings for the retroarch app. I turned off everything I thought might be an issue. Scaling, anti-aliasing etc. At least one of them mustn’t have been playing nice.

It’s back to normal and looking great again. Thanks for the help

EDIT - Spoke to soon. Dreamcast is still doing it. Strange.

1080 Snowboarding on N64 is fine though… that had been the worst offender.


Try the DREZ shaders for Dreamcast.

1 Like

Does Mega Bezel work with the Android version of Retroarch?

I downloaded the GitHub package and copied it in the shaders_slang and shaders_glsl folders but RetroArch saw them as empty folders.