Koko-aio shader discussions and updates

Since there were unrelated things to fix in main, I just merged it now before fixing them, to prevent possible oversight merge errors.

If in need, please test main branch from now on.

3 Likes

It seems the res-switch glitch feature is not working with glcore, but it works fine with vulkan.

1 Like

Uhm, working fine here with both.

What setup are you facing this on? (rom,core,preset, savestate to the point it should happen, anything else useful?)

And if possible, since when?

Any rom, any core. The way I quickly test it is by enabling fast-forward, on vulkan the glitch triggers, on glcore nothing happens.

But there may be a problem with RetroArch itself, because I’ve been getting driver-specific issues here and there. I’ll let you know if I figure it out.

It’s vulkan acting wrong then, I confirm, but that’s a retroarch bug.

1 Like

Hi @kokoko3k

In the latest versions, and now using the latest version from GitHub, I’m getting the following error:

[INFO] [Slang] Optional include not found "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\config\config-user-optional.txt".
[INFO] [Slang] Compiling shader: "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\shaders-ng\colortools_and_ntsc_pass.slang".
[INFO] [Slang] Optional include not found "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\config\config-user-optional.txt".
[ERROR] [Slang] Texture name 'avglum_passFeedback' not found in semantic map, Probably the texture name or pass alias is not defined in the preset (Non-semantic textures not supported yet)
[ERROR] [Slang] Failed to reflect SPIR-V. Resource usage is inconsistent with expectations.
[INFO] [Shaders] Applying shader: "null".
[INFO] [Slang] Optional include not found "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\config\config-user-optional.txt".
[INFO] [Slang] Compiling shader: "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\shaders-ng\colortools_and_ntsc_pass.slang".
[INFO] [Slang] Optional include not found "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\config\config-user-optional.txt".
[ERROR] [Slang] Texture name 'avglum_passFeedback' not found in semantic map, Probably the texture name or pass alias is not defined in the preset (Non-semantic textures not supported yet)
[ERROR] [Slang] Failed to reflect SPIR-V. Resource usage is inconsistent with expectations.
[INFO] [Shaders] Applying shader: "null".
[INFO] [Shaders] Applying shader: "null".
[INFO] [Slang] Optional include not found "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\config\config-user-optional.txt".
[INFO] [Slang] Compiling shader: "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\shaders-ng\colortools_and_ntsc_pass.slang".
[INFO] [Slang] Optional include not found "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\config\config-user-optional.txt".
[ERROR] [Slang] Texture name 'avglum_passFeedback' not found in semantic map, Probably the texture name or pass alias is not defined in the preset (Non-semantic textures not supported yet)
[ERROR] [Slang] Failed to reflect SPIR-V. Resource usage is inconsistent with expectations.
[INFO] [Shaders] Applying shader: "null".
[INFO] [Shaders] Applying shader: "null".
[INFO] [Slang] Optional include not found "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\config\config-user-optional.txt".
[INFO] [Slang] Compiling shader: "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\shaders-ng\colortools_and_ntsc_pass.slang".
[INFO] [Slang] Optional include not found "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\config\config-user-optional.txt".
[ERROR] [Slang] Texture name 'avglum_passFeedback' not found in semantic map, Probably the texture name or pass alias is not defined in the preset (Non-semantic textures not supported yet)
[ERROR] [Slang] Failed to reflect SPIR-V. Resource usage is inconsistent with expectations.
[INFO] [Shaders] Applying shader: "null".
[INFO] [Shaders] Applying shader: "null".
[INFO] [Slang] Compiling shader: "D:\Games\RetroArch\shaders\shaders_slang\bezel\koko-aio\shaders-ng\colortools_and_ntsc_pass.slang".
[ERROR] [Slang] Texture name 'avglum_passFeedback' not found in semantic map, Probably the texture name or pass alias is not defined in the preset (Non-semantic textures not supported yet)
[ERROR] [Slang] Failed to reflect SPIR-V. Resource usage is inconsistent with expectations.
[INFO] [Shaders] Applying shader: "null".
[INFO] [Shaders] Applying shader: "null".

Werid, works here.

Does this happen with the shipped presets ot something you make out of them in the past?

If the latter, can you post it? It may be a full preset (it’s always better to use simple presets) being incompatible with some late changes in the main code.

edit: are you using direct3d?

1 Like

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.

1 Like

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 ;-).

5 Likes

@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.

1 Like

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)
8 Likes

I’m curious about this. Do you mean an extra graphics layer with the blend mode set to multiply?

2 Likes

Yes and no, the backdrop blend mode itself can be changed, see here.

3 Likes

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…

1 Like

Ok, thanks. I’ll check it out soon :slight_smile:

The horizontal presets look strange. Maybe they’re not designed for Citra core?

If you want an horizontal layout, and core is missing a crystall ball, you have to tell him :slight_smile: :