summaryrefslogtreecommitdiffstatshomepage
path: root/bgfx
diff options
context:
space:
mode:
author therealmogminer@gmail.com <therealmogminer@gmail.com>2016-04-25 01:05:19 +0200
committer therealmogminer@gmail.com <therealmogminer@gmail.com>2016-04-25 02:12:59 +0200
commitea6bc4d8ce5734b9167fde917d5e0c8d406925ac (patch)
tree994564e0cdf70f8a7ff3da171f94cb0b66a306f0 /bgfx
parent6d0dfc548c03060833366731e39f761a9216927c (diff)
bgfx: Ported xBR shaders from libretro. [Ryan Holtz, Hyllian]
Diffstat (limited to 'bgfx')
-rw-r--r--bgfx/chains/default.json11
-rw-r--r--bgfx/chains/eagle/super-eagle.json (renamed from bgfx/chains/supereagle.json)2
-rw-r--r--bgfx/chains/hqx/hq2x.json (renamed from bgfx/chains/hq2x.json)2
-rw-r--r--bgfx/chains/hqx/hq3x.json (renamed from bgfx/chains/hq3x.json)2
-rw-r--r--bgfx/chains/hqx/hq4x.json (renamed from bgfx/chains/hq4x.json)2
-rw-r--r--bgfx/chains/unfiltered.json15
-rw-r--r--bgfx/chains/xbr/super-2xbr-3d-2p.json (renamed from bgfx/chains/super-2xbr-3d-2p.json)0
-rw-r--r--bgfx/chains/xbr/super-2xbr-3d-3p-smoother.json (renamed from bgfx/chains/super-2xbr-3d-3p-smoother.json)0
-rw-r--r--bgfx/chains/xbr/super-4xbr-3d-4p.json (renamed from bgfx/chains/super-4xbr-3d-4p.json)0
-rw-r--r--bgfx/chains/xbr/super-4xbr-3d-6p-smoother.json (renamed from bgfx/chains/super-4xbr-3d-6p-smoother.json)0
-rw-r--r--bgfx/chains/xbr/super-xbr-2p.json (renamed from bgfx/chains/super-xbr-2p.json)0
-rw-r--r--bgfx/chains/xbr/super-xbr-3p-smoother.json (renamed from bgfx/chains/super-xbr-3p-smoother.json)0
-rw-r--r--bgfx/chains/xbr/super-xbr-6p.json (renamed from bgfx/chains/super-xbr-6p.json)0
-rw-r--r--bgfx/chains/xbr/super-xbr-deposterize.json (renamed from bgfx/chains/super-xbr-deposterize.json)0
-rw-r--r--bgfx/chains/xbr/super-xbr-fast-3p.json (renamed from bgfx/chains/super-xbr-fast-3p.json)0
-rw-r--r--bgfx/chains/xbr/super-xbr-fast-6p.json (renamed from bgfx/chains/super-xbr-fast-6p.json)0
-rw-r--r--bgfx/chains/xbr/xbr-hybrid.json48
-rw-r--r--bgfx/chains/xbr/xbr-lv1-noblend.json42
-rw-r--r--bgfx/chains/xbr/xbr-lv2-3d.json42
-rw-r--r--bgfx/chains/xbr/xbr-lv2-accuracy-multipass.json59
-rw-r--r--bgfx/chains/xbr/xbr-lv2-accuracy-smart-blur.json47
-rw-r--r--bgfx/chains/xbr/xbr-lv2-deposterize.json41
-rw-r--r--bgfx/chains/xbr/xbr-lv2-fast.json57
-rw-r--r--bgfx/chains/xbr/xbr-lv2-multipass.json60
-rw-r--r--bgfx/chains/xbr/xbr-lv2-noblend.json57
-rw-r--r--bgfx/chains/xbr/xbr-lv2.json57
-rw-r--r--bgfx/chains/xbr/xbr-lv3-multipass.json60
-rw-r--r--bgfx/chains/xbr/xbr-lv3-noblend.json42
-rw-r--r--bgfx/chains/xbr/xbr-lv3.json42
-rw-r--r--bgfx/chains/xbr/xbr-mlv4-dilation.json98
-rw-r--r--bgfx/chains/xbr/xbr-mlv4-multipass.json83
-rw-r--r--bgfx/effects/blurs/smart-blur.json55
-rw-r--r--bgfx/effects/eagle/supereagle.json (renamed from bgfx/effects/supereagle/supereagle.json)4
-rw-r--r--bgfx/effects/hqx/hq2x.json (renamed from bgfx/effects/hq2x/hq2x.json)4
-rw-r--r--bgfx/effects/hqx/hq3x.json (renamed from bgfx/effects/hq3x/hq3x.json)4
-rw-r--r--bgfx/effects/hqx/hq4x.json (renamed from bgfx/effects/hq4x/hq4x.json)4
-rw-r--r--bgfx/effects/supereagle/blit.json121
-rw-r--r--bgfx/effects/warp/dilation-horizontal-fast.json54
-rw-r--r--bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-sharp.json35
-rw-r--r--bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v2-gamma.json35
-rw-r--r--bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v2.json35
-rw-r--r--bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4-gamma.json35
-rw-r--r--bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4.json35
-rw-r--r--bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4b.json35
-rw-r--r--bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v5-gamma.json35
-rw-r--r--bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid.json35
-rw-r--r--bgfx/effects/xbr/xbr-lv1-noblend.json56
-rw-r--r--bgfx/effects/xbr/xbr-lv2-3d.json60
-rw-r--r--bgfx/effects/xbr/xbr-lv2-fast.json58
-rw-r--r--bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-a-pass0.json54
-rw-r--r--bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass0.json56
-rw-r--r--bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass1.json57
-rw-r--r--bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-b-pass0.json54
-rw-r--r--bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-c-pass0.json54
-rw-r--r--bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-d-pass0.json54
-rw-r--r--bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-noblend-pass1.json56
-rw-r--r--bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-pass1.json57
-rw-r--r--bgfx/effects/xbr/xbr-lv2-noblend.json56
-rw-r--r--bgfx/effects/xbr/xbr-lv2.json58
-rw-r--r--bgfx/effects/xbr/xbr-lv3-multipass/xbr-lv3-pass0.json54
-rw-r--r--bgfx/effects/xbr/xbr-lv3-multipass/xbr-lv3-pass1.json57
-rw-r--r--bgfx/effects/xbr/xbr-lv3-noblend.json58
-rw-r--r--bgfx/effects/xbr/xbr-lv3.json62
-rw-r--r--bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass1.json54
-rw-r--r--bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass2.json54
-rw-r--r--bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass3.json55
-rw-r--r--bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass4.json56
-rw-r--r--bgfx/shaders/dx11/chains/blurs/fs_smart-blur.binbin0 -> 2281 bytes
-rw-r--r--bgfx/shaders/dx11/chains/blurs/vs_smart-blur.bin (renamed from bgfx/shaders/dx11/chains/hq2x/vs_hq2x.bin)bin909 -> 909 bytes
-rw-r--r--bgfx/shaders/dx11/chains/eagle/fs_eagle.bin (renamed from bgfx/shaders/dx11/chains/supereagle/fs_eagle.bin)bin5882 -> 5882 bytes
-rw-r--r--bgfx/shaders/dx11/chains/eagle/vs_eagle.bin (renamed from bgfx/shaders/dx11/chains/supereagle/vs_eagle.bin)bin1713 -> 1713 bytes
-rw-r--r--bgfx/shaders/dx11/chains/hqx/fs_hq2x.bin (renamed from bgfx/shaders/dx11/chains/hq2x/fs_hq2x.bin)bin6600 -> 6600 bytes
-rw-r--r--bgfx/shaders/dx11/chains/hqx/fs_hq3x.bin (renamed from bgfx/shaders/dx11/chains/hq3x/fs_hq3x.bin)bin6612 -> 6612 bytes
-rw-r--r--bgfx/shaders/dx11/chains/hqx/fs_hq4x.bin (renamed from bgfx/shaders/dx11/chains/hq4x/fs_hq4x.bin)bin6612 -> 6612 bytes
-rw-r--r--bgfx/shaders/dx11/chains/hqx/vs_hq2x.bin (renamed from bgfx/shaders/dx11/chains/hq3x/vs_hq3x.bin)bin909 -> 909 bytes
-rw-r--r--bgfx/shaders/dx11/chains/hqx/vs_hq3x.bin (renamed from bgfx/shaders/dx11/chains/hq4x/vs_hq4x.bin)bin909 -> 909 bytes
-rw-r--r--bgfx/shaders/dx11/chains/hqx/vs_hq4x.binbin0 -> 909 bytes
-rw-r--r--bgfx/shaders/dx11/chains/super-4xbr-3d-4p/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/super-4xbr-3d-4p/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/super-4xbr-3d-6p-smoother/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/super-4xbr-3d-6p-smoother/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/supereagle/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/supereagle/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/warp/fs_dilation-horizontal-fast.binbin0 -> 588 bytes
-rw-r--r--bgfx/shaders/dx11/chains/warp/vs_dilation-horizontal-fast.binbin0 -> 705 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-hybrid/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-hybrid/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv1-noblend/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv1-noblend/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-3d/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-3d/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-accuracy-multipass/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-accuracy-multipass/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-accuracy-smart-blur/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-accuracy-smart-blur/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-deposterize/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-deposterize/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-fast/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-fast/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-multipass/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-multipass/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-noblend/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv2-noblend/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv3-multipass/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv3-multipass/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv3-noblend/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv3-noblend/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv3/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-lv3/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-mlv4-dilation/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-mlv4-dilation/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-mlv4-multipass/fs_blit.binbin396 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr-mlv4-multipass/vs_blit.binbin575 -> 0 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/fs_xbr-lv2-noblend.binbin0 -> 5120 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/fs_xbr-lv3-noblend.binbin0 -> 6332 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/fs_xbr-lv3.binbin0 -> 8481 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/vs_xbr-lv2-noblend.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/vs_xbr-lv3-noblend.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/vs_xbr-lv3.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.binbin0 -> 11017 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.binbin0 -> 9249 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.binbin0 -> 8969 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.binbin0 -> 9293 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.binbin0 -> 8853 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.binbin0 -> 8433 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.binbin0 -> 9553 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.binbin0 -> 11465 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.binbin0 -> 3587 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.binbin0 -> 11735 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.binbin0 -> 4839 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.binbin0 -> 4143 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.binbin0 -> 4419 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.binbin0 -> 4531 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.binbin0 -> 3084 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.binbin0 -> 3714 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.binbin0 -> 829 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.binbin0 -> 829 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.binbin0 -> 829 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.binbin0 -> 9331 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.binbin0 -> 5449 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.binbin0 -> 893 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.binbin0 -> 13896 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.binbin0 -> 6163 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.binbin0 -> 4519 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.binbin0 -> 7044 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.binbin0 -> 673 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.binbin0 -> 1337 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.binbin0 -> 705 bytes
-rw-r--r--bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.binbin0 -> 705 bytes
-rw-r--r--bgfx/shaders/dx9/chains/blurs/fs_smart-blur.binbin0 -> 1366 bytes
-rw-r--r--bgfx/shaders/dx9/chains/blurs/vs_smart-blur.bin (renamed from bgfx/shaders/dx9/chains/hq2x/vs_hq2x.bin)bin576 -> 576 bytes
-rw-r--r--bgfx/shaders/dx9/chains/eagle/fs_eagle.bin (renamed from bgfx/shaders/dx9/chains/supereagle/fs_eagle.bin)bin3139 -> 3139 bytes
-rw-r--r--bgfx/shaders/dx9/chains/eagle/vs_eagle.bin (renamed from bgfx/shaders/dx9/chains/supereagle/vs_eagle.bin)bin908 -> 908 bytes
-rw-r--r--bgfx/shaders/dx9/chains/hqx/fs_hq2x.bin (renamed from bgfx/shaders/dx9/chains/hq2x/fs_hq2x.bin)bin3709 -> 3709 bytes
-rw-r--r--bgfx/shaders/dx9/chains/hqx/fs_hq3x.bin (renamed from bgfx/shaders/dx9/chains/hq3x/fs_hq3x.bin)bin3733 -> 3733 bytes
-rw-r--r--bgfx/shaders/dx9/chains/hqx/fs_hq4x.bin (renamed from bgfx/shaders/dx9/chains/hq4x/fs_hq4x.bin)bin3709 -> 3709 bytes
-rw-r--r--bgfx/shaders/dx9/chains/hqx/vs_hq2x.bin (renamed from bgfx/shaders/dx9/chains/hq3x/vs_hq3x.bin)bin576 -> 576 bytes
-rw-r--r--bgfx/shaders/dx9/chains/hqx/vs_hq3x.bin (renamed from bgfx/shaders/dx9/chains/hq4x/vs_hq4x.bin)bin576 -> 576 bytes
-rw-r--r--bgfx/shaders/dx9/chains/hqx/vs_hq4x.binbin0 -> 576 bytes
-rw-r--r--bgfx/shaders/dx9/chains/super-4xbr-3d-4p/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/super-4xbr-3d-4p/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/super-4xbr-3d-6p-smoother/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/super-4xbr-3d-6p-smoother/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/supereagle/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/supereagle/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/warp/fs_dilation-horizontal-fast.binbin0 -> 357 bytes
-rw-r--r--bgfx/shaders/dx9/chains/warp/vs_dilation-horizontal-fast.binbin0 -> 468 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-hybrid/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-hybrid/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv1-noblend/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv1-noblend/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-3d/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-3d/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-accuracy-multipass/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-accuracy-multipass/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-accuracy-smart-blur/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-accuracy-smart-blur/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-deposterize/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-deposterize/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-fast/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-fast/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-multipass/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-multipass/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-noblend/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv2-noblend/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv3-multipass/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv3-multipass/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv3-noblend/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv3-noblend/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv3/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-lv3/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-mlv4-dilation/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-mlv4-dilation/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-mlv4-multipass/fs_blit.binbin241 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr-mlv4-multipass/vs_blit.binbin330 -> 0 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/fs_xbr-lv2-noblend.binbin0 -> 2537 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/fs_xbr-lv3-noblend.binbin0 -> 3177 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/fs_xbr-lv3.binbin0 -> 4406 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-noblend.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3-noblend.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.binbin0 -> 4954 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.binbin0 -> 4874 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.binbin0 -> 4626 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.binbin0 -> 5026 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.binbin0 -> 4562 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.binbin0 -> 4402 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.binbin0 -> 5310 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.binbin0 -> 5074 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.binbin0 -> 1880 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.binbin0 -> 6096 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.binbin0 -> 3044 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.binbin0 -> 2044 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.binbin0 -> 2156 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.binbin0 -> 2252 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.binbin0 -> 1901 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.binbin0 -> 2283 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.binbin0 -> 532 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.binbin0 -> 532 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.binbin0 -> 532 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.binbin0 -> 4448 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.binbin0 -> 3882 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.binbin0 -> 604 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.binbin0 -> 6769 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.binbin0 -> 3676 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.binbin0 -> 3512 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.binbin0 -> 4677 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.binbin0 -> 432 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.binbin0 -> 780 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.binbin0 -> 468 bytes
-rw-r--r--bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.binbin0 -> 468 bytes
-rw-r--r--bgfx/shaders/gles/chains/blurs/fs_smart-blur.binbin0 -> 3295 bytes
-rw-r--r--bgfx/shaders/gles/chains/blurs/vs_smart-blur.binbin0 -> 1178 bytes
-rw-r--r--bgfx/shaders/gles/chains/eagle/fs_eagle.bin (renamed from bgfx/shaders/gles/chains/supereagle/fs_eagle.bin)bin6946 -> 6946 bytes
-rw-r--r--bgfx/shaders/gles/chains/eagle/vs_eagle.bin (renamed from bgfx/shaders/gles/chains/supereagle/vs_eagle.bin)bin2441 -> 2441 bytes
-rw-r--r--bgfx/shaders/gles/chains/hqx/fs_hq2x.bin (renamed from bgfx/shaders/gles/chains/hq2x/fs_hq2x.bin)bin15856 -> 15856 bytes
-rw-r--r--bgfx/shaders/gles/chains/hqx/fs_hq3x.bin (renamed from bgfx/shaders/gles/chains/hq3x/fs_hq3x.bin)bin15861 -> 15861 bytes
-rw-r--r--bgfx/shaders/gles/chains/hqx/fs_hq4x.bin (renamed from bgfx/shaders/gles/chains/hq4x/fs_hq4x.bin)bin15861 -> 15861 bytes
-rw-r--r--bgfx/shaders/gles/chains/hqx/vs_hq2x.bin (renamed from bgfx/shaders/gles/chains/hq2x/vs_hq2x.bin)bin1178 -> 1178 bytes
-rw-r--r--bgfx/shaders/gles/chains/hqx/vs_hq3x.bin (renamed from bgfx/shaders/gles/chains/hq3x/vs_hq3x.bin)bin1178 -> 1178 bytes
-rw-r--r--bgfx/shaders/gles/chains/hqx/vs_hq4x.bin (renamed from bgfx/shaders/gles/chains/hq4x/vs_hq4x.bin)bin1178 -> 1178 bytes
-rw-r--r--bgfx/shaders/gles/chains/super-4xbr-3d-4p/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/super-4xbr-3d-6p-smoother/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/supereagle/fs_blit.binbin232 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/supereagle/vs_blit.binbin413 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/warp/fs_dilation-horizontal-fast.binbin0 -> 433 bytes
-rw-r--r--bgfx/shaders/gles/chains/warp/vs_dilation-horizontal-fast.bin (renamed from bgfx/shaders/gles/chains/super-4xbr-3d-6p-smoother/vs_blit.bin)bin419 -> 622 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-hybrid/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv1-noblend/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-3d/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-3d/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-accuracy-multipass/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-accuracy-multipass/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-accuracy-smart-blur/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-accuracy-smart-blur/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-deposterize/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-deposterize/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-fast/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-fast/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-multipass/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-multipass/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-noblend/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv2-noblend/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv3-multipass/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv3-multipass/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv3-noblend/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv3-noblend/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv3/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-lv3/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-mlv4-dilation/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-mlv4-dilation/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-mlv4-multipass/fs_blit.binbin238 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr-mlv4-multipass/vs_blit.binbin419 -> 0 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/fs_xbr-lv2-noblend.binbin0 -> 7137 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/fs_xbr-lv3-noblend.binbin0 -> 8802 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/fs_xbr-lv3.binbin0 -> 10312 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/vs_xbr-lv2-noblend.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/vs_xbr-lv3-noblend.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/vs_xbr-lv3.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.binbin0 -> 12234 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.binbin0 -> 10045 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.binbin0 -> 9859 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.binbin0 -> 10981 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.binbin0 -> 10715 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.binbin0 -> 10237 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.binbin0 -> 10663 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.binbin0 -> 12528 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.binbin0 -> 3517 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.binbin0 -> 26226 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.binbin0 -> 7804 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.binbin0 -> 4028 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.binbin0 -> 4252 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.binbin0 -> 4441 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.binbin0 -> 5435 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.binbin0 -> 4663 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.binbin0 -> 911 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.binbin0 -> 911 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.binbin0 -> 911 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.binbin0 -> 12646 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.binbin0 -> 7085 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.binbin0 -> 971 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.binbin0 -> 16672 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.binbin0 -> 10740 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.binbin0 -> 6336 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.binbin0 -> 8035 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin (renamed from bgfx/shaders/gles/chains/xbr-lv1-noblend/vs_blit.bin)bin419 -> 543 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.binbin0 -> 2087 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin (renamed from bgfx/shaders/gles/chains/super-4xbr-3d-4p/vs_blit.bin)bin419 -> 696 bytes
-rw-r--r--bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin (renamed from bgfx/shaders/gles/chains/xbr-hybrid/vs_blit.bin)bin419 -> 696 bytes
-rw-r--r--bgfx/shaders/glsl/chains/blurs/fs_smart-blur.binbin0 -> 3176 bytes
-rw-r--r--bgfx/shaders/glsl/chains/blurs/vs_smart-blur.binbin0 -> 1082 bytes
-rw-r--r--bgfx/shaders/glsl/chains/eagle/fs_eagle.bin (renamed from bgfx/shaders/glsl/chains/supereagle/fs_eagle.bin)bin6668 -> 6668 bytes
-rw-r--r--bgfx/shaders/glsl/chains/eagle/vs_eagle.bin (renamed from bgfx/shaders/glsl/chains/supereagle/vs_eagle.bin)bin2249 -> 2249 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hqx/fs_hq2x.bin (renamed from bgfx/shaders/glsl/chains/hq2x/fs_hq2x.bin)bin15054 -> 15054 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hqx/fs_hq3x.bin (renamed from bgfx/shaders/glsl/chains/hq3x/fs_hq3x.bin)bin15059 -> 15059 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hqx/fs_hq4x.bin (renamed from bgfx/shaders/glsl/chains/hq4x/fs_hq4x.bin)bin15059 -> 15059 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hqx/vs_hq2x.bin (renamed from bgfx/shaders/glsl/chains/hq2x/vs_hq2x.bin)bin1082 -> 1082 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hqx/vs_hq3x.bin (renamed from bgfx/shaders/glsl/chains/hq3x/vs_hq3x.bin)bin1082 -> 1082 bytes
-rw-r--r--bgfx/shaders/glsl/chains/hqx/vs_hq4x.bin (renamed from bgfx/shaders/glsl/chains/hq4x/vs_hq4x.bin)bin1082 -> 1082 bytes
-rw-r--r--bgfx/shaders/glsl/chains/super-4xbr-3d-4p/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/super-4xbr-3d-6p-smoother/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/supereagle/fs_blit.binbin175 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/supereagle/vs_blit.binbin371 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/warp/fs_dilation-horizontal-fast.binbin0 -> 416 bytes
-rw-r--r--bgfx/shaders/glsl/chains/warp/vs_dilation-horizontal-fast.bin (renamed from bgfx/shaders/glsl/chains/super-4xbr-3d-6p-smoother/vs_blit.bin)bin377 -> 562 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-hybrid/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv1-noblend/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-3d/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-3d/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-accuracy-multipass/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-accuracy-multipass/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-accuracy-smart-blur/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-accuracy-smart-blur/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-deposterize/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-deposterize/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-fast/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-fast/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-multipass/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-multipass/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-noblend/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv2-noblend/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv3-multipass/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv3-multipass/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv3-noblend/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv3-noblend/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv3/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-lv3/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-mlv4-dilation/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-mlv4-dilation/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-mlv4-multipass/fs_blit.binbin181 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr-mlv4-multipass/vs_blit.binbin377 -> 0 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/fs_xbr-lv2-noblend.binbin0 -> 6880 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/fs_xbr-lv3-noblend.binbin0 -> 8509 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/fs_xbr-lv3.binbin0 -> 9927 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/vs_xbr-lv2-noblend.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/vs_xbr-lv3-noblend.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/vs_xbr-lv3.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.binbin0 -> 11959 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.binbin0 -> 9714 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.binbin0 -> 9533 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.binbin0 -> 10600 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.binbin0 -> 10344 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.binbin0 -> 9866 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.binbin0 -> 10306 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.binbin0 -> 12253 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.binbin0 -> 3354 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.binbin0 -> 24877 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.binbin0 -> 7419 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.binbin0 -> 3855 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.binbin0 -> 4079 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.binbin0 -> 4268 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.binbin0 -> 5195 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.binbin0 -> 4455 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.binbin0 -> 833 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.binbin0 -> 833 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.binbin0 -> 833 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.binbin0 -> 12220 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.binbin0 -> 6782 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.binbin0 -> 887 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.binbin0 -> 16257 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.binbin0 -> 10241 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.binbin0 -> 6079 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.binbin0 -> 7700 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin (renamed from bgfx/shaders/glsl/chains/super-4xbr-3d-4p/vs_blit.bin)bin377 -> 489 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.binbin0 -> 1937 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin (renamed from bgfx/shaders/glsl/chains/xbr-lv1-noblend/vs_blit.bin)bin377 -> 630 bytes
-rw-r--r--bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin (renamed from bgfx/shaders/glsl/chains/xbr-hybrid/vs_blit.bin)bin377 -> 630 bytes
-rw-r--r--bgfx/shaders/metal/chains/blurs/fs_smart-blur.binbin0 -> 4200 bytes
-rw-r--r--bgfx/shaders/metal/chains/blurs/vs_smart-blur.binbin0 -> 1487 bytes
-rw-r--r--bgfx/shaders/metal/chains/eagle/fs_eagle.bin (renamed from bgfx/shaders/metal/chains/supereagle/fs_eagle.bin)bin8024 -> 8024 bytes
-rw-r--r--bgfx/shaders/metal/chains/eagle/vs_eagle.bin (renamed from bgfx/shaders/metal/chains/supereagle/vs_eagle.bin)bin2820 -> 2820 bytes
-rw-r--r--bgfx/shaders/metal/chains/hqx/fs_hq2x.bin (renamed from bgfx/shaders/metal/chains/hq2x/fs_hq2x.bin)bin17344 -> 17344 bytes
-rw-r--r--bgfx/shaders/metal/chains/hqx/fs_hq3x.bin (renamed from bgfx/shaders/metal/chains/hq3x/fs_hq3x.bin)bin17349 -> 17349 bytes
-rw-r--r--bgfx/shaders/metal/chains/hqx/fs_hq4x.bin (renamed from bgfx/shaders/metal/chains/hq4x/fs_hq4x.bin)bin17349 -> 17349 bytes
-rw-r--r--bgfx/shaders/metal/chains/hqx/vs_hq2x.bin (renamed from bgfx/shaders/metal/chains/hq2x/vs_hq2x.bin)bin1487 -> 1487 bytes
-rw-r--r--bgfx/shaders/metal/chains/hqx/vs_hq3x.bin (renamed from bgfx/shaders/metal/chains/hq3x/vs_hq3x.bin)bin1487 -> 1487 bytes
-rw-r--r--bgfx/shaders/metal/chains/hqx/vs_hq4x.bin (renamed from bgfx/shaders/metal/chains/hq4x/vs_hq4x.bin)bin1487 -> 1487 bytes
-rw-r--r--bgfx/shaders/metal/chains/super-4xbr-3d-4p/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/super-4xbr-3d-6p-smoother/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/supereagle/fs_blit.binbin628 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/supereagle/vs_blit.binbin751 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/warp/fs_dilation-horizontal-fast.binbin0 -> 1058 bytes
-rw-r--r--bgfx/shaders/metal/chains/warp/vs_dilation-horizontal-fast.bin (renamed from bgfx/shaders/metal/chains/xbr-lv1-noblend/vs_blit.bin)bin757 -> 934 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-hybrid/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv1-noblend/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-3d/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-3d/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-accuracy-multipass/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-accuracy-multipass/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-accuracy-smart-blur/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-accuracy-smart-blur/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-deposterize/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-deposterize/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-fast/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-fast/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-multipass/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-multipass/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-noblend/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv2-noblend/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv3-multipass/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv3-multipass/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv3-noblend/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv3-noblend/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv3/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-lv3/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-mlv4-dilation/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-mlv4-dilation/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-mlv4-multipass/fs_blit.binbin634 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr-mlv4-multipass/vs_blit.binbin757 -> 0 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/fs_xbr-lv2-noblend.binbin0 -> 9021 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/fs_xbr-lv3-noblend.binbin0 -> 10813 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/fs_xbr-lv3.binbin0 -> 11934 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/vs_xbr-lv2-noblend.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/vs_xbr-lv3-noblend.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/vs_xbr-lv3.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.binbin0 -> 14328 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.binbin0 -> 11703 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.binbin0 -> 11482 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.binbin0 -> 12680 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.binbin0 -> 12366 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.binbin0 -> 11908 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.binbin0 -> 12353 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.binbin0 -> 14638 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.binbin0 -> 5417 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.binbin0 -> 27844 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.binbin0 -> 8913 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.binbin0 -> 5867 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.binbin0 -> 6041 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.binbin0 -> 6242 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.binbin0 -> 6381 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.binbin0 -> 5535 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.binbin0 -> 1228 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.binbin0 -> 1228 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.binbin0 -> 1228 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.binbin0 -> 14649 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.binbin0 -> 8833 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.binbin0 -> 1272 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.binbin0 -> 21489 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.binbin0 -> 13266 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.binbin0 -> 8048 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.binbin0 -> 9852 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin (renamed from bgfx/shaders/metal/chains/super-4xbr-3d-6p-smoother/vs_blit.bin)bin757 -> 857 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.binbin0 -> 2390 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin (renamed from bgfx/shaders/metal/chains/xbr-hybrid/vs_blit.bin)bin757 -> 1004 bytes
-rw-r--r--bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin (renamed from bgfx/shaders/metal/chains/super-4xbr-3d-4p/vs_blit.bin)bin757 -> 1004 bytes
535 files changed, 2426 insertions, 149 deletions
diff --git a/bgfx/chains/default.json b/bgfx/chains/default.json
index b25388c3735..d7e31536780 100644
--- a/bgfx/chains/default.json
+++ b/bgfx/chains/default.json
@@ -1,4 +1,4 @@
-{ "name": "Default Bilinear Filter",
+{ "name": "Default Nearest-Neighbor Filter",
"author": "Ryan Holtz",
"targets": [
{ "name": "temp",
@@ -8,10 +8,17 @@
],
"passes": [
{ "effect": "misc/blit",
- "name": "Final Upscale",
+ "name": "Copy To Filtered Texture",
"input": [
{ "sampler": "s_tex", "texture": "screen" }
],
+ "output": "temp"
+ },
+ { "effect": "misc/blit",
+ "name": "Final Upscale",
+ "input": [
+ { "sampler": "s_tex", "target": "temp" }
+ ],
"output": "output"
}
]
diff --git a/bgfx/chains/supereagle.json b/bgfx/chains/eagle/super-eagle.json
index cf3294e8a36..017c03b7179 100644
--- a/bgfx/chains/supereagle.json
+++ b/bgfx/chains/eagle/super-eagle.json
@@ -25,7 +25,7 @@
],
"passes": [
{
- "effect": "supereagle/supereagle",
+ "effect": "eagle/supereagle",
"name": "Super Eagle pass",
"input": [
{ "sampler": "decal", "texture": "screen" },
diff --git a/bgfx/chains/hq2x.json b/bgfx/chains/hqx/hq2x.json
index 19eb14d6113..b525942d24c 100644
--- a/bgfx/chains/hq2x.json
+++ b/bgfx/chains/hqx/hq2x.json
@@ -41,7 +41,7 @@
],
"passes": [
{
- "effect": "hq2x/hq2x",
+ "effect": "hqx/hq2x",
"name": "HQ2x pass",
"input": [
{ "sampler": "decal", "texture": "screen" },
diff --git a/bgfx/chains/hq3x.json b/bgfx/chains/hqx/hq3x.json
index 6e1f031d705..5d735f40f02 100644
--- a/bgfx/chains/hq3x.json
+++ b/bgfx/chains/hqx/hq3x.json
@@ -41,7 +41,7 @@
],
"passes": [
{
- "effect": "hq3x/hq3x",
+ "effect": "hqx/hq3x",
"name": "HQ3x pass",
"input": [
{ "sampler": "decal", "texture": "screen" },
diff --git a/bgfx/chains/hq4x.json b/bgfx/chains/hqx/hq4x.json
index 78548abfca7..499fa23ac6a 100644
--- a/bgfx/chains/hq4x.json
+++ b/bgfx/chains/hqx/hq4x.json
@@ -41,7 +41,7 @@
],
"passes": [
{
- "effect": "hq4x/hq4x",
+ "effect": "hqx/hq4x",
"name": "HQ4x pass",
"input": [
{ "sampler": "decal", "texture": "screen" },
diff --git a/bgfx/chains/unfiltered.json b/bgfx/chains/unfiltered.json
index e8983f6dd5c..6a65031f349 100644
--- a/bgfx/chains/unfiltered.json
+++ b/bgfx/chains/unfiltered.json
@@ -1,24 +1,11 @@
{ "name": "Default Nearest-Neighbor Filter",
"author": "Ryan Holtz",
- "targets": [
- { "name": "temp",
- "mode": "guest",
- "bilinear": false
- }
- ],
"passes": [
{ "effect": "misc/blit",
- "name": "Copy To Unstretched Texture",
+ "name": "Unfiltered Upscale",
"input": [
{ "sampler": "s_tex", "texture": "screen" }
],
- "output": "temp"
- },
- { "effect": "misc/blit",
- "name": "Final Upscale",
- "input": [
- { "sampler": "s_tex", "target": "temp" }
- ],
"output": "output"
}
]
diff --git a/bgfx/chains/super-2xbr-3d-2p.json b/bgfx/chains/xbr/super-2xbr-3d-2p.json
index a196141548d..a196141548d 100644
--- a/bgfx/chains/super-2xbr-3d-2p.json
+++ b/bgfx/chains/xbr/super-2xbr-3d-2p.json
diff --git a/bgfx/chains/super-2xbr-3d-3p-smoother.json b/bgfx/chains/xbr/super-2xbr-3d-3p-smoother.json
index d3e3d33d7c4..d3e3d33d7c4 100644
--- a/bgfx/chains/super-2xbr-3d-3p-smoother.json
+++ b/bgfx/chains/xbr/super-2xbr-3d-3p-smoother.json
diff --git a/bgfx/chains/super-4xbr-3d-4p.json b/bgfx/chains/xbr/super-4xbr-3d-4p.json
index 046897b62d5..046897b62d5 100644
--- a/bgfx/chains/super-4xbr-3d-4p.json
+++ b/bgfx/chains/xbr/super-4xbr-3d-4p.json
diff --git a/bgfx/chains/super-4xbr-3d-6p-smoother.json b/bgfx/chains/xbr/super-4xbr-3d-6p-smoother.json
index f3bd617258f..f3bd617258f 100644
--- a/bgfx/chains/super-4xbr-3d-6p-smoother.json
+++ b/bgfx/chains/xbr/super-4xbr-3d-6p-smoother.json
diff --git a/bgfx/chains/super-xbr-2p.json b/bgfx/chains/xbr/super-xbr-2p.json
index cdb8c3f84a5..cdb8c3f84a5 100644
--- a/bgfx/chains/super-xbr-2p.json
+++ b/bgfx/chains/xbr/super-xbr-2p.json
diff --git a/bgfx/chains/super-xbr-3p-smoother.json b/bgfx/chains/xbr/super-xbr-3p-smoother.json
index 96bda7904b6..96bda7904b6 100644
--- a/bgfx/chains/super-xbr-3p-smoother.json
+++ b/bgfx/chains/xbr/super-xbr-3p-smoother.json
diff --git a/bgfx/chains/super-xbr-6p.json b/bgfx/chains/xbr/super-xbr-6p.json
index 4f5c69369d7..4f5c69369d7 100644
--- a/bgfx/chains/super-xbr-6p.json
+++ b/bgfx/chains/xbr/super-xbr-6p.json
diff --git a/bgfx/chains/super-xbr-deposterize.json b/bgfx/chains/xbr/super-xbr-deposterize.json
index 8eac3770465..8eac3770465 100644
--- a/bgfx/chains/super-xbr-deposterize.json
+++ b/bgfx/chains/xbr/super-xbr-deposterize.json
diff --git a/bgfx/chains/super-xbr-fast-3p.json b/bgfx/chains/xbr/super-xbr-fast-3p.json
index f0d0411acc0..f0d0411acc0 100644
--- a/bgfx/chains/super-xbr-fast-3p.json
+++ b/bgfx/chains/xbr/super-xbr-fast-3p.json
diff --git a/bgfx/chains/super-xbr-fast-6p.json b/bgfx/chains/xbr/super-xbr-fast-6p.json
index 6d19e28f9b2..6d19e28f9b2 100644
--- a/bgfx/chains/super-xbr-fast-6p.json
+++ b/bgfx/chains/xbr/super-xbr-fast-6p.json
diff --git a/bgfx/chains/xbr/xbr-hybrid.json b/bgfx/chains/xbr/xbr-hybrid.json
new file mode 100644
index 00000000000..4529f829423
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-hybrid.json
@@ -0,0 +1,48 @@
+// license:GPL-2.0+
+// copyright-holders:Hyllian
+
+{
+ "name": "2xBR v3.7c+ReverseAA (squared)",
+ "author": "Hyllian",
+ "targets": [
+ {
+ "name": "pass0",
+ "mode": "guest",
+ "scale": 2,
+ "bilinear": true,
+ "doublebuffer": true
+ },
+ {
+ "name": "pass1",
+ "mode": "guest",
+ "scale": 4,
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ {
+ "effect": "xbr/xbr-hybrid/2xbr-hybrid-v4b",
+ "name": "Pass 0",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "pass0"
+ },
+ {
+ "effect": "xbr/xbr-hybrid/2xbr-hybrid-v4b",
+ "name": "Pass 1",
+ "input": [
+ { "sampler": "decal", "target": "pass0" }
+ ],
+ "output": "pass1"
+ },
+ {
+ "effect": "misc/blit",
+ "name": "Upscale",
+ "input": [
+ { "sampler": "s_tex", "target": "pass1" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv1-noblend.json b/bgfx/chains/xbr/xbr-lv1-noblend.json
new file mode 100644
index 00000000000..f5353a0b6b6
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv1-noblend.json
@@ -0,0 +1,42 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv1-noblend Shader
+
+ Copyright (C) 2011-2014 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "name": "xBR-lv1 No Blend",
+ "author": "Hyllian",
+ "passes": [
+ {
+ "effect": "xbr/xbr-lv1-noblend",
+ "name": "Main Pass",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv2-3d.json b/bgfx/chains/xbr/xbr-lv2-3d.json
new file mode 100644
index 00000000000..7403b3e5b1a
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv2-3d.json
@@ -0,0 +1,42 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv2-3d Shader
+
+ Copyright (C) 2011/2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "name": "xBR-lv2-3d",
+ "author": "Hyllian",
+ "passes": [
+ {
+ "effect": "xbr/xbr-lv2-3d",
+ "name": "Main Pass",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv2-accuracy-multipass.json b/bgfx/chains/xbr/xbr-lv2-accuracy-multipass.json
new file mode 100644
index 00000000000..772703ec9eb
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv2-accuracy-multipass.json
@@ -0,0 +1,59 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR LV2 Accuracy
+
+ Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+ Incorporates some of the ideas from SABR shader. Thanks to Joshua Street.
+*/
+
+{
+ "name": "xBR-lv2 Accuracy",
+ "author": "Hyllian",
+ "targets": [
+ {
+ "name": "internal",
+ "mode": "guest",
+ "bilinear": false,
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ {
+ "effect": "xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass0",
+ "name": "Pass 0",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "internal"
+ },
+ {
+ "effect": "xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass1",
+ "name": "Pass 1",
+ "input": [
+ { "sampler": "decal", "target": "internal" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv2-accuracy-smart-blur.json b/bgfx/chains/xbr/xbr-lv2-accuracy-smart-blur.json
new file mode 100644
index 00000000000..d37d687f7a0
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv2-accuracy-smart-blur.json
@@ -0,0 +1,47 @@
+// license:GPL-2.0+
+// copyright-holders:Hyllian
+
+{
+ "name": "xBR-lv2 Accuracy w/ Smart Blur",
+ "author": "Hyllian",
+ "targets": [
+ {
+ "name": "internal",
+ "mode": "guest",
+ "bilinear": false,
+ "doublebuffer": true
+ },
+ {
+ "name": "native",
+ "mode": "native",
+ "bilinear": true,
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ {
+ "effect": "xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass0",
+ "name": "Pass 0",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "internal"
+ },
+ {
+ "effect": "xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass1",
+ "name": "Pass 1",
+ "input": [
+ { "sampler": "decal", "target": "internal" }
+ ],
+ "output": "native"
+ },
+ {
+ "effect": "blurs/smart-blur",
+ "name": "Blur Pass",
+ "input": [
+ { "sampler": "s_p", "target": "native" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv2-deposterize.json b/bgfx/chains/xbr/xbr-lv2-deposterize.json
new file mode 100644
index 00000000000..38b6fabd501
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv2-deposterize.json
@@ -0,0 +1,41 @@
+// license:GPL-2.0+
+// copyright-holders:Hyllian
+
+{
+ "name": "xBR-lv2 w/ Deposterize",
+ "author": "Hyllian",
+ "targets": [
+ {
+ "name": "deposterize",
+ "mode": "guest",
+ "bilinear": false,
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ {
+ "effect": "misc/deposterize-pass0",
+ "name": "Deposterize, Pass 0",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "deposterize"
+ },
+ {
+ "effect": "misc/deposterize-pass1",
+ "name": "Deposterize, Pass 1",
+ "input": [
+ { "sampler": "decal", "target": "deposterize" }
+ ],
+ "output": "deposterize"
+ },
+ {
+ "effect": "xbr/xbr-lv2",
+ "name": "xBR LV2 pass",
+ "input": [
+ { "sampler": "decal", "target": "deposterize" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv2-fast.json b/bgfx/chains/xbr/xbr-lv2-fast.json
new file mode 100644
index 00000000000..b3b3a1e5141
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv2-fast.json
@@ -0,0 +1,57 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv2-fast Shader
+
+ Copyright (C) 2011/2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "name": "xBR-lv2 Fast",
+ "author": "Hyllian",
+ "targets": [
+ {
+ "name": "internal",
+ "mode": "guest",
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ {
+ "effect": "xbr/xbr-lv2-fast",
+ "name": "Main Pass",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "internal"
+ },
+ {
+ "effect": "misc/blit",
+ "name": "Upscale",
+ "input": [
+ { "sampler": "s_tex", "target": "internal" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv2-multipass.json b/bgfx/chains/xbr/xbr-lv2-multipass.json
new file mode 100644
index 00000000000..8876bbdde9b
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv2-multipass.json
@@ -0,0 +1,60 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR LV2 C (squared) - pass0 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+
+ Incorporates some of the ideas from SABR shader. Thanks to Joshua Street.
+*/
+
+{
+ "name": "xBR-lv2 Multipass",
+ "author": "Hyllian",
+ "targets": [
+ {
+ "name": "internal",
+ "mode": "guest",
+ "bilinear": false,
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ {
+ "effect": "xbr/xbr-lv2-multipass/xbr-lv2-c-pass0",
+ "name": "Pass 0",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "internal"
+ },
+ {
+ "effect": "xbr/xbr-lv2-multipass/xbr-lv2-pass1",
+ "name": "Pass 1",
+ "input": [
+ { "sampler": "decal", "target": "internal" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv2-noblend.json b/bgfx/chains/xbr/xbr-lv2-noblend.json
new file mode 100644
index 00000000000..6d8a70d9351
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv2-noblend.json
@@ -0,0 +1,57 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv2-noblend Shader
+
+ Copyright (C) 2011/2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "name": "xBR-lv2 No Blend",
+ "author": "Hyllian",
+ "targets": [
+ {
+ "name": "internal",
+ "mode": "guest",
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ {
+ "effect": "xbr/xbr-lv2-noblend",
+ "name": "Main Pass",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "internal"
+ },
+ {
+ "effect": "misc/blit",
+ "name": "Upscale",
+ "input": [
+ { "sampler": "s_tex", "target": "internal" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv2.json b/bgfx/chains/xbr/xbr-lv2.json
new file mode 100644
index 00000000000..0b821dd82a3
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv2.json
@@ -0,0 +1,57 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv2 Shader
+
+ Copyright (C) 2011/2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "name": "xBR-lv2",
+ "author": "Hyllian",
+ "targets": [
+ {
+ "name": "internal",
+ "mode": "guest",
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ {
+ "effect": "xbr/xbr-lv2",
+ "name": "Main Pass",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "internal"
+ },
+ {
+ "effect": "misc/blit",
+ "name": "Upscale",
+ "input": [
+ { "sampler": "s_tex", "target": "internal" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv3-multipass.json b/bgfx/chains/xbr/xbr-lv3-multipass.json
new file mode 100644
index 00000000000..801ffff34da
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv3-multipass.json
@@ -0,0 +1,60 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR level 3 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+
+ Incorporates some of the ideas from SABR shader. Thanks to Joshua Street.
+*/
+
+{
+ "name": "xBR-lv3 Multipass",
+ "author": "Hyllian",
+ "targets": [
+ {
+ "name": "internal",
+ "mode": "guest",
+ "bilinear": false,
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ {
+ "effect": "xbr/xbr-lv3-multipass/xbr-lv3-pass0",
+ "name": "Pass 0",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "internal"
+ },
+ {
+ "effect": "xbr/xbr-lv3-multipass/xbr-lv3-pass1",
+ "name": "Pass 1",
+ "input": [
+ { "sampler": "decal", "target": "internal" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv3-noblend.json b/bgfx/chains/xbr/xbr-lv3-noblend.json
new file mode 100644
index 00000000000..eedfab7217d
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv3-noblend.json
@@ -0,0 +1,42 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv3-noblend - Shader
+
+ Copyright (C) 2011/2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "name": "xBR-lv3 No Blend",
+ "author": "Hyllian",
+ "passes": [
+ {
+ "effect": "xbr/xbr-lv3-noblend",
+ "name": "Main Pass",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-lv3.json b/bgfx/chains/xbr/xbr-lv3.json
new file mode 100644
index 00000000000..6d6046e9712
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-lv3.json
@@ -0,0 +1,42 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv3 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "name": "xBR-lv3",
+ "author": "Hyllian",
+ "passes": [
+ {
+ "effect": "xbr/xbr-lv3",
+ "name": "Main Pass",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-mlv4-dilation.json b/bgfx/chains/xbr/xbr-mlv4-dilation.json
new file mode 100644
index 00000000000..a3dfd50e912
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-mlv4-dilation.json
@@ -0,0 +1,98 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR MultiLevel4 Shader + Dilation
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+
+ Incorporates some of the ideas from SABR shader. Thanks to Joshua Street.
+*/
+
+{
+ "name": "xBR-mlv4 Multipass + Dilation",
+ "author": "Hyllian",
+ "targets": [
+ {
+ "name": "pass12",
+ "mode": "guest",
+ "bilinear": false,
+ "doublebuffer": true
+ },
+ {
+ "name": "pass3",
+ "mode": "guest",
+ "bilinear": false,
+ "scale": 2,
+ "doublebuffer": true
+ },
+ {
+ "name": "pass4",
+ "mode": "guest",
+ "bilinear": false,
+ "scale": 3,
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ {
+ "effect": "xbr/xbr-mlv4-multipass/xbr-mlv4-pass1",
+ "name": "Pass 1",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "pass12"
+ },
+ {
+ "effect": "xbr/xbr-mlv4-multipass/xbr-mlv4-pass2",
+ "name": "Pass 2",
+ "input": [
+ { "sampler": "decal", "target": "pass12" }
+ ],
+ "output": "pass12"
+ },
+ {
+ "effect": "xbr/xbr-mlv4-multipass/xbr-mlv4-pass3",
+ "name": "Pass 3",
+ "input": [
+ { "sampler": "decal", "target": "pass12" }
+ ],
+ "output": "pass3"
+ },
+ {
+ "effect": "xbr/xbr-mlv4-multipass/xbr-mlv4-pass4",
+ "name": "Pass 4",
+ "input": [
+ { "sampler": "decal", "target": "pass3" }
+ ],
+ "output": "pass4"
+ },
+ {
+ "effect": "warp/dilation-horizontal-fast",
+ "name": "Horizontal Dilation",
+ "input": [
+ { "sampler": "decal", "target": "pass4" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/chains/xbr/xbr-mlv4-multipass.json b/bgfx/chains/xbr/xbr-mlv4-multipass.json
new file mode 100644
index 00000000000..decb4db3ec2
--- /dev/null
+++ b/bgfx/chains/xbr/xbr-mlv4-multipass.json
@@ -0,0 +1,83 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR MultiLevel4 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+
+ Incorporates some of the ideas from SABR shader. Thanks to Joshua Street.
+*/
+
+{
+ "name": "xBR-mlv4 Multipass",
+ "author": "Hyllian",
+ "targets": [
+ {
+ "name": "pass12",
+ "mode": "guest",
+ "bilinear": false,
+ "doublebuffer": true
+ },
+ {
+ "name": "pass3",
+ "mode": "guest",
+ "bilinear": false,
+ "scale": 2,
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ {
+ "effect": "xbr/xbr-mlv4-multipass/xbr-mlv4-pass1",
+ "name": "Pass 0",
+ "input": [
+ { "sampler": "decal", "texture": "screen" }
+ ],
+ "output": "pass12"
+ },
+ {
+ "effect": "xbr/xbr-mlv4-multipass/xbr-mlv4-pass2",
+ "name": "Pass 0",
+ "input": [
+ { "sampler": "decal", "target": "pass12" }
+ ],
+ "output": "pass12"
+ },
+ {
+ "effect": "xbr/xbr-mlv4-multipass/xbr-mlv4-pass3",
+ "name": "Pass 0",
+ "input": [
+ { "sampler": "decal", "target": "pass12" }
+ ],
+ "output": "pass3"
+ },
+ {
+ "effect": "xbr/xbr-mlv4-multipass/xbr-mlv4-pass4",
+ "name": "Pass 0",
+ "input": [
+ { "sampler": "decal", "target": "pass3" }
+ ],
+ "output": "output"
+ }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/blurs/smart-blur.json b/bgfx/effects/blurs/smart-blur.json
new file mode 100644
index 00000000000..01632204b73
--- /dev/null
+++ b/bgfx/effects/blurs/smart-blur.json
@@ -0,0 +1,55 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian Smart-Blur Shader
+
+ Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/blurs/vs_smart-blur",
+ "fragment": "chains/blurs/fs_smart-blur",
+ "uniforms": [
+ { "name": "s_p", "type": "int", "values": [ 1.0 ] },
+ { "name": "SB_THRESHOLD", "type": "vec4", "values": [ 0.2, 0.2, 0.2, 0.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/supereagle/supereagle.json b/bgfx/effects/eagle/supereagle.json
index 03f40691751..cd209b7cd80 100644
--- a/bgfx/effects/supereagle/supereagle.json
+++ b/bgfx/effects/eagle/supereagle.json
@@ -25,8 +25,8 @@
"rgb": true,
"alpha": true
},
- "vertex": "chains/supereagle/vs_eagle",
- "fragment": "chains/supereagle/fs_eagle",
+ "vertex": "chains/eagle/vs_eagle",
+ "fragment": "chains/eagle/fs_eagle",
"uniforms": [
{ "name": "decal", "type": "int", "values": [ 1.0 ] },
{ "name": "LUT", "type": "int", "values": [ 1.0 ] },
diff --git a/bgfx/effects/hq2x/hq2x.json b/bgfx/effects/hqx/hq2x.json
index 9b67b562b02..267339da988 100644
--- a/bgfx/effects/hq2x/hq2x.json
+++ b/bgfx/effects/hqx/hq2x.json
@@ -19,8 +19,8 @@
"rgb": true,
"alpha": true
},
- "vertex": "chains/hq2x/vs_hq2x",
- "fragment": "chains/hq2x/fs_hq2x",
+ "vertex": "chains/hqx/vs_hq2x",
+ "fragment": "chains/hqx/fs_hq2x",
"uniforms": [
{ "name": "decal", "type": "int", "values": [ 1.0 ] },
{ "name": "LUT", "type": "int", "values": [ 1.0 ] },
diff --git a/bgfx/effects/hq3x/hq3x.json b/bgfx/effects/hqx/hq3x.json
index 4cc61706dce..15fa50517a3 100644
--- a/bgfx/effects/hq3x/hq3x.json
+++ b/bgfx/effects/hqx/hq3x.json
@@ -19,8 +19,8 @@
"rgb": true,
"alpha": true
},
- "vertex": "chains/hq3x/vs_hq3x",
- "fragment": "chains/hq3x/fs_hq3x",
+ "vertex": "chains/hqx/vs_hq3x",
+ "fragment": "chains/hqx/fs_hq3x",
"uniforms": [
{ "name": "decal", "type": "int", "values": [ 1.0 ] },
{ "name": "LUT", "type": "int", "values": [ 1.0 ] },
diff --git a/bgfx/effects/hq4x/hq4x.json b/bgfx/effects/hqx/hq4x.json
index 8d2221896ce..a2e61b3ae09 100644
--- a/bgfx/effects/hq4x/hq4x.json
+++ b/bgfx/effects/hqx/hq4x.json
@@ -19,8 +19,8 @@
"rgb": true,
"alpha": true
},
- "vertex": "chains/hq4x/vs_hq4x",
- "fragment": "chains/hq4x/fs_hq4x",
+ "vertex": "chains/hqx/vs_hq4x",
+ "fragment": "chains/hqx/fs_hq4x",
"uniforms": [
{ "name": "decal", "type": "int", "values": [ 1.0 ] },
{ "name": "LUT", "type": "int", "values": [ 1.0 ] },
diff --git a/bgfx/effects/supereagle/blit.json b/bgfx/effects/supereagle/blit.json
deleted file mode 100644
index 24c3acf5a5d..00000000000
--- a/bgfx/effects/supereagle/blit.json
+++ /dev/null
@@ -1,121 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-//============================================================
-//
-// blit.json: A simple texture-to-target copy.
-//
-//============================================================
-{
- // blend (required): The blend state for this effect.
- "blend": {
- // equation (optional): What equation to perform on the source and destination blend values.
- // values: "add", "sub", "revSub", "min", "max"
- // default: "add"
- //
- // "subtract" and "revSubtract" are provided as aliases for "sub" and "revSub"
- "equation": "add",
-
- // blend function parameters (optional): What factors to use in the blend function when calculating the final pixel.
- // values: "0", "1", "srccolor", "1-srccolor", "dstcolor", "1-dstcolor", "srcalpha", "1-srcalpha", "dstalpha", "1-dstalpha"
- // defaults (srcColor, srcAlpha): "1"
- // defaults (dstColor, dstAlpha): "0"
- //
- // "zero", "one", "invsrccolor", "invdstcolor", "invsrcalpha", and "invdstalpha" are provided as aliases for "0", "1", "1-srccolor", "1-dstcolor", "1-srcalpha", and "1-dstalpha"
- "srcColor": "srcalpha",
- "dstColor": "1-srcalpha",
- "srcAlpha": "srcalpha",
- "dstAlpha": "1-srcalpha"
- },
-
- // depth (required): The depth state for this effect.
- "depth": {
- // function (optional): The depth function to use when drawing.
- // values: "never", "less", "equal", "lequal", "greater", "notequal", "gequal", "always"
- // default: "always"
- "function": "always",
-
- // writeenable (optional): Whether to store Z-buffer data.
- // values: true, false
- // default: false
- "writeenable": false
- },
-
- // cull (required): The cull mode for this effect.
- "cull": {
- // mode (optional): What winding, if any, to cull.
- // values: "none", "cw", "ccw"
- // default: "ccw"
- //
- // "clockwise" and "counterclockwise" are provided as aliases for "cw" and "ccw"
- "mode": "none"
- },
-
- // write (required): Write enable for color and alpha channels.
- "write": {
- // rgb (optional): Whether to store color data when drawing.
- // values: true, false
- // default: false
- "rgb": true,
-
- // alpha (optional): Whether to store alpha data when drawing.
- // values: true, false
- // default: false
- "alpha": true
- },
-
- // vertex (required): The vertex shader to use when drawing.
- // value: A string containing the path and name of a shader file to use, minus the extension.
- "vertex": "chains/supereagle/vs_blit",
-
- // pixel/fragment (required): The pixel or fragment shader to use when drawing.
- // value: A string containing the path and name of a shader file to use, minus the extension.
- "fragment": "chains/supereagle/fs_blit",
-
- // uniforms (required): The list of uniforms for this effect. Can be empty, but must exist.
- "uniforms": [
- {
- // name (required): The name of the uniform, as used in either the vertex or pixel/fragment shader.
- // value: A string containing the name of the uniform as described above.
- //
- // NOTE: Some names correspond to special values that will be automatically filled by the BGFX
- // code if they are used by the shader. These names are:
- // "u_screen_dims"
- // The dimensions of the first texture input if present, otherwise the dimensions of the output window.
- // Valid values: xy
- // "u_inv_screen_dims"
- // The reciprocal of u_screen_dims.
- // Valid values: xy
- // "u_source_dims"
- // The size, in pixels, of the screen texture incoming to the chain.
- // Valid values: xy
- // "u_rotation_type"
- // This screen's rotation type. 0 if ROT0, 1 if ROT90, 2 if ROT180, 3 of ROT270.
- // Valid values: x
- // "u_swap_xy"
- // Whether this screen is swapped on the X and Y axes. 1 if true, 0 if false.
- // Valid values: x
- // "u_quad_dims"
- // The dimensions, in pixels, occupied by this one screen primitive itself in the output window.
- // Valid values: xy
- // "u_tex_sizeN"
- // The dimensions, in pixels, of the texture in input pair N. Starts at 0.
- // valid values: xy
- "name": "s_tex",
-
- // type (required): The type of the uniform.
- // values: "int", "vec4", "mat3", "mat4"
- //
- // Note: "int" should only be used for samplers.
- "type": "int",
-
- // values (required): The array of numbers with which to initialize the uniform.
- // value: A JSON array containin the correct amount of numbers to initialize a uniform of the
- // above-specified type. The following size rules should be followed:
- // "int": 1 float
- // "vec4": 4 floats
- // "mat3": 9 floats
- // "mat4": 16 floats
- "values": [ 1.0 ]
- }
- ]
-} \ No newline at end of file
diff --git a/bgfx/effects/warp/dilation-horizontal-fast.json b/bgfx/effects/warp/dilation-horizontal-fast.json
new file mode 100644
index 00000000000..083b07edecd
--- /dev/null
+++ b/bgfx/effects/warp/dilation-horizontal-fast.json
@@ -0,0 +1,54 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's dilation-horizontal-fast Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/warp/vs_dilation-horizontal-fast",
+ "fragment": "chains/warp/fs_dilation-horizontal-fast",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-sharp.json b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-sharp.json
new file mode 100644
index 00000000000..8015f3a3ca2
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-sharp.json
@@ -0,0 +1,35 @@
+// license:GPL-2.0+
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's 2xBR v3.7c+ReverseAA (squared) Shader
+
+ Copyright (C) 2011/2012 Hyllian/Jararaca - sergiogdb@gmail.com
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp",
+ "fragment": "chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v2-gamma.json b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v2-gamma.json
new file mode 100644
index 00000000000..3a30413f703
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v2-gamma.json
@@ -0,0 +1,35 @@
+// license:GPL-2.0+
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's 2xBR v3.8c+ReverseAA (squared) Shader - beta1
+
+ Copyright (C) 2011/2012 Hyllian/Jararaca - sergiogdb@gmail.com
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma",
+ "fragment": "chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v2.json b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v2.json
new file mode 100644
index 00000000000..3045dbd65b2
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v2.json
@@ -0,0 +1,35 @@
+// license:GPL-2.0+
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's 2xBR v3.8c+ReverseAA (squared) Shader - Dithering preserved
+
+ Copyright (C) 2011/2012 Hyllian/Jararaca - sergiogdb@gmail.com
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2",
+ "fragment": "chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4-gamma.json b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4-gamma.json
new file mode 100644
index 00000000000..2a285ea176c
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4-gamma.json
@@ -0,0 +1,35 @@
+// license:GPL-2.0+
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's 2xBR v3.8c+ReverseAA (squared) Shader - beta3
+
+ Copyright (C) 2011/2012 Hyllian/Jararaca - sergiogdb@gmail.com
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma",
+ "fragment": "chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4.json b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4.json
new file mode 100644
index 00000000000..961fee7922a
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4.json
@@ -0,0 +1,35 @@
+// license:GPL-2.0+
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's 2xBR v3.8c+ReverseAA (squared) Shader - v4
+
+ Copyright (C) 2011/2012 Hyllian/Jararaca - sergiogdb@gmail.com
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4",
+ "fragment": "chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4b.json b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4b.json
new file mode 100644
index 00000000000..e5c5e18c18f
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v4b.json
@@ -0,0 +1,35 @@
+// license:GPL-2.0+
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's 2xBR v3.8b+ReverseAA (semi-rounded) Shader - v4
+
+ Copyright (C) 2011/2012 Hyllian/Jararaca - sergiogdb@gmail.com
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b",
+ "fragment": "chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v5-gamma.json b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v5-gamma.json
new file mode 100644
index 00000000000..38abe1e0d0b
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid-v5-gamma.json
@@ -0,0 +1,35 @@
+// license:GPL-2.0+
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's 2xBR v3.8c+ReverseAA (squared) Shader - beta3
+
+ Copyright (C) 2011/2012 Hyllian/Jararaca - sergiogdb@gmail.com
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma",
+ "fragment": "chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid.json b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid.json
new file mode 100644
index 00000000000..b23528caafd
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-hybrid/2xbr-hybrid.json
@@ -0,0 +1,35 @@
+// license:GPL-2.0+
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's 2xBR v3.7c+ReverseAA (squared) Shader
+
+ Copyright (C) 2011/2012 Hyllian/Jararaca - sergiogdb@gmail.com
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-hybrid/vs_2xbr-hybrid",
+ "fragment": "chains/xbr/xbr-hybrid/fs_2xbr-hybrid",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv1-noblend.json b/bgfx/effects/xbr/xbr-lv1-noblend.json
new file mode 100644
index 00000000000..8bca60452e6
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv1-noblend.json
@@ -0,0 +1,56 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv1-noblend Shader
+
+ Copyright (C) 2011-2014 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/vs_xbr-lv1-noblend",
+ "fragment": "chains/xbr/fs_xbr-lv1-noblend",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "XBR_Y_WEIGHT", "type": "vec4", "values": [ 48.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_EQ_THRESHOLD", "type": "vec4", "values": [ 15.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2-3d.json b/bgfx/effects/xbr/xbr-lv2-3d.json
new file mode 100644
index 00000000000..e4b6146ed2a
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2-3d.json
@@ -0,0 +1,60 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv2-3d Shader
+
+ Copyright (C) 2011/2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/vs_xbr-lv2-3d",
+ "fragment": "chains/xbr/fs_xbr-lv2-3d",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "XBR_SCALE", "type": "vec4", "values": [ 3.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_Y_WEIGHT", "type": "vec4", "values": [ 48.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_EQ_THRESHOLD", "type": "vec4", "values": [ 15.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_LV1_COEFFICIENT", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_LV2_COEFFICIENT", "type": "vec4", "values": [ 2.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_RES", "type": "vec4", "values": [ 2.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2-fast.json b/bgfx/effects/xbr/xbr-lv2-fast.json
new file mode 100644
index 00000000000..e3ce6fb1f4c
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2-fast.json
@@ -0,0 +1,58 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv2-lq Shader
+
+ Copyright (C) 2011/2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/vs_xbr-lv2-fast",
+ "fragment": "chains/xbr/fs_xbr-lv2-fast",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "XBR_SCALE", "type": "vec4", "values": [ 4.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_Y_WEIGHT", "type": "vec4", "values": [ 48.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_EQ_THRESHOLD", "type": "vec4", "values": [ 25.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_LV2_COEFFICIENT", "type": "vec4", "values": [ 2.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-a-pass0.json b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-a-pass0.json
new file mode 100644
index 00000000000..f77141d0128
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-a-pass0.json
@@ -0,0 +1,54 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR LV2 A (squared) - pass0 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0",
+ "fragment": "chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass0.json b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass0.json
new file mode 100644
index 00000000000..809ec9cc5d6
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass0.json
@@ -0,0 +1,56 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR LV2 Accuracy - pass0 Shader
+
+ Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0",
+ "fragment": "chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "XBR_EQ_THRESHOLD", "type": "vec4", "values": [ 4.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_LV2_COEFFICIENT", "type": "vec4", "values": [ 2.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass1.json b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass1.json
new file mode 100644
index 00000000000..06dc01021a5
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-accuracy-pass1.json
@@ -0,0 +1,57 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR LV2 Accuracy - pass0 Shader
+
+ Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0",
+ "fragment": "chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "ORIG_texture", "type": "int", "values": [ 1.0 ] },
+ { "name": "XBR_SCALE", "type": "vec4", "values": [ 4.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size1", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-b-pass0.json b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-b-pass0.json
new file mode 100644
index 00000000000..8ba8832f545
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-b-pass0.json
@@ -0,0 +1,54 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR LV2 A (squared) - pass0 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0",
+ "fragment": "chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-c-pass0.json b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-c-pass0.json
new file mode 100644
index 00000000000..16872129ef3
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-c-pass0.json
@@ -0,0 +1,54 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR LV2 A (squared) - pass0 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0",
+ "fragment": "chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-d-pass0.json b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-d-pass0.json
new file mode 100644
index 00000000000..758a21b2619
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-d-pass0.json
@@ -0,0 +1,54 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR LV2 A (squared) - pass0 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0",
+ "fragment": "chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-noblend-pass1.json b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-noblend-pass1.json
new file mode 100644
index 00000000000..f57bd18eda5
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-noblend-pass1.json
@@ -0,0 +1,56 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR LV2 - noblend - pass1 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1",
+ "fragment": "chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "ORIG_texture", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size1", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-pass1.json b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-pass1.json
new file mode 100644
index 00000000000..d5613e293cd
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2-multipass/xbr-lv2-pass1.json
@@ -0,0 +1,57 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR LV2 - pass1 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1",
+ "fragment": "chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "ORIG_texture", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size1", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
+ { "name": "u_target_dims", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2-noblend.json b/bgfx/effects/xbr/xbr-lv2-noblend.json
new file mode 100644
index 00000000000..41695ff888f
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2-noblend.json
@@ -0,0 +1,56 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv2-noblend Shader
+
+ Copyright (C) 2011/2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/vs_xbr-lv2-noblend",
+ "fragment": "chains/xbr/fs_xbr-lv2-noblend",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "XBR_EQ_THRESHOLD", "type": "vec4", "values": [ 0.6, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_LV2_COEFFICIENT", "type": "vec4", "values": [ 2.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv2.json b/bgfx/effects/xbr/xbr-lv2.json
new file mode 100644
index 00000000000..58e451ddeca
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv2.json
@@ -0,0 +1,58 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv2 Shader
+
+ Copyright (C) 2011-2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/vs_xbr-lv2",
+ "fragment": "chains/xbr/fs_xbr-lv2",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "XBR_SCALE", "type": "vec4", "values": [ 4.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_Y_WEIGHT", "type": "vec4", "values": [ 48.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_EQ_THRESHOLD", "type": "vec4", "values": [ 25.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_LV2_COEFFICIENT", "type": "vec4", "values": [ 2.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv3-multipass/xbr-lv3-pass0.json b/bgfx/effects/xbr/xbr-lv3-multipass/xbr-lv3-pass0.json
new file mode 100644
index 00000000000..39daf68c665
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv3-multipass/xbr-lv3-pass0.json
@@ -0,0 +1,54 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR level 3 pass0 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0",
+ "fragment": "chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv3-multipass/xbr-lv3-pass1.json b/bgfx/effects/xbr/xbr-lv3-multipass/xbr-lv3-pass1.json
new file mode 100644
index 00000000000..04afb26b417
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv3-multipass/xbr-lv3-pass1.json
@@ -0,0 +1,57 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR level 3 pass1 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1",
+ "fragment": "chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "ORIG_texture", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size1", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
+ { "name": "u_target_dims", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv3-noblend.json b/bgfx/effects/xbr/xbr-lv3-noblend.json
new file mode 100644
index 00000000000..8a2965646c9
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv3-noblend.json
@@ -0,0 +1,58 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv3-noblend - Shader
+
+ Copyright (C) 2011/2016 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+ Incorporates some of the ideas from SABR shader. Thanks to Joshua Street.
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/vs_xbr-lv3-noblend",
+ "fragment": "chains/xbr/fs_xbr-lv3-noblend",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "XBR_EQ_THRESHOLD", "type": "vec4", "values": [ 10.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_EQ_THRESHOLD2", "type": "vec4", "values": [ 2.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_LV2_COEFFICIENT", "type": "vec4", "values": [ 2.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-lv3.json b/bgfx/effects/xbr/xbr-lv3.json
new file mode 100644
index 00000000000..bcbf6e1f48b
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-lv3.json
@@ -0,0 +1,62 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR-lv3 Shader
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+ Incorporates some of the ideas from SABR shader. Thanks to Joshua Street.
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/vs_xbr-lv3",
+ "fragment": "chains/xbr/fs_xbr-lv3",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "XBR_Y_WEIGHT", "type": "vec4", "values": [ 48.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_EQ_THRESHOLD", "type": "vec4", "values": [ 10.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_EQ_THRESHOLD2", "type": "vec4", "values": [ 2.0, 0.0, 0.0, 0.0 ] },
+ { "name": "XBR_LV2_COEFFICIENT", "type": "vec4", "values": [ 2.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass1.json b/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass1.json
new file mode 100644
index 00000000000..fd313a73eca
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass1.json
@@ -0,0 +1,54 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR MultiLevel4 Shader - Pass1
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1",
+ "fragment": "chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass2.json b/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass2.json
new file mode 100644
index 00000000000..8d25c90ed0f
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass2.json
@@ -0,0 +1,54 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR MultiLevel4 Shader - Pass2
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2",
+ "fragment": "chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass3.json b/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass3.json
new file mode 100644
index 00000000000..7e862e66664
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass3.json
@@ -0,0 +1,55 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR MultiLevel4 Shader - Pass3
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3",
+ "fragment": "chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "ORIG_texture", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_tex_size1", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass4.json b/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass4.json
new file mode 100644
index 00000000000..7323c3b8960
--- /dev/null
+++ b/bgfx/effects/xbr/xbr-mlv4-multipass/xbr-mlv4-pass4.json
@@ -0,0 +1,56 @@
+// license:MIT
+// copyright-holders:Hyllian
+
+/*
+ Hyllian's xBR MultiLevel4 Shader - Pass4
+
+ Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+*/
+
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "1",
+ "dstColor": "0",
+ "srcAlpha": "1",
+ "dstAlpha": "0"
+ },
+ "depth": {
+ "function": "always",
+ "writeenable": false
+ },
+ "cull": {
+ "mode": "none"
+ },
+ "write": {
+ "rgb": true,
+ "alpha": true
+ },
+ "vertex": "chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4",
+ "fragment": "chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4",
+ "uniforms": [
+ { "name": "decal", "type": "int", "values": [ 1.0 ] },
+ { "name": "ORIG_texture", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_target_size", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
+ { "name": "u_tex_size1", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/shaders/dx11/chains/blurs/fs_smart-blur.bin b/bgfx/shaders/dx11/chains/blurs/fs_smart-blur.bin
new file mode 100644
index 00000000000..a7bb984a12a
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/blurs/fs_smart-blur.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/hq2x/vs_hq2x.bin b/bgfx/shaders/dx11/chains/blurs/vs_smart-blur.bin
index 5b037b2bfe8..5b037b2bfe8 100644
--- a/bgfx/shaders/dx11/chains/hq2x/vs_hq2x.bin
+++ b/bgfx/shaders/dx11/chains/blurs/vs_smart-blur.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/supereagle/fs_eagle.bin b/bgfx/shaders/dx11/chains/eagle/fs_eagle.bin
index 085fbc010d6..085fbc010d6 100644
--- a/bgfx/shaders/dx11/chains/supereagle/fs_eagle.bin
+++ b/bgfx/shaders/dx11/chains/eagle/fs_eagle.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/supereagle/vs_eagle.bin b/bgfx/shaders/dx11/chains/eagle/vs_eagle.bin
index d4773f1abdf..d4773f1abdf 100644
--- a/bgfx/shaders/dx11/chains/supereagle/vs_eagle.bin
+++ b/bgfx/shaders/dx11/chains/eagle/vs_eagle.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/hq2x/fs_hq2x.bin b/bgfx/shaders/dx11/chains/hqx/fs_hq2x.bin
index cdce652045f..cdce652045f 100644
--- a/bgfx/shaders/dx11/chains/hq2x/fs_hq2x.bin
+++ b/bgfx/shaders/dx11/chains/hqx/fs_hq2x.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/hq3x/fs_hq3x.bin b/bgfx/shaders/dx11/chains/hqx/fs_hq3x.bin
index 29d6a5c2c3d..29d6a5c2c3d 100644
--- a/bgfx/shaders/dx11/chains/hq3x/fs_hq3x.bin
+++ b/bgfx/shaders/dx11/chains/hqx/fs_hq3x.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/hq4x/fs_hq4x.bin b/bgfx/shaders/dx11/chains/hqx/fs_hq4x.bin
index 7ebeaab6cd7..7ebeaab6cd7 100644
--- a/bgfx/shaders/dx11/chains/hq4x/fs_hq4x.bin
+++ b/bgfx/shaders/dx11/chains/hqx/fs_hq4x.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/hq3x/vs_hq3x.bin b/bgfx/shaders/dx11/chains/hqx/vs_hq2x.bin
index 5b037b2bfe8..5b037b2bfe8 100644
--- a/bgfx/shaders/dx11/chains/hq3x/vs_hq3x.bin
+++ b/bgfx/shaders/dx11/chains/hqx/vs_hq2x.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/hq4x/vs_hq4x.bin b/bgfx/shaders/dx11/chains/hqx/vs_hq3x.bin
index 5b037b2bfe8..5b037b2bfe8 100644
--- a/bgfx/shaders/dx11/chains/hq4x/vs_hq4x.bin
+++ b/bgfx/shaders/dx11/chains/hqx/vs_hq3x.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/hqx/vs_hq4x.bin b/bgfx/shaders/dx11/chains/hqx/vs_hq4x.bin
new file mode 100644
index 00000000000..5b037b2bfe8
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/hqx/vs_hq4x.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/super-4xbr-3d-4p/fs_blit.bin b/bgfx/shaders/dx11/chains/super-4xbr-3d-4p/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/super-4xbr-3d-4p/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/super-4xbr-3d-4p/vs_blit.bin b/bgfx/shaders/dx11/chains/super-4xbr-3d-4p/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/super-4xbr-3d-4p/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/super-4xbr-3d-6p-smoother/fs_blit.bin b/bgfx/shaders/dx11/chains/super-4xbr-3d-6p-smoother/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/super-4xbr-3d-6p-smoother/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/super-4xbr-3d-6p-smoother/vs_blit.bin b/bgfx/shaders/dx11/chains/super-4xbr-3d-6p-smoother/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/super-4xbr-3d-6p-smoother/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/supereagle/fs_blit.bin b/bgfx/shaders/dx11/chains/supereagle/fs_blit.bin
deleted file mode 100644
index 7b633fde6ed..00000000000
--- a/bgfx/shaders/dx11/chains/supereagle/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/supereagle/vs_blit.bin b/bgfx/shaders/dx11/chains/supereagle/vs_blit.bin
deleted file mode 100644
index 8ca25c11eae..00000000000
--- a/bgfx/shaders/dx11/chains/supereagle/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/warp/fs_dilation-horizontal-fast.bin b/bgfx/shaders/dx11/chains/warp/fs_dilation-horizontal-fast.bin
new file mode 100644
index 00000000000..b3315773ebb
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/warp/fs_dilation-horizontal-fast.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/warp/vs_dilation-horizontal-fast.bin b/bgfx/shaders/dx11/chains/warp/vs_dilation-horizontal-fast.bin
new file mode 100644
index 00000000000..40d4899cda1
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/warp/vs_dilation-horizontal-fast.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-hybrid/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-hybrid/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-hybrid/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-hybrid/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-hybrid/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-hybrid/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv1-noblend/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv1-noblend/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv1-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv1-noblend/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv1-noblend/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv1-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-3d/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-3d/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-3d/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-3d/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-3d/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-3d/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-multipass/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-multipass/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-multipass/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-multipass/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-deposterize/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-deposterize/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-deposterize/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-deposterize/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-deposterize/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-deposterize/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-fast/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-fast/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-fast/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-fast/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-fast/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-fast/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-multipass/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-multipass/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-multipass/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-multipass/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-noblend/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-noblend/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv2-noblend/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv2-noblend/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv2-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv3-multipass/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv3-multipass/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv3-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv3-multipass/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv3-multipass/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv3-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv3-noblend/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv3-noblend/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv3-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv3-noblend/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv3-noblend/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv3-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv3/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv3/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv3/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-lv3/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-lv3/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-lv3/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-mlv4-dilation/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-mlv4-dilation/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-mlv4-dilation/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-mlv4-dilation/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-mlv4-dilation/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-mlv4-dilation/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-mlv4-multipass/fs_blit.bin b/bgfx/shaders/dx11/chains/xbr-mlv4-multipass/fs_blit.bin
deleted file mode 100644
index 80d85fb1107..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-mlv4-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr-mlv4-multipass/vs_blit.bin b/bgfx/shaders/dx11/chains/xbr-mlv4-multipass/vs_blit.bin
deleted file mode 100644
index b0bebf9da4c..00000000000
--- a/bgfx/shaders/dx11/chains/xbr-mlv4-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv2-noblend.bin b/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv2-noblend.bin
new file mode 100644
index 00000000000..3b72deb8782
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv2-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv3-noblend.bin b/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv3-noblend.bin
new file mode 100644
index 00000000000..3b4f0db46a3
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv3-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv3.bin b/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv3.bin
new file mode 100644
index 00000000000..e2cebba1f67
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/fs_xbr-lv3.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv2-noblend.bin b/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv2-noblend.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv2-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv3-noblend.bin b/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv3-noblend.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv3-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv3.bin b/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv3.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/vs_xbr-lv3.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
new file mode 100644
index 00000000000..6149394b1cd
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
new file mode 100644
index 00000000000..c69cdcbb1ae
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
new file mode 100644
index 00000000000..464db7ce0ed
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
new file mode 100644
index 00000000000..565ff37ece7
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
new file mode 100644
index 00000000000..58488796cd8
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
new file mode 100644
index 00000000000..c54807facf3
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
new file mode 100644
index 00000000000..217f7202faa
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
new file mode 100644
index 00000000000..846d9599139
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
new file mode 100644
index 00000000000..13e720c9264
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
new file mode 100644
index 00000000000..de6b1c2efc1
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
new file mode 100644
index 00000000000..72dd22dd336
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
new file mode 100644
index 00000000000..50419be6c4b
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
new file mode 100644
index 00000000000..0ac5f18d87a
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
new file mode 100644
index 00000000000..ecfab5f3203
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
new file mode 100644
index 00000000000..dde6ea10a5c
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
new file mode 100644
index 00000000000..59510dfd4d9
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
new file mode 100644
index 00000000000..3002f050eca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
new file mode 100644
index 00000000000..3002f050eca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
new file mode 100644
index 00000000000..3002f050eca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
new file mode 100644
index 00000000000..7d83dba6a69
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
new file mode 100644
index 00000000000..0dec7034df8
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin b/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
new file mode 100644
index 00000000000..862b9eb121a
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
new file mode 100644
index 00000000000..28df089c632
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
new file mode 100644
index 00000000000..b71d06f700f
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
new file mode 100644
index 00000000000..7301c4ed418
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
new file mode 100644
index 00000000000..dd768fbf3b5
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
new file mode 100644
index 00000000000..e31a9926885
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
new file mode 100644
index 00000000000..f4fe0e66cca
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
new file mode 100644
index 00000000000..580b2536471
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
new file mode 100644
index 00000000000..580b2536471
--- /dev/null
+++ b/bgfx/shaders/dx11/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/blurs/fs_smart-blur.bin b/bgfx/shaders/dx9/chains/blurs/fs_smart-blur.bin
new file mode 100644
index 00000000000..c9c91235392
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/blurs/fs_smart-blur.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/hq2x/vs_hq2x.bin b/bgfx/shaders/dx9/chains/blurs/vs_smart-blur.bin
index de5213e137f..de5213e137f 100644
--- a/bgfx/shaders/dx9/chains/hq2x/vs_hq2x.bin
+++ b/bgfx/shaders/dx9/chains/blurs/vs_smart-blur.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/supereagle/fs_eagle.bin b/bgfx/shaders/dx9/chains/eagle/fs_eagle.bin
index 7f099756105..7f099756105 100644
--- a/bgfx/shaders/dx9/chains/supereagle/fs_eagle.bin
+++ b/bgfx/shaders/dx9/chains/eagle/fs_eagle.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/supereagle/vs_eagle.bin b/bgfx/shaders/dx9/chains/eagle/vs_eagle.bin
index 6bf98d22532..6bf98d22532 100644
--- a/bgfx/shaders/dx9/chains/supereagle/vs_eagle.bin
+++ b/bgfx/shaders/dx9/chains/eagle/vs_eagle.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/hq2x/fs_hq2x.bin b/bgfx/shaders/dx9/chains/hqx/fs_hq2x.bin
index 7bebafd9962..7bebafd9962 100644
--- a/bgfx/shaders/dx9/chains/hq2x/fs_hq2x.bin
+++ b/bgfx/shaders/dx9/chains/hqx/fs_hq2x.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/hq3x/fs_hq3x.bin b/bgfx/shaders/dx9/chains/hqx/fs_hq3x.bin
index 6151be64f23..6151be64f23 100644
--- a/bgfx/shaders/dx9/chains/hq3x/fs_hq3x.bin
+++ b/bgfx/shaders/dx9/chains/hqx/fs_hq3x.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/hq4x/fs_hq4x.bin b/bgfx/shaders/dx9/chains/hqx/fs_hq4x.bin
index 55d09ab2827..55d09ab2827 100644
--- a/bgfx/shaders/dx9/chains/hq4x/fs_hq4x.bin
+++ b/bgfx/shaders/dx9/chains/hqx/fs_hq4x.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/hq3x/vs_hq3x.bin b/bgfx/shaders/dx9/chains/hqx/vs_hq2x.bin
index de5213e137f..de5213e137f 100644
--- a/bgfx/shaders/dx9/chains/hq3x/vs_hq3x.bin
+++ b/bgfx/shaders/dx9/chains/hqx/vs_hq2x.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/hq4x/vs_hq4x.bin b/bgfx/shaders/dx9/chains/hqx/vs_hq3x.bin
index de5213e137f..de5213e137f 100644
--- a/bgfx/shaders/dx9/chains/hq4x/vs_hq4x.bin
+++ b/bgfx/shaders/dx9/chains/hqx/vs_hq3x.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/hqx/vs_hq4x.bin b/bgfx/shaders/dx9/chains/hqx/vs_hq4x.bin
new file mode 100644
index 00000000000..de5213e137f
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/hqx/vs_hq4x.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/super-4xbr-3d-4p/fs_blit.bin b/bgfx/shaders/dx9/chains/super-4xbr-3d-4p/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/super-4xbr-3d-4p/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/super-4xbr-3d-4p/vs_blit.bin b/bgfx/shaders/dx9/chains/super-4xbr-3d-4p/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/super-4xbr-3d-4p/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/super-4xbr-3d-6p-smoother/fs_blit.bin b/bgfx/shaders/dx9/chains/super-4xbr-3d-6p-smoother/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/super-4xbr-3d-6p-smoother/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/super-4xbr-3d-6p-smoother/vs_blit.bin b/bgfx/shaders/dx9/chains/super-4xbr-3d-6p-smoother/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/super-4xbr-3d-6p-smoother/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/supereagle/fs_blit.bin b/bgfx/shaders/dx9/chains/supereagle/fs_blit.bin
deleted file mode 100644
index 7db80471603..00000000000
--- a/bgfx/shaders/dx9/chains/supereagle/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/supereagle/vs_blit.bin b/bgfx/shaders/dx9/chains/supereagle/vs_blit.bin
deleted file mode 100644
index 87ff0b96020..00000000000
--- a/bgfx/shaders/dx9/chains/supereagle/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/warp/fs_dilation-horizontal-fast.bin b/bgfx/shaders/dx9/chains/warp/fs_dilation-horizontal-fast.bin
new file mode 100644
index 00000000000..d1b4cb47ea5
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/warp/fs_dilation-horizontal-fast.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/warp/vs_dilation-horizontal-fast.bin b/bgfx/shaders/dx9/chains/warp/vs_dilation-horizontal-fast.bin
new file mode 100644
index 00000000000..7b02905e0fb
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/warp/vs_dilation-horizontal-fast.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-hybrid/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-hybrid/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-hybrid/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-hybrid/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-hybrid/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-hybrid/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv1-noblend/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv1-noblend/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv1-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv1-noblend/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv1-noblend/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv1-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-3d/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-3d/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-3d/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-3d/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-3d/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-3d/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-multipass/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-multipass/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-multipass/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-multipass/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-deposterize/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-deposterize/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-deposterize/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-deposterize/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-deposterize/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-deposterize/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-fast/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-fast/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-fast/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-fast/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-fast/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-fast/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-multipass/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-multipass/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-multipass/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-multipass/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-noblend/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-noblend/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv2-noblend/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv2-noblend/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv2-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv3-multipass/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv3-multipass/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv3-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv3-multipass/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv3-multipass/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv3-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv3-noblend/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv3-noblend/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv3-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv3-noblend/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv3-noblend/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv3-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv3/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv3/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv3/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-lv3/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-lv3/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-lv3/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-mlv4-dilation/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-mlv4-dilation/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-mlv4-dilation/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-mlv4-dilation/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-mlv4-dilation/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-mlv4-dilation/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-mlv4-multipass/fs_blit.bin b/bgfx/shaders/dx9/chains/xbr-mlv4-multipass/fs_blit.bin
deleted file mode 100644
index ef8fa0730c3..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-mlv4-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr-mlv4-multipass/vs_blit.bin b/bgfx/shaders/dx9/chains/xbr-mlv4-multipass/vs_blit.bin
deleted file mode 100644
index ea94c83e62d..00000000000
--- a/bgfx/shaders/dx9/chains/xbr-mlv4-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv2-noblend.bin b/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv2-noblend.bin
new file mode 100644
index 00000000000..3e43fd1ae5c
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv2-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv3-noblend.bin b/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv3-noblend.bin
new file mode 100644
index 00000000000..d34d1a48025
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv3-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv3.bin b/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv3.bin
new file mode 100644
index 00000000000..217dff88088
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/fs_xbr-lv3.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-noblend.bin b/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-noblend.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3-noblend.bin b/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3-noblend.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3.bin b/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
new file mode 100644
index 00000000000..74e32bffacc
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
new file mode 100644
index 00000000000..c76166bf10a
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
new file mode 100644
index 00000000000..abd1066c35b
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
new file mode 100644
index 00000000000..2676fe0cc09
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
new file mode 100644
index 00000000000..5eb65f9a32c
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
new file mode 100644
index 00000000000..b6a0e6ce5c3
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
new file mode 100644
index 00000000000..71b03d4f663
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
new file mode 100644
index 00000000000..9ae18d96ba8
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
new file mode 100644
index 00000000000..2790a5c711c
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
new file mode 100644
index 00000000000..468f1445574
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
new file mode 100644
index 00000000000..b310e4253ad
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
new file mode 100644
index 00000000000..e214f705832
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
new file mode 100644
index 00000000000..1ebc1cbfe8d
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
new file mode 100644
index 00000000000..4062e123149
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
new file mode 100644
index 00000000000..955a0dee2af
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
new file mode 100644
index 00000000000..bdc3067c871
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
new file mode 100644
index 00000000000..1f32f0408f3
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
new file mode 100644
index 00000000000..1f32f0408f3
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
new file mode 100644
index 00000000000..1f32f0408f3
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
new file mode 100644
index 00000000000..5ab510f69fc
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
new file mode 100644
index 00000000000..b1322b52e47
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
new file mode 100644
index 00000000000..73046f14321
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
new file mode 100644
index 00000000000..845601063f6
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
new file mode 100644
index 00000000000..f571926e712
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
new file mode 100644
index 00000000000..b63c5230085
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
new file mode 100644
index 00000000000..555b9dd1d80
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
new file mode 100644
index 00000000000..b8876ee9611
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
new file mode 100644
index 00000000000..73a4c5231fd
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
new file mode 100644
index 00000000000..2ca8ce88528
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
new file mode 100644
index 00000000000..2ca8ce88528
--- /dev/null
+++ b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/blurs/fs_smart-blur.bin b/bgfx/shaders/gles/chains/blurs/fs_smart-blur.bin
new file mode 100644
index 00000000000..a4c15606155
--- /dev/null
+++ b/bgfx/shaders/gles/chains/blurs/fs_smart-blur.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/blurs/vs_smart-blur.bin b/bgfx/shaders/gles/chains/blurs/vs_smart-blur.bin
new file mode 100644
index 00000000000..2d62e84953e
--- /dev/null
+++ b/bgfx/shaders/gles/chains/blurs/vs_smart-blur.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/supereagle/fs_eagle.bin b/bgfx/shaders/gles/chains/eagle/fs_eagle.bin
index 76ba019d544..76ba019d544 100644
--- a/bgfx/shaders/gles/chains/supereagle/fs_eagle.bin
+++ b/bgfx/shaders/gles/chains/eagle/fs_eagle.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/supereagle/vs_eagle.bin b/bgfx/shaders/gles/chains/eagle/vs_eagle.bin
index a67ebb5a044..a67ebb5a044 100644
--- a/bgfx/shaders/gles/chains/supereagle/vs_eagle.bin
+++ b/bgfx/shaders/gles/chains/eagle/vs_eagle.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/hq2x/fs_hq2x.bin b/bgfx/shaders/gles/chains/hqx/fs_hq2x.bin
index 2b008d10a52..2b008d10a52 100644
--- a/bgfx/shaders/gles/chains/hq2x/fs_hq2x.bin
+++ b/bgfx/shaders/gles/chains/hqx/fs_hq2x.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/hq3x/fs_hq3x.bin b/bgfx/shaders/gles/chains/hqx/fs_hq3x.bin
index 7494371f7eb..7494371f7eb 100644
--- a/bgfx/shaders/gles/chains/hq3x/fs_hq3x.bin
+++ b/bgfx/shaders/gles/chains/hqx/fs_hq3x.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/hq4x/fs_hq4x.bin b/bgfx/shaders/gles/chains/hqx/fs_hq4x.bin
index c215c28b740..c215c28b740 100644
--- a/bgfx/shaders/gles/chains/hq4x/fs_hq4x.bin
+++ b/bgfx/shaders/gles/chains/hqx/fs_hq4x.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/hq2x/vs_hq2x.bin b/bgfx/shaders/gles/chains/hqx/vs_hq2x.bin
index 413d1e8bd20..413d1e8bd20 100644
--- a/bgfx/shaders/gles/chains/hq2x/vs_hq2x.bin
+++ b/bgfx/shaders/gles/chains/hqx/vs_hq2x.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/hq3x/vs_hq3x.bin b/bgfx/shaders/gles/chains/hqx/vs_hq3x.bin
index 413d1e8bd20..413d1e8bd20 100644
--- a/bgfx/shaders/gles/chains/hq3x/vs_hq3x.bin
+++ b/bgfx/shaders/gles/chains/hqx/vs_hq3x.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/hq4x/vs_hq4x.bin b/bgfx/shaders/gles/chains/hqx/vs_hq4x.bin
index 413d1e8bd20..413d1e8bd20 100644
--- a/bgfx/shaders/gles/chains/hq4x/vs_hq4x.bin
+++ b/bgfx/shaders/gles/chains/hqx/vs_hq4x.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/super-4xbr-3d-4p/fs_blit.bin b/bgfx/shaders/gles/chains/super-4xbr-3d-4p/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/super-4xbr-3d-4p/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/super-4xbr-3d-6p-smoother/fs_blit.bin b/bgfx/shaders/gles/chains/super-4xbr-3d-6p-smoother/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/super-4xbr-3d-6p-smoother/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/supereagle/fs_blit.bin b/bgfx/shaders/gles/chains/supereagle/fs_blit.bin
deleted file mode 100644
index fab8eaf63d2..00000000000
--- a/bgfx/shaders/gles/chains/supereagle/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/supereagle/vs_blit.bin b/bgfx/shaders/gles/chains/supereagle/vs_blit.bin
deleted file mode 100644
index 499face3174..00000000000
--- a/bgfx/shaders/gles/chains/supereagle/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/warp/fs_dilation-horizontal-fast.bin b/bgfx/shaders/gles/chains/warp/fs_dilation-horizontal-fast.bin
new file mode 100644
index 00000000000..734573098cc
--- /dev/null
+++ b/bgfx/shaders/gles/chains/warp/fs_dilation-horizontal-fast.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/super-4xbr-3d-6p-smoother/vs_blit.bin b/bgfx/shaders/gles/chains/warp/vs_dilation-horizontal-fast.bin
index 9dd618de8a0..66384640a3b 100644
--- a/bgfx/shaders/gles/chains/super-4xbr-3d-6p-smoother/vs_blit.bin
+++ b/bgfx/shaders/gles/chains/warp/vs_dilation-horizontal-fast.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-hybrid/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-hybrid/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-hybrid/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv1-noblend/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv1-noblend/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv1-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-3d/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-3d/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-3d/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-3d/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-3d/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-3d/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-accuracy-multipass/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-accuracy-multipass/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-accuracy-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-accuracy-multipass/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-accuracy-multipass/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-accuracy-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-deposterize/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-deposterize/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-deposterize/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-deposterize/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-deposterize/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-deposterize/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-fast/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-fast/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-fast/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-fast/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-fast/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-fast/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-multipass/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-multipass/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-multipass/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-multipass/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-noblend/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-noblend/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv2-noblend/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv2-noblend/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv2-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv3-multipass/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv3-multipass/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv3-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv3-multipass/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv3-multipass/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv3-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv3-noblend/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv3-noblend/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv3-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv3-noblend/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv3-noblend/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv3-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv3/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv3/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv3/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv3/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-lv3/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-lv3/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-mlv4-dilation/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-mlv4-dilation/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-mlv4-dilation/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-mlv4-dilation/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-mlv4-dilation/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-mlv4-dilation/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-mlv4-multipass/fs_blit.bin b/bgfx/shaders/gles/chains/xbr-mlv4-multipass/fs_blit.bin
deleted file mode 100644
index 22e2f0c23d0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-mlv4-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-mlv4-multipass/vs_blit.bin b/bgfx/shaders/gles/chains/xbr-mlv4-multipass/vs_blit.bin
deleted file mode 100644
index 9dd618de8a0..00000000000
--- a/bgfx/shaders/gles/chains/xbr-mlv4-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/fs_xbr-lv2-noblend.bin b/bgfx/shaders/gles/chains/xbr/fs_xbr-lv2-noblend.bin
new file mode 100644
index 00000000000..b4875edd7c6
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/fs_xbr-lv2-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/fs_xbr-lv3-noblend.bin b/bgfx/shaders/gles/chains/xbr/fs_xbr-lv3-noblend.bin
new file mode 100644
index 00000000000..8ef2d000e2b
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/fs_xbr-lv3-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/fs_xbr-lv3.bin b/bgfx/shaders/gles/chains/xbr/fs_xbr-lv3.bin
new file mode 100644
index 00000000000..e2d807898a8
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/fs_xbr-lv3.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/vs_xbr-lv2-noblend.bin b/bgfx/shaders/gles/chains/xbr/vs_xbr-lv2-noblend.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/vs_xbr-lv2-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/vs_xbr-lv3-noblend.bin b/bgfx/shaders/gles/chains/xbr/vs_xbr-lv3-noblend.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/vs_xbr-lv3-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/vs_xbr-lv3.bin b/bgfx/shaders/gles/chains/xbr/vs_xbr-lv3.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/vs_xbr-lv3.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
new file mode 100644
index 00000000000..07cc94a825f
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
new file mode 100644
index 00000000000..d76f9820389
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
new file mode 100644
index 00000000000..3bc5c076820
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
new file mode 100644
index 00000000000..d43108803f4
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
new file mode 100644
index 00000000000..b56fb7f7b45
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
new file mode 100644
index 00000000000..7c32cfef709
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
new file mode 100644
index 00000000000..ca0c4c91c71
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
new file mode 100644
index 00000000000..4363644e3a5
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
new file mode 100644
index 00000000000..dba31ac29cb
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
new file mode 100644
index 00000000000..df193d6dc41
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
new file mode 100644
index 00000000000..736852f06b3
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
new file mode 100644
index 00000000000..781d845f6bb
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
new file mode 100644
index 00000000000..2788c66aaee
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
new file mode 100644
index 00000000000..1695f2c7e1a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
new file mode 100644
index 00000000000..7f285bb36d9
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
new file mode 100644
index 00000000000..4421f9fd736
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
new file mode 100644
index 00000000000..e19250609ee
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
new file mode 100644
index 00000000000..e19250609ee
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
new file mode 100644
index 00000000000..e19250609ee
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
new file mode 100644
index 00000000000..4582d6f5e1b
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
new file mode 100644
index 00000000000..24e46c52d0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin b/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
new file mode 100644
index 00000000000..0b3b52cd27d
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
new file mode 100644
index 00000000000..8a4c94597f2
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
new file mode 100644
index 00000000000..091d42e9d3e
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
new file mode 100644
index 00000000000..97b44e39b56
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
new file mode 100644
index 00000000000..8b8020487b8
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-lv1-noblend/vs_blit.bin b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
index 9dd618de8a0..1f70fb1d7da 100644
--- a/bgfx/shaders/gles/chains/xbr-lv1-noblend/vs_blit.bin
+++ b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
new file mode 100644
index 00000000000..dd851ddde0a
--- /dev/null
+++ b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/super-4xbr-3d-4p/vs_blit.bin b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
index 9dd618de8a0..9f5f41320c0 100644
--- a/bgfx/shaders/gles/chains/super-4xbr-3d-4p/vs_blit.bin
+++ b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
Binary files differ
diff --git a/bgfx/shaders/gles/chains/xbr-hybrid/vs_blit.bin b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
index 9dd618de8a0..9f5f41320c0 100644
--- a/bgfx/shaders/gles/chains/xbr-hybrid/vs_blit.bin
+++ b/bgfx/shaders/gles/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/blurs/fs_smart-blur.bin b/bgfx/shaders/glsl/chains/blurs/fs_smart-blur.bin
new file mode 100644
index 00000000000..442d5cdadf1
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/blurs/fs_smart-blur.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/blurs/vs_smart-blur.bin b/bgfx/shaders/glsl/chains/blurs/vs_smart-blur.bin
new file mode 100644
index 00000000000..c034943e250
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/blurs/vs_smart-blur.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/supereagle/fs_eagle.bin b/bgfx/shaders/glsl/chains/eagle/fs_eagle.bin
index 1c640de9db8..1c640de9db8 100644
--- a/bgfx/shaders/glsl/chains/supereagle/fs_eagle.bin
+++ b/bgfx/shaders/glsl/chains/eagle/fs_eagle.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/supereagle/vs_eagle.bin b/bgfx/shaders/glsl/chains/eagle/vs_eagle.bin
index d5eccb4c173..d5eccb4c173 100644
--- a/bgfx/shaders/glsl/chains/supereagle/vs_eagle.bin
+++ b/bgfx/shaders/glsl/chains/eagle/vs_eagle.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hq2x/fs_hq2x.bin b/bgfx/shaders/glsl/chains/hqx/fs_hq2x.bin
index 7f3b9f36263..7f3b9f36263 100644
--- a/bgfx/shaders/glsl/chains/hq2x/fs_hq2x.bin
+++ b/bgfx/shaders/glsl/chains/hqx/fs_hq2x.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hq3x/fs_hq3x.bin b/bgfx/shaders/glsl/chains/hqx/fs_hq3x.bin
index b74aea5e0af..b74aea5e0af 100644
--- a/bgfx/shaders/glsl/chains/hq3x/fs_hq3x.bin
+++ b/bgfx/shaders/glsl/chains/hqx/fs_hq3x.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hq4x/fs_hq4x.bin b/bgfx/shaders/glsl/chains/hqx/fs_hq4x.bin
index 86a90e7fa48..86a90e7fa48 100644
--- a/bgfx/shaders/glsl/chains/hq4x/fs_hq4x.bin
+++ b/bgfx/shaders/glsl/chains/hqx/fs_hq4x.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hq2x/vs_hq2x.bin b/bgfx/shaders/glsl/chains/hqx/vs_hq2x.bin
index 789e990106d..789e990106d 100644
--- a/bgfx/shaders/glsl/chains/hq2x/vs_hq2x.bin
+++ b/bgfx/shaders/glsl/chains/hqx/vs_hq2x.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hq3x/vs_hq3x.bin b/bgfx/shaders/glsl/chains/hqx/vs_hq3x.bin
index 789e990106d..789e990106d 100644
--- a/bgfx/shaders/glsl/chains/hq3x/vs_hq3x.bin
+++ b/bgfx/shaders/glsl/chains/hqx/vs_hq3x.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/hq4x/vs_hq4x.bin b/bgfx/shaders/glsl/chains/hqx/vs_hq4x.bin
index 789e990106d..789e990106d 100644
--- a/bgfx/shaders/glsl/chains/hq4x/vs_hq4x.bin
+++ b/bgfx/shaders/glsl/chains/hqx/vs_hq4x.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/super-4xbr-3d-4p/fs_blit.bin b/bgfx/shaders/glsl/chains/super-4xbr-3d-4p/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/super-4xbr-3d-4p/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/super-4xbr-3d-6p-smoother/fs_blit.bin b/bgfx/shaders/glsl/chains/super-4xbr-3d-6p-smoother/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/super-4xbr-3d-6p-smoother/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/supereagle/fs_blit.bin b/bgfx/shaders/glsl/chains/supereagle/fs_blit.bin
deleted file mode 100644
index 3104b9e54b2..00000000000
--- a/bgfx/shaders/glsl/chains/supereagle/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/supereagle/vs_blit.bin b/bgfx/shaders/glsl/chains/supereagle/vs_blit.bin
deleted file mode 100644
index 88ad318046c..00000000000
--- a/bgfx/shaders/glsl/chains/supereagle/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/warp/fs_dilation-horizontal-fast.bin b/bgfx/shaders/glsl/chains/warp/fs_dilation-horizontal-fast.bin
new file mode 100644
index 00000000000..f5c958c3a24
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/warp/fs_dilation-horizontal-fast.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/super-4xbr-3d-6p-smoother/vs_blit.bin b/bgfx/shaders/glsl/chains/warp/vs_dilation-horizontal-fast.bin
index af6c9349f41..aa75b840f57 100644
--- a/bgfx/shaders/glsl/chains/super-4xbr-3d-6p-smoother/vs_blit.bin
+++ b/bgfx/shaders/glsl/chains/warp/vs_dilation-horizontal-fast.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-hybrid/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-hybrid/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-hybrid/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv1-noblend/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv1-noblend/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv1-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-3d/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-3d/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-3d/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-3d/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-3d/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-3d/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-multipass/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-multipass/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-multipass/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-multipass/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-deposterize/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-deposterize/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-deposterize/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-deposterize/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-deposterize/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-deposterize/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-fast/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-fast/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-fast/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-fast/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-fast/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-fast/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-multipass/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-multipass/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-multipass/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-multipass/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-noblend/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-noblend/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv2-noblend/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv2-noblend/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv2-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv3-multipass/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv3-multipass/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv3-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv3-multipass/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv3-multipass/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv3-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv3-noblend/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv3-noblend/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv3-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv3-noblend/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv3-noblend/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv3-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv3/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv3/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv3/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv3/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-lv3/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-lv3/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-mlv4-dilation/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-mlv4-dilation/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-mlv4-dilation/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-mlv4-dilation/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-mlv4-dilation/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-mlv4-dilation/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-mlv4-multipass/fs_blit.bin b/bgfx/shaders/glsl/chains/xbr-mlv4-multipass/fs_blit.bin
deleted file mode 100644
index db0fe2b487b..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-mlv4-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-mlv4-multipass/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr-mlv4-multipass/vs_blit.bin
deleted file mode 100644
index af6c9349f41..00000000000
--- a/bgfx/shaders/glsl/chains/xbr-mlv4-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/fs_xbr-lv2-noblend.bin b/bgfx/shaders/glsl/chains/xbr/fs_xbr-lv2-noblend.bin
new file mode 100644
index 00000000000..f404bb3847c
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/fs_xbr-lv2-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/fs_xbr-lv3-noblend.bin b/bgfx/shaders/glsl/chains/xbr/fs_xbr-lv3-noblend.bin
new file mode 100644
index 00000000000..f8cbc73f326
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/fs_xbr-lv3-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/fs_xbr-lv3.bin b/bgfx/shaders/glsl/chains/xbr/fs_xbr-lv3.bin
new file mode 100644
index 00000000000..9eeb127cdf9
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/fs_xbr-lv3.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/vs_xbr-lv2-noblend.bin b/bgfx/shaders/glsl/chains/xbr/vs_xbr-lv2-noblend.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/vs_xbr-lv2-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/vs_xbr-lv3-noblend.bin b/bgfx/shaders/glsl/chains/xbr/vs_xbr-lv3-noblend.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/vs_xbr-lv3-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/vs_xbr-lv3.bin b/bgfx/shaders/glsl/chains/xbr/vs_xbr-lv3.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/vs_xbr-lv3.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
new file mode 100644
index 00000000000..d84b3236975
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
new file mode 100644
index 00000000000..df01409e7ea
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
new file mode 100644
index 00000000000..79d573d3085
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
new file mode 100644
index 00000000000..924c586a750
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
new file mode 100644
index 00000000000..20eb843b5ae
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
new file mode 100644
index 00000000000..286f94e019c
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
new file mode 100644
index 00000000000..42788a3d40c
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
new file mode 100644
index 00000000000..b9c800b73ef
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
new file mode 100644
index 00000000000..0021e9a700e
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
new file mode 100644
index 00000000000..4e2d3470812
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
new file mode 100644
index 00000000000..9483a864100
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
new file mode 100644
index 00000000000..e07c6914544
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
new file mode 100644
index 00000000000..81460e54d9d
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
new file mode 100644
index 00000000000..57b6d8e8300
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
new file mode 100644
index 00000000000..bfcb3e7b1a5
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
new file mode 100644
index 00000000000..0e1d66c1644
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
new file mode 100644
index 00000000000..b0346c82ec3
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
new file mode 100644
index 00000000000..b0346c82ec3
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
new file mode 100644
index 00000000000..b0346c82ec3
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
new file mode 100644
index 00000000000..ef27a84cdc1
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
new file mode 100644
index 00000000000..dfd83d4fd38
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin b/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
new file mode 100644
index 00000000000..daf1ea4b5de
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
new file mode 100644
index 00000000000..e288d693dbc
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
new file mode 100644
index 00000000000..09fe6dd9e27
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
new file mode 100644
index 00000000000..9310fb7efe7
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
new file mode 100644
index 00000000000..836308b88e2
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/super-4xbr-3d-4p/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
index af6c9349f41..930652f50c0 100644
--- a/bgfx/shaders/glsl/chains/super-4xbr-3d-4p/vs_blit.bin
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
new file mode 100644
index 00000000000..d8d081a91d0
--- /dev/null
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-lv1-noblend/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
index af6c9349f41..3d3962b3901 100644
--- a/bgfx/shaders/glsl/chains/xbr-lv1-noblend/vs_blit.bin
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/chains/xbr-hybrid/vs_blit.bin b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
index af6c9349f41..3d3962b3901 100644
--- a/bgfx/shaders/glsl/chains/xbr-hybrid/vs_blit.bin
+++ b/bgfx/shaders/glsl/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/blurs/fs_smart-blur.bin b/bgfx/shaders/metal/chains/blurs/fs_smart-blur.bin
new file mode 100644
index 00000000000..581ef2f75cc
--- /dev/null
+++ b/bgfx/shaders/metal/chains/blurs/fs_smart-blur.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/blurs/vs_smart-blur.bin b/bgfx/shaders/metal/chains/blurs/vs_smart-blur.bin
new file mode 100644
index 00000000000..4bd75b98140
--- /dev/null
+++ b/bgfx/shaders/metal/chains/blurs/vs_smart-blur.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/supereagle/fs_eagle.bin b/bgfx/shaders/metal/chains/eagle/fs_eagle.bin
index 2d70baf9545..2d70baf9545 100644
--- a/bgfx/shaders/metal/chains/supereagle/fs_eagle.bin
+++ b/bgfx/shaders/metal/chains/eagle/fs_eagle.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/supereagle/vs_eagle.bin b/bgfx/shaders/metal/chains/eagle/vs_eagle.bin
index 268549ac9d2..268549ac9d2 100644
--- a/bgfx/shaders/metal/chains/supereagle/vs_eagle.bin
+++ b/bgfx/shaders/metal/chains/eagle/vs_eagle.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hq2x/fs_hq2x.bin b/bgfx/shaders/metal/chains/hqx/fs_hq2x.bin
index 434944fc7f3..434944fc7f3 100644
--- a/bgfx/shaders/metal/chains/hq2x/fs_hq2x.bin
+++ b/bgfx/shaders/metal/chains/hqx/fs_hq2x.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hq3x/fs_hq3x.bin b/bgfx/shaders/metal/chains/hqx/fs_hq3x.bin
index 38ae9cf1aa5..38ae9cf1aa5 100644
--- a/bgfx/shaders/metal/chains/hq3x/fs_hq3x.bin
+++ b/bgfx/shaders/metal/chains/hqx/fs_hq3x.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hq4x/fs_hq4x.bin b/bgfx/shaders/metal/chains/hqx/fs_hq4x.bin
index 5e417d94af9..5e417d94af9 100644
--- a/bgfx/shaders/metal/chains/hq4x/fs_hq4x.bin
+++ b/bgfx/shaders/metal/chains/hqx/fs_hq4x.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hq2x/vs_hq2x.bin b/bgfx/shaders/metal/chains/hqx/vs_hq2x.bin
index d7332288c05..d7332288c05 100644
--- a/bgfx/shaders/metal/chains/hq2x/vs_hq2x.bin
+++ b/bgfx/shaders/metal/chains/hqx/vs_hq2x.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hq3x/vs_hq3x.bin b/bgfx/shaders/metal/chains/hqx/vs_hq3x.bin
index d7332288c05..d7332288c05 100644
--- a/bgfx/shaders/metal/chains/hq3x/vs_hq3x.bin
+++ b/bgfx/shaders/metal/chains/hqx/vs_hq3x.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/hq4x/vs_hq4x.bin b/bgfx/shaders/metal/chains/hqx/vs_hq4x.bin
index d7332288c05..d7332288c05 100644
--- a/bgfx/shaders/metal/chains/hq4x/vs_hq4x.bin
+++ b/bgfx/shaders/metal/chains/hqx/vs_hq4x.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/super-4xbr-3d-4p/fs_blit.bin b/bgfx/shaders/metal/chains/super-4xbr-3d-4p/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/super-4xbr-3d-4p/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/super-4xbr-3d-6p-smoother/fs_blit.bin b/bgfx/shaders/metal/chains/super-4xbr-3d-6p-smoother/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/super-4xbr-3d-6p-smoother/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/supereagle/fs_blit.bin b/bgfx/shaders/metal/chains/supereagle/fs_blit.bin
deleted file mode 100644
index a0cb475e932..00000000000
--- a/bgfx/shaders/metal/chains/supereagle/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/supereagle/vs_blit.bin b/bgfx/shaders/metal/chains/supereagle/vs_blit.bin
deleted file mode 100644
index eee8677be39..00000000000
--- a/bgfx/shaders/metal/chains/supereagle/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/warp/fs_dilation-horizontal-fast.bin b/bgfx/shaders/metal/chains/warp/fs_dilation-horizontal-fast.bin
new file mode 100644
index 00000000000..cc7a76e66aa
--- /dev/null
+++ b/bgfx/shaders/metal/chains/warp/fs_dilation-horizontal-fast.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv1-noblend/vs_blit.bin b/bgfx/shaders/metal/chains/warp/vs_dilation-horizontal-fast.bin
index 122b7dee5c3..decac68eaf2 100644
--- a/bgfx/shaders/metal/chains/xbr-lv1-noblend/vs_blit.bin
+++ b/bgfx/shaders/metal/chains/warp/vs_dilation-horizontal-fast.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-hybrid/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-hybrid/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-hybrid/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv1-noblend/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv1-noblend/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv1-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-3d/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-3d/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-3d/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-3d/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-3d/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-3d/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-accuracy-multipass/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-accuracy-multipass/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-accuracy-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-accuracy-multipass/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-accuracy-multipass/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-accuracy-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-accuracy-smart-blur/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-accuracy-smart-blur/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-deposterize/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-deposterize/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-deposterize/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-deposterize/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-deposterize/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-deposterize/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-fast/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-fast/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-fast/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-fast/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-fast/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-fast/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-multipass/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-multipass/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-multipass/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-multipass/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-noblend/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-noblend/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv2-noblend/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv2-noblend/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv2-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv3-multipass/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv3-multipass/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv3-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv3-multipass/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv3-multipass/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv3-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv3-noblend/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv3-noblend/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv3-noblend/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv3-noblend/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv3-noblend/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv3-noblend/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv3/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv3/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv3/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-lv3/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-lv3/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-lv3/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-mlv4-dilation/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-mlv4-dilation/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-mlv4-dilation/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-mlv4-dilation/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-mlv4-dilation/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-mlv4-dilation/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-mlv4-multipass/fs_blit.bin b/bgfx/shaders/metal/chains/xbr-mlv4-multipass/fs_blit.bin
deleted file mode 100644
index 6a3da392480..00000000000
--- a/bgfx/shaders/metal/chains/xbr-mlv4-multipass/fs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-mlv4-multipass/vs_blit.bin b/bgfx/shaders/metal/chains/xbr-mlv4-multipass/vs_blit.bin
deleted file mode 100644
index 122b7dee5c3..00000000000
--- a/bgfx/shaders/metal/chains/xbr-mlv4-multipass/vs_blit.bin
+++ /dev/null
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/fs_xbr-lv2-noblend.bin b/bgfx/shaders/metal/chains/xbr/fs_xbr-lv2-noblend.bin
new file mode 100644
index 00000000000..091187d7a45
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/fs_xbr-lv2-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/fs_xbr-lv3-noblend.bin b/bgfx/shaders/metal/chains/xbr/fs_xbr-lv3-noblend.bin
new file mode 100644
index 00000000000..1f336dae013
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/fs_xbr-lv3-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/fs_xbr-lv3.bin b/bgfx/shaders/metal/chains/xbr/fs_xbr-lv3.bin
new file mode 100644
index 00000000000..64cfb6ed994
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/fs_xbr-lv3.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/vs_xbr-lv2-noblend.bin b/bgfx/shaders/metal/chains/xbr/vs_xbr-lv2-noblend.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/vs_xbr-lv2-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/vs_xbr-lv3-noblend.bin b/bgfx/shaders/metal/chains/xbr/vs_xbr-lv3-noblend.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/vs_xbr-lv3-noblend.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/vs_xbr-lv3.bin b/bgfx/shaders/metal/chains/xbr/vs_xbr-lv3.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/vs_xbr-lv3.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
new file mode 100644
index 00000000000..da4e73e073f
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
new file mode 100644
index 00000000000..ce8fb5c9af7
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
new file mode 100644
index 00000000000..46f7705b510
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
new file mode 100644
index 00000000000..f3181814f10
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
new file mode 100644
index 00000000000..1816d716785
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
new file mode 100644
index 00000000000..cb44c5354fa
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
new file mode 100644
index 00000000000..4ac54dc804f
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
new file mode 100644
index 00000000000..7416db18edc
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
new file mode 100644
index 00000000000..f6122c970c4
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
new file mode 100644
index 00000000000..1c9652688c6
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
new file mode 100644
index 00000000000..665fec3186e
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
new file mode 100644
index 00000000000..896071a63cd
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
new file mode 100644
index 00000000000..49ade63740b
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
new file mode 100644
index 00000000000..453fce0f89b
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
new file mode 100644
index 00000000000..684131e13c7
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
new file mode 100644
index 00000000000..e2deee8aee3
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
new file mode 100644
index 00000000000..fc154cbf793
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
new file mode 100644
index 00000000000..fc154cbf793
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
new file mode 100644
index 00000000000..fc154cbf793
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
new file mode 100644
index 00000000000..f291cdbff41
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
new file mode 100644
index 00000000000..b8a55e3f1b2
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin b/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
new file mode 100644
index 00000000000..97972ff4759
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
new file mode 100644
index 00000000000..6a12b320a2d
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
new file mode 100644
index 00000000000..4fc88cb5537
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
new file mode 100644
index 00000000000..4ac8e8ff6ee
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
new file mode 100644
index 00000000000..edfa341b54c
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/super-4xbr-3d-6p-smoother/vs_blit.bin b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
index 122b7dee5c3..79448501cb2 100644
--- a/bgfx/shaders/metal/chains/super-4xbr-3d-6p-smoother/vs_blit.bin
+++ b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
new file mode 100644
index 00000000000..f39ca902371
--- /dev/null
+++ b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/xbr-hybrid/vs_blit.bin b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
index 122b7dee5c3..5d97f29fdba 100644
--- a/bgfx/shaders/metal/chains/xbr-hybrid/vs_blit.bin
+++ b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin
Binary files differ
diff --git a/bgfx/shaders/metal/chains/super-4xbr-3d-4p/vs_blit.bin b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
index 122b7dee5c3..5d97f29fdba 100644
--- a/bgfx/shaders/metal/chains/super-4xbr-3d-4p/vs_blit.bin
+++ b/bgfx/shaders/metal/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin
Binary files differ