Koko-aio shader discussions and updates

Done:

…However I made it sharper by moving “Glow to Blur” bias all the way to the “left”.

Ofc you can till reference it and set IN_GLOW_BIAS = “1.0” for the previous sharpness.

7 Likes

Just made new LCD presets for Atari Lynx, you’ll find them in the usual handhelds folder:

Also GameGear LCD screen has been modified to be less contrasted and with less phosphor glows (just like the Lynx, but with more ghosting)

7 Likes

Hi Duimon and thank you for your help :pray: This evening when I checked Content Downloader I think I saw kokoko-aio shaders and your koko-aio pack in the list of downloads. However after updating the kokoko-aio shaders (I had installed these previously), all I see now is one set of shaders. “Koko-AIO shader with reflective screen borders and Duimon bezels”. “bezels-koko-aoi-immersive”. Please can you guide me to your GB2Player preset?

I don’t have Batocera installed anywhere but here is what I see in Retrobat.

If you select the shader set in the gb2player shader settings, it should just work.

All I see in Batocera is this (see photo). Would there be any way to install / copy your files across manually? How are these files published and where is the repository?

1 Like

That is a pack that kokoko put together using some overlays I have in a repository. I later released my own, much more complete koko-aio pack.

Which version of Batocera are you using? Retrobat is a fork of Batocera and I don’t believe the developers add anything to the content downloader.

If my koko pack is available on Retrobat it should be on Batocera also.

In any case, you can extract my pack to your system, but you will need to be pretty fluent in Batocera to get anything to work. The easiest way is to create your own shader set YML and set the paths to the shader of your choice. You will also need to have the koko shaders installed in the correct path relative to my pack. (The alternative requires learning about my boilerplate and doing a search and replace on my pack to change paths.)

I can’t give you much more advice, (I’m not exactly fluent in Batocera.) but there should be some info on the Batocera wiki, or you could ask in the Batocera Discord.

Still, although I’m not fluent, I could get it done using the information available. It’s just much easier in a system that is completely writable.

You can get repository info on my Koko-aio pack thread.

1 Like

Hi @kokoko3k

is it possible to add some option to tell the crt-black_crush-koko that the resolution is upscaled so it will not use more resources?

Generally, being a standalone filter/pass, either you prepend it and run it at 1xcore(x upscaled) resolution, or you append it and run it at 1xscreen resolution.

Assuming core upscaled <= final screen resolution, prepending should be the lighter choice.

Code is simple and I can’t see how it would be more optimized; the real gain would come from its integration into an existing pass, because having lot of passes doing each one a single thing wastes precious video memory and (to a lesser extent) some gpu processing power too, I told you that from the beginning.

There were something else on your mind ? Some other solutions I’m overlooking, maybe?

IIRC, it’s so slow with 4x of ps1 bios (which is 480 * 4), dont know if it possible to make the feedback (avglum) pass work in less or fixed resolution

Yes, but it would require a modification of the shader.

core 4x* -> something at 4x** -> something other at 4x*** -> avglum**** pass downscale at 1/20x -> black crush*****.

problem is that as soon as avglum downscales, black crush***** cannot operate on 4x anymore without knowing the name (alias) of the pass that does “something other at 4x***”, because retroarch only provides aliases for “source” (the previous pass, avglum****) and “original” (core 4x*); it does not provide an alias for the “previous of the previous” pass.

So the shader has to be reworked specifically for such specific scenario.

no problem, I think that mean adding stock pass in crt-black_crush-koko as the first pass

Nope, even the very first pass will get a 4x core resolution.

I know, I mean

  • first pass as stock pass with some name (alias)
  • avglum pass with fixed or less resolution
  • black crush which will use both passes

aside from that, dont know if it possible to do the math part only of avglum with less resolution, if that possible then maybe the stock pass will not be needed

1 Like

technically possible, yes.

1 Like

Release v1.9.85 is up on github and should be available via online updater soon.

Changelog over 1.9.75:

New

  • Implemented halation effect
  • Implement a soft limiter for bloom colors this will allow to push dark to mid range colors while mitigating bright clipping
  • new “crt-regale” preset
  • Add Dots-sharp preset
  • Antiburn: use #define ANTIBURN_COMPLETE to apply to the whole screen.
  • Add Atari Lynx Presets
  • Gameboy DMG now has a specific base preset needed to deal with black frame around the dotmatrix grid.

Removed

  • Bloom: Remove eye adaption strength delay
  • Remove mask helper stuff and maxmask presets.

Change

  • Dehive: use “powed” phosphor height because it is more accurate.
  • presets tune
  • Bloom: Improvement: Modulate bloom over bright area at pixel level
  • More convincing, and probably accurate, dot crawl.
  • Reordered parameters list
  • improve adaptive black feature, now “black crush”.
  • Allow X/Y shifting when using integer scaling
  • Allow diorama offset till +/- 2.0
  • Phopshor persistance: allow to set different decay times for r,g,b

FIX

  • Increase bezel frame LoD when using TILT to avoid aliasing on straight bright lines.
  • Vignette: Apply tilt perspective (pillowing is still buggy, do not use pillow shape with tilt)
  • Fake transparencies(/waterfalls): Always use blur despite glow to blur bias setting
  • fix PSP “fast” preset
  • Correctly handle rotated content while dealing with foreground and background images alignment
  • Doublescan: treat content as low resolution when “Consider Hi-Resolution above # lines” is 0.0
  • move pixel persistance after real interlacing
  • Fix wrong integer scaling logic
  • phosphor persistance: scale it by the input fps.
  • CVBS bandwidth limited chroma and artifacts: use correct mat3 mul order (DoH!)

Performance

  • Slightly optimize cvbs chroma bleed
  • dot crawl: just use one colorspace
  • small speedup to warpedglow
9 Likes

This issue may not be koko-aio’s fault, but I’m getting glitches with phosphor persistence enabled on ParaLLEl N64 core:

I tested both glcore and vulkan (both glitch out). However, this issue does not happen with Mupen64Plus-Next.

Indeed, seems a core specific issue; not much to be done, unfortunately.

The latest version seems to crash on Windows 11, Final Burn Neo core, and gl core video driver. I’ve tried various presets like tv_pal_my_old and the same thing happens.

I don’t and hopefully will never use Windows 11. Could identify the offending commit or provide meaningful logs?

Hi kokoko3k,

any news?