Blargg filters don't seem to work with SNES for me

I don’t know if I’m in the right place for this, but I figured shaders, filters, whatever. I thought I would try turning on the blargg snes filter in the video settings, and I get nothing. I’m using higan accuracy. Mega Drive/Genesis gets compressed into the left half of the screen, so I know it’s doing something somewhere. Does it just not work with SNES cores? That would be weird, considering the name.

None of the filters work for me either with the cores I tried (Dolphin, Mesen, Mupen64Plus-Next, bsnes-mercury, Higan, Flycast.) Tried gl, glcore and vulkan. The RA log says:

[INFO] [SoftFilter]: Found plug: EPX (epx).
[INFO] [SoftFilter]: Found plug: Darken (darken).
[INFO] [SoftFilter]: Found plug: 2xBR (2xbr).
[INFO] [SoftFilter]: Found plug: Super2xSaI (super2xsai).
[INFO] [SoftFilter]: Found plug: Scale2x (scale2x).
[INFO] [SoftFilter]: Found plug: LQ2x (lq2x).
[INFO] [SoftFilter]: Found plug: Phosphor2x (phosphor2x).
[INFO] [SoftFilter]: Found plug: SuperEagle (supereagle).
[INFO] [SoftFilter]: Found plug: Normal2x (normal2x).
[INFO] [SoftFilter]: Found plug: 2xSaI (2xsai).
[INFO] [SoftFilter]: Found plug: Blargg NTSC SNES (blargg_ntsc_snes).
[ERROR] Softfilter does not support input format.
[ERROR] [SoftFitler]: Failed to create softfilter graph...
[ERROR] [Video]: Failed to load filter.

This is on Linux with the latest nvidia binary driver.

Well, I got windows, so I don’t know what I’m doing wrong.

I believe this means the core outputs a color format that’s not compatible with the filter. I think it’s supposed to work with rgb565 while those put out xrgb888 or something like that.

Okay, so it seems to work with Snes9x, which is funny, because Snes9x has it’s own Blargg filters under options, which makes it kind of redundant, but hey, I ain’t complaining.

Using an NTSC shader is probably better anyway though. They’re faster than video filters. Try the various shader presets in the “ntsc” group.

1 Like

I’m having the same issue.

So far I’ve tested video filters with Nestopia UE and Beetle PSX, none work even though they say they are applied in the video settings. They work in SNES9X, but it’s redundant because it has the filters built-in.

At first I thought maybe it was because the core didn’t have 16-bit or 32-bit color, but if the built-in filters work with Nestopia UE, that doesn’t make sense. It’s only the filters accessed via the video settings menu that don’t do anything. Not getting any errors in the log, either. Stumped. :thinking:

Yeah, the problem is:

[ERROR] Softfilter does not support input format.

I believe there’s support for other input bit depths, but they’re compile-time, so we might need to include a bunch of permutations if we go that way.

It looks like it also supports BGR565:

#define SNES_NTSC_BGR15( ktable, n ) \
	(snes_ntsc_rgb_t const*) (ktable + ((n << 9 & 0x3C00) | (n & 0x03E0) | (n >> 10 & 0x001E)) * \
			(snes_ntsc_entry_size / 2 * sizeof (snes_ntsc_rgb_t)))

But I think most cores do xrgba888, so that would need to be added.

1 Like

Would this be very time consuming/burdensome to do? At this point I’d pay someone to do it, lol. I need those NTSC filters!

1 Like

I mean, I’d be all for setting up a bounty for either core wide (all libretro cores) support of Blargg filters or a shader(s) conversion for it.

I seriously forget bounty’s are a thing we can do.

1 Like

Dunno, it’d have to be done by someone who knows more about manipulating uint color data than I.

I think it’s probably a better idea to work from the existing NTSC shaders, though, as I think a lot of what’s going on with these, color-wise, is a result of the reduced color precision.