Pixellate Shader Problem in GenPlus Core

I like the pixelate shader since it gives me a similar affect as autoipsharper in Medanfen or Simple4x in VBA-M. It evens out rounding errors non integer scaling produces with minimal blurring. Except in the GenPlus core. For some reason it’s about as blurry as normal bilinear filtering there. Is there another shader that works like pixelate does for other cores in GenPlus?

Make sure you disable Linear hardware filter first.

In my Genesis config I have:

video_smooth = “false” video_shader_enable = “true” video_shader = “./Shaders/pixellate.cg”

So that should turn off the regular linear filter and enable pixellate, but it looks almost as blurry as having the shader off and linear on with that core. I have those same settings with bsnes, vba-next, nestopia and gambatte and those all look sharper as expected.

Screenshot comparisons: GenPlus Core, Linear Filter on, Shader off Genplus Core, Linear Filter off, pixellate Shader on Kega Fusion with Bilinear on and Quad Filter (what I’m trying to replicate) bSNES Core, Linear Filter off, pixellate Shader on (looks about the same as my Kega setup)

Edit: Windowed mode seems to show more than anything that “something ain’t right” with pixellate in GenPlus:

Vs.

Edit 2: I was able to find a bsnes shader (Pixellate.shader) that works correctly with GenPlus. I prefer it to the CG version since it’s less blurry.

I ran into the same issue; however pixellate looks fine with genplusgx if scaling is set to 4x, which is a tad overkill.)

My motivation for wanting to use it is the same; I like to use non-integer scaling, and not have those “rounding errors” visible with nearest neighbor filtering (and not overly blurry as bilinear is,) regardless of scale factor.

Is this a good method, with lanczos16.cg shader vs the software based filters? (intelhd onboard, laptop, debian testing amd64 + debian sid kernel)

Or is there a way the pixellate shader can be adjusted (it’s worth noting that in smaller window modes it renders things oddly, where as lanczos seems like a good compromise, but I wonder if there is a simpler more efficient alternative to achieve the same result…)

from rgui.cgp


shaders = "1"
shader0 = "/home/user/.config/retroarch/shaders/lanczos16.cg"
filter_linear0 = "false"
float_framebuffer0 = "false"

EDIT: Alternative with quilez.cg, looks basically perfect at non-integer scales (with linear filtering, otherwise there are sometimes little “sawtooths”, for example, with the nestopia core)


shaders = "1"
shader0 = "/home/user/.config/retroarch/shaders/quilez.cg"
filter_linear0 = "true"
float_framebuffer0 = "false"

Thanks.