Sorry, I hadn’t noticed that. The strange thing is, I always use Vulkan by default, and for some odd reason, I was using d3d11. Now everything works fine with Vulkan. My apologies.
No worries. If you’d need it, there is still the “#define D3D_WORKAROUND” you could place in config-user-optional.txt that allows the shader to work with d3d (with some tradeoffs, see docs).
That reminds me I’ve to test if it still works fine before the next release.
I finally did some testing with your instructions, and results look quite spectacular. Thank you very much (still try to figure out what you are actually doing here ;-).
@Starman99x - the MAME.lay overlays only work for me in MAME current, but not the 2003 cores. Is this expected behavior? Cheers!
Yes totally normal, because mame now follows a new lay structure. So you’ll need to modify a compatible lay file with the older format.
v1.9.95 has been released on the main repo and soon via retroarch online updater:
CHANGES:
- Presets tuning
- Deleted Monitor-Screen_Hmask-Core_SlotMask-Overmask and added Monitor-Screen_Hmask-Aperturegrille-Overmask-IntegerScaling
- docs update
- rename ntsc-1 and ntsc-2 presets in the 4.1 folder as: tv-NTSC-Megadrive-Genesis-old and tv-NTSC-Generic-old
- explicitely shake the screen at startup
- Game geometry override: set default aspect to 0.0 to prevent user headaches.
- heavy refactor of cvbs color smearing, changed parameters and namings, maybe your presets need to be updated
- Improve Dot matrix auto sharpness, it also preserves brightness when zooming out alot.
- Improve resswitch glitch: tuned parameters and add x waves
- Move deconvergence later in the chain.
- Ambientlight: better scene change detection
NEW:
- Add a slight breath-in effect on resolution switch effect
- Add support for multiplicative overlay
- Add Virtualboy preset by Starman99x
- Warped glow X modulation via scanline shape
- Diorama/shadow dows not disable deconvergence anymore
- Emulate CRT startup tube warming when using breathing feature
- implemented scanline period override as a static option
- Implemented post sharpness compensation filter for CVBS signals
- Remove GAME_GEOM_OFF_FIX parameter.
- Rgb mul overlay support (aka GEL)
FIXES:
- Ambientlight: fix some glitches in particular conditions
- Avoids unintended fake scanlines triggering due to the default auto behavior.
- Deconvergence: fix compatibility with glow_blur_bias()
- disable antighosting when scanlines are interlaced
- Backdrop: always paint it under foreground image.
- do not do IN_GLOW_BIAS if DO_IN_GLOW is false
- Do not skip reflection rendering when an overlay is painted just on tube
- Fixed avglum_pass sampling points coords misbehaviour when override content geometry zoom (or aspect correction) is active.
- fn_very_lowres_y(): take into account doublescanning, global zoom and and scanline period override
- make cvbs bleed size not dependant on hiresgames preset size
PERFORMANCE:
- use flat and noperspective interpolation qualifiers: this is not compatible with librashader (yet)
I’m curious about this. Do you mean an extra graphics layer with the blend mode set to multiply?
Ah, I see. Thank you!
@Elessar84 Answering here about the 3ds preset. If you mean the bezel, @Duimon made one in his pack for koko-aio:
It reuses the same base LCD settings I made for GBA, I hope it is accurate enough…
Ok, thanks. I’ll check it out soon 
Now it looks like this 
I think it’ll pass. I generally appreciate Duimion’s presets, but I’m having too many problems with them.
Indeed, I’m noticing artifacts with citra and this layout as well, it is because the resolution by the core dont and cannot reflect the original one.
This problem is not present on the gba which is shared with this core, because gba core exposes the real hardware resolution and the shader draws a mask per input pixel, but with citra this info is lost in the void, so using generic screen coords is needed.
change the reference line, it should look far better.
#reference "/koko/.config/retroarch/shaders/Duimon-koko-aio/Presets/Nintendo_3DS/3DS_Horizontal-[BigSmall]-.slangp"
IN_GLOW_POWER = "1.500001"
DO_FXAA = "2.000000"
DO_PIXELGRID_H = "0.000000"
PIXELGRID_SIZE_W = "1.000000"
PIXELGRID_H_PRST = "2.000000"
PIXELGRID_MIN_W = "0.050000"
PIXELGRID_MAX_W = "0.400000"
PIXELGRID_Y_MASK = "1.000000"
PIXELGRID_Y_MASK_OFFSET = "0.000000"
PIXELGRID_Y_MASK_ON_WHITE = "0.550000"
DO_HALO = "1.000000"
HALO_NO_PREGAIN = "1.000000"
HALO_POWER = "0.500000"
HALO_SHARPNESS = "7.000000"
DO_VIGNETTE = "0.000000"
I suggest changing the base shader to the psp one, instead of gba. I did that to all dual screen handheld presets because it looks consistent.
Open the duimon presets, you’ll find a base shader section at the start, change that to reference the psp koko-aio preset.
Since the PSP preset uses the scanlines code to draw the gap between the LCD cells, they are tied to the core resolution as well.
It works for citra core too, because they are turned into fake integer scanlines automatically by the shader when the ratio screen resolution/core resolution is low enough, still, a more robust way to handle this is to use the horizontal mask bounded to the screen coords.
I decided to add @Hyllian’s great xbrz to the available antialiasing methods.
While in the past I wasn’t so prone to do that due to its performance, it turns out that you can skip applying it to any uniform zone.
The check is cheap by itself and applied to all of the methods, so you can expect a big speedup not just for xbrz, but for fxaa and xbr-lv1 too.
On my Haswell, xbrz performance now is even faster than fxaa before today commits:
@ROBMARK85 I remember you were asking for something like that since years lol 
kokoko3k what a nice surprise!! Lately I had abandoned this desire, but I still regularly use your Slotmask preset for consoles and your VGA preset for Windows 98 with great satisfaction. But now that you’ve pulled this surprise out of your hat, I’m happy to also be able to enjoy several games in “remastered” mode!!! Thank you so much - your work is immense and precious. I’m going to download it from the repository right away.
Adaptive strobe has been just upgraded, see here.
As a reminder, albeit its configuration parameters do show up in the shader configuration, the effect is disabled by default in koko-aio, and has to be enabled through config/config-user-optional.txt with:
#define DO_ADPT_STROBE







