summaryrefslogtreecommitdiffstatshomepage
path: root/bgfx
diff options
context:
space:
mode:
Diffstat (limited to 'bgfx')
-rw-r--r--bgfx/chains/hlsl.json135
-rw-r--r--bgfx/chains/test.json2
-rw-r--r--bgfx/effects/color.json28
-rw-r--r--bgfx/effects/deconverge.json33
-rw-r--r--bgfx/effects/ntsc_decode.json35
-rw-r--r--bgfx/effects/ntsc_encode.json31
-rw-r--r--bgfx/shaders/dx11/fs_blit.binbin0 -> 38808 bytes
-rw-r--r--bgfx/shaders/dx11/fs_color.binbin0 -> 41211 bytes
-rw-r--r--bgfx/shaders/dx11/fs_deconverge.binbin0 -> 41062 bytes
-rw-r--r--bgfx/shaders/dx11/fs_gui.binbin0 -> 38808 bytes
-rw-r--r--bgfx/shaders/dx11/fs_ntsc.binbin0 -> 2222 bytes
-rw-r--r--bgfx/shaders/dx11/fs_ntsc_decode.binbin0 -> 58542 bytes
-rw-r--r--bgfx/shaders/dx11/fs_ntsc_encode.binbin0 -> 48410 bytes
-rw-r--r--bgfx/shaders/dx11/fs_phosphor.binbin0 -> 41138 bytes
-rw-r--r--bgfx/shaders/dx11/fs_ratios.binbin0 -> 41118 bytes
-rw-r--r--bgfx/shaders/dx11/fs_screen.binbin0 -> 38808 bytes
-rw-r--r--bgfx/shaders/dx11/fs_tint.binbin0 -> 38963 bytes
-rw-r--r--bgfx/shaders/dx11/vs_blit.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_color.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_deconverge.binbin0 -> 43858 bytes
-rw-r--r--bgfx/shaders/dx11/vs_gui.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_ntsc.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_ntsc_decode.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_ntsc_encode.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_phosphor.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_ratios.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_screen.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx11/vs_tint.binbin0 -> 38987 bytes
-rw-r--r--bgfx/shaders/dx9/fs_blit.binbin0 -> 605 bytes
-rw-r--r--bgfx/shaders/dx9/fs_color.binbin0 -> 1483 bytes
-rw-r--r--bgfx/shaders/dx9/fs_deconverge.binbin0 -> 1026 bytes
-rw-r--r--bgfx/shaders/dx9/fs_gui.binbin0 -> 645 bytes
-rw-r--r--bgfx/shaders/dx9/fs_ntsc.binbin0 -> 10454 bytes
-rw-r--r--bgfx/shaders/dx9/fs_ntsc_decode.binbin0 -> 8110 bytes
-rw-r--r--bgfx/shaders/dx9/fs_ntsc_encode.binbin0 -> 4010 bytes
-rw-r--r--bgfx/shaders/dx9/fs_phosphor.binbin0 -> 1103 bytes
-rw-r--r--bgfx/shaders/dx9/fs_ratios.binbin0 -> 1171 bytes
-rw-r--r--bgfx/shaders/dx9/fs_screen.binbin0 -> 605 bytes
-rw-r--r--bgfx/shaders/dx9/fs_tint.binbin0 -> 896 bytes
-rw-r--r--bgfx/shaders/dx9/vs_blit.binbin0 -> 886 bytes
-rw-r--r--bgfx/shaders/dx9/vs_color.binbin0 -> 886 bytes
-rw-r--r--bgfx/shaders/dx9/vs_deconverge.binbin0 -> 2037 bytes
-rw-r--r--bgfx/shaders/dx9/vs_gui.binbin0 -> 886 bytes
-rw-r--r--bgfx/shaders/dx9/vs_ntsc.binbin0 -> 886 bytes
-rw-r--r--bgfx/shaders/dx9/vs_ntsc_decode.binbin0 -> 894 bytes
-rw-r--r--bgfx/shaders/dx9/vs_ntsc_encode.binbin0 -> 894 bytes
-rw-r--r--bgfx/shaders/dx9/vs_phosphor.binbin0 -> 890 bytes
-rw-r--r--bgfx/shaders/dx9/vs_ratios.binbin0 -> 886 bytes
-rw-r--r--bgfx/shaders/dx9/vs_screen.binbin0 -> 886 bytes
-rw-r--r--bgfx/shaders/dx9/vs_tint.binbin0 -> 886 bytes
-rw-r--r--bgfx/shaders/gles/fs_blit.binbin0 -> 238 bytes
-rw-r--r--bgfx/shaders/gles/fs_color.binbin0 -> 976 bytes
-rw-r--r--bgfx/shaders/gles/fs_deconverge.binbin0 -> 469 bytes
-rw-r--r--bgfx/shaders/gles/fs_gui.binbin0 -> 238 bytes
-rw-r--r--bgfx/shaders/gles/fs_ntsc.binbin0 -> 7591 bytes
-rw-r--r--bgfx/shaders/gles/fs_ntsc_decode.binbin0 -> 5045 bytes
-rw-r--r--bgfx/shaders/gles/fs_ntsc_encode.binbin0 -> 2998 bytes
-rw-r--r--bgfx/shaders/gles/fs_phosphor.binbin0 -> 599 bytes
-rw-r--r--bgfx/shaders/gles/fs_ratios.binbin0 -> 745 bytes
-rw-r--r--bgfx/shaders/gles/fs_screen.binbin0 -> 238 bytes
-rw-r--r--bgfx/shaders/gles/fs_tint.binbin0 -> 438 bytes
-rw-r--r--bgfx/shaders/gles/vs_blit.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/gles/vs_color.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/gles/vs_deconverge.binbin0 -> 1565 bytes
-rw-r--r--bgfx/shaders/gles/vs_gui.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/gles/vs_ntsc.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/gles/vs_ntsc_decode.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/gles/vs_ntsc_encode.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/gles/vs_phosphor.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/gles/vs_ratios.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/gles/vs_screen.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/gles/vs_tint.binbin0 -> 419 bytes
-rw-r--r--bgfx/shaders/glsl/fs_blit.binbin0 -> 181 bytes
-rw-r--r--bgfx/shaders/glsl/fs_color.binbin0 -> 909 bytes
-rw-r--r--bgfx/shaders/glsl/fs_deconverge.binbin0 -> 440 bytes
-rw-r--r--bgfx/shaders/glsl/fs_gui.binbin0 -> 181 bytes
-rw-r--r--bgfx/shaders/glsl/fs_ntsc.binbin0 -> 7168 bytes
-rw-r--r--bgfx/shaders/glsl/fs_ntsc_decode.binbin0 -> 4768 bytes
-rw-r--r--bgfx/shaders/glsl/fs_ntsc_encode.binbin0 -> 2849 bytes
-rw-r--r--bgfx/shaders/glsl/fs_phosphor.binbin0 -> 520 bytes
-rw-r--r--bgfx/shaders/glsl/fs_ratios.binbin0 -> 694 bytes
-rw-r--r--bgfx/shaders/glsl/fs_screen.binbin0 -> 181 bytes
-rw-r--r--bgfx/shaders/glsl/fs_tint.binbin0 -> 371 bytes
-rw-r--r--bgfx/shaders/glsl/vs_blit.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/vs_color.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/vs_deconverge.binbin0 -> 1451 bytes
-rw-r--r--bgfx/shaders/glsl/vs_gui.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/vs_ntsc.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/vs_ntsc_decode.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/vs_ntsc_encode.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/vs_phosphor.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/vs_ratios.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/vs_screen.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/glsl/vs_tint.binbin0 -> 377 bytes
-rw-r--r--bgfx/shaders/metal/fs_blit.binbin0 -> 634 bytes
-rw-r--r--bgfx/shaders/metal/fs_color.binbin0 -> 1334 bytes
-rw-r--r--bgfx/shaders/metal/fs_deconverge.binbin0 -> 1069 bytes
-rw-r--r--bgfx/shaders/metal/fs_gui.binbin0 -> 634 bytes
-rw-r--r--bgfx/shaders/metal/fs_ntsc.binbin0 -> 8322 bytes
-rw-r--r--bgfx/shaders/metal/fs_ntsc_decode.binbin0 -> 5616 bytes
-rw-r--r--bgfx/shaders/metal/fs_ntsc_encode.binbin0 -> 3613 bytes
-rw-r--r--bgfx/shaders/metal/fs_phosphor.binbin0 -> 1066 bytes
-rw-r--r--bgfx/shaders/metal/fs_ratios.binbin0 -> 1116 bytes
-rw-r--r--bgfx/shaders/metal/fs_screen.binbin0 -> 634 bytes
-rw-r--r--bgfx/shaders/metal/fs_tint.binbin0 -> 835 bytes
-rw-r--r--bgfx/shaders/metal/vs_blit.binbin0 -> 757 bytes
-rw-r--r--bgfx/shaders/metal/vs_color.binbin0 -> 757 bytes
-rw-r--r--bgfx/shaders/metal/vs_deconverge.binbin0 -> 1709 bytes
-rw-r--r--bgfx/shaders/metal/vs_gui.binbin0 -> 757 bytes
-rw-r--r--bgfx/shaders/metal/vs_ntsc.binbin0 -> 757 bytes
-rw-r--r--bgfx/shaders/metal/vs_ntsc_decode.binbin0 -> 757 bytes
-rw-r--r--bgfx/shaders/metal/vs_ntsc_encode.binbin0 -> 757 bytes
-rw-r--r--bgfx/shaders/metal/vs_phosphor.binbin0 -> 757 bytes
-rw-r--r--bgfx/shaders/metal/vs_ratios.binbin0 -> 757 bytes
-rw-r--r--bgfx/shaders/metal/vs_screen.binbin0 -> 757 bytes
-rw-r--r--bgfx/shaders/metal/vs_tint.binbin0 -> 757 bytes
116 files changed, 263 insertions, 1 deletions
diff --git a/bgfx/chains/hlsl.json b/bgfx/chains/hlsl.json
new file mode 100644
index 00000000000..df743cd9d7d
--- /dev/null
+++ b/bgfx/chains/hlsl.json
@@ -0,0 +1,135 @@
+{ "name": "Classic D3D HLSL CRT Simulation",
+ "author": "Ryan Holtz & ImJezze",
+ "sliders": [
+ { "type": "int_enum", "name": "adjustments", "text": "Enable Adjustments", "default": 0, "max": 1, "min": 0, "step": 1, "scale": 1.0, "format": "%s", "screen": "any", "strings": [ "Off", "On" ] },
+
+ { "type": "int_enum", "name": "ntsc", "text": "Enable NTSC", "default": 0, "max": 1, "min": 0, "step": 1, "scale": 1.0, "format": "%s", "screen": "any", "strings": [ "Off", "On" ] },
+ { "type": "float", "name": "a_value", "text": "NTSC A Value", "default": 50, "max": 100, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+ { "type": "float", "name": "b_value", "text": "NTSC B Value", "default": 50, "max": 100, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+ { "type": "float", "name": "cc_value", "text": "NTSC Color Carrier (Hz)", "default": 35795454, "max": 36795454, "min": 34795454, "step": 100, "scale": 0.0000001, "format": "%1.7f", "screen": "raster" },
+ { "type": "float", "name": "o_value", "text": "NTSC Time Offset", "default": 0, "max": 100, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+ { "type": "float", "name": "p_value", "text": "NTSC Phase Offset", "default": 100, "max": 200, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+ { "type": "float", "name": "scan_time", "text": "NTSC Scanline Duration (uSec)", "default": 526, "max": 1500, "min": 1, "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
+ { "type": "float", "name": "notch_width", "text": "NTSC Color Notch Filter Width", "default": 100, "max": 400, "min": 1, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+ { "type": "float", "name": "y_freq_response", "text": "NTSC Y Signal Bandwidth (Hz)", "default": 600, "max": 2100, "min": 1, "step": 10, "scale": 0.01, "format": "%2.2f", "screen": "raster" },
+ { "type": "float", "name": "i_freq_response", "text": "NTSC I Signal Bandwidth (Hz)", "default": 120, "max": 2100, "min": 1, "step": 10, "scale": 0.01, "format": "%2.2f", "screen": "raster" },
+ { "type": "float", "name": "q_freq_response", "text": "NTSC Q Signal Bandwidth (Hz)", "default": 60, "max": 2100, "min": 1, "step": 10, "scale": 0.01, "format": "%2.2f", "screen": "raster" },
+ { "type": "float", "name": "jitter_offset", "text": "NTSC Frame Jitter Offset", "default": 0, "max": 200, "min": 1, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+
+ { "type": "color", "name": "red_ratios", "text": "Red Output from ", "default": [ 100, 0, 0 ], "max": [ 200, 200, 200 ], "min": [ 0, 0, 0 ], "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+ { "type": "color", "name": "grn_ratios", "text": "Green Output from ", "default": [ 0, 100, 0 ], "max": [ 200, 200, 200 ], "min": [ 0, 0, 0 ], "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+ { "type": "color", "name": "blu_ratios", "text": "Blue Output from ", "default": [ 0, 0, 100 ], "max": [ 200, 200, 200 ], "min": [ 0, 0, 0 ], "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+ { "type": "color", "name": "offset", "text": "Signal Offset, ", "default": [ 0, 0, 0 ], "max": [ 200, 200, 200 ], "min": [ 0, 0, 0 ], "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+ { "type": "color", "name": "scale", "text": "Signal Scale, ", "default": [ 100, 100, 100 ], "max": [ 200, 200, 200 ], "min": [ 0, 0, 0 ], "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+ { "type": "float", "name": "saturation", "text": "Color Saturation", "default": 100, "max": 400, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "raster" },
+
+ { "type": "vec2", "name": "converge_red", "text": "Red Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
+ { "type": "vec2", "name": "converge_green", "text": "Green Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
+ { "type": "vec2", "name": "converge_blue", "text": "Blue Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
+ { "type": "vec2", "name": "radial_converge_red", "text": "Red Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
+ { "type": "vec2", "name": "radial_converge_green", "text": "Green Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" },
+ { "type": "vec2", "name": "radial_converge_blue", "text": "Blue Convergence, ", "default": [ 0, 0 ], "max": [ 8000, 6000 ], "min": [ -8000, -6000 ], "step": 1, "scale": 0.1, "format": "%3.1f", "screen": "raster" }
+ ],
+ "parameters": [
+ { "name": "jitter", "type": "frame", "period": 2 }
+ ],
+ "targets": [
+ {
+ "name": "guest",
+ "mode": "guest",
+ "prescale": 1,
+ "doublebuffer": true
+ },
+ { "name": "native",
+ "mode": "native",
+ "prescale": 1,
+ "doublebuffer": true
+ },
+ { "name": "previous",
+ "mode": "native",
+ "prescale": 1,
+ "doublebuffer": true
+ }
+ ],
+ "passes": [
+ { "effect": "ntsc_encode",
+ "name": "NTSC Decode",
+ "disablewhen": [
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "adjustments", "value": 0 },
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "ntsc", "value": 0 }
+ ],
+ "uniforms": [
+ { "uniform": "u_a_value", "slider": "a_value" },
+ { "uniform": "u_b_value", "slider": "b_value" },
+ { "uniform": "u_cc_value", "slider": "cc_value" },
+ { "uniform": "u_p_value", "slider": "p_value" },
+ { "uniform": "u_scan_time", "slider": "scan_time" },
+ { "uniform": "u_jitter_offset", "slider": "jitter_offset" },
+ { "uniform": "u_jitter_amount", "parameter": "jitter" }
+ ],
+ "input": [
+ { "sampler": "DiffuseSampler", "texture": "screen" }
+ ],
+ "output": "guest"
+ },
+ { "effect": "ntsc_decode",
+ "name": "NTSC Decode",
+ "disablewhen": [
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "adjustments", "value": 0 },
+ { "type": "slider", "condition": "equal", "combine": "or", "name": "ntsc", "value": 0 }
+ ],
+ "uniforms": [
+ { "uniform": "u_a_value", "slider": "a_value" },
+ { "uniform": "u_b_value", "slider": "b_value" },
+ { "uniform": "u_cc_value", "slider": "cc_value" },
+ { "uniform": "u_o_value", "slider": "o_value" },
+ { "uniform": "u_scan_time", "slider": "scan_time" },
+ { "uniform": "u_notch_width", "slider": "notch_width" },
+ { "uniform": "u_y_freq_response", "slider": "y_freq_response" },
+ { "uniform": "u_i_freq_response", "slider": "i_freq_response" },
+ { "uniform": "u_q_freq_response", "slider": "q_freq_response" },
+ { "uniform": "u_q_freq_response", "slider": "q_freq_response" },
+ { "uniform": "u_jitter_offset", "slider": "jitter_offset" },
+ { "uniform": "u_jitter_amount", "parameter": "jitter" }
+ ],
+ "input": [
+ { "sampler": "DiffuseSampler", "texture": "guest" }
+ ],
+ "output": "guest"
+ },
+ { "effect": "blit",
+ "name": "NTSC Skip",
+ "disablewhen": [
+ { "type": "slider", "condition": "notequal", "combine": "and", "name": "adjustments", "value": 0 },
+ { "type": "slider", "condition": "notequal", "combine": "and", "name": "ntsc", "value": 0 }
+ ],
+ "input": [
+ { "sampler": "s_tex", "texture": "screen" }
+ ],
+ "output": "guest"
+ },
+ { "effect": "blit",
+ "name": "Prescale",
+ "input": [
+ { "sampler": "s_tex", "texture": "guest" }
+ ],
+ "output": "native"
+ },
+ { "effect": "deconverge",
+ "name": "Deconvergence",
+ "uniforms": [
+ { "uniform": "u_converge_red", "slider": "converge_red" },
+ { "uniform": "u_converge_green", "slider": "converge_green" },
+ { "uniform": "u_converge_blue", "slider": "converge_blue" },
+ { "uniform": "u_radial_converge_red", "slider": "radial_converge_red" },
+ { "uniform": "u_radial_converge_green", "slider": "radial_converge_green" },
+ { "uniform": "u_radial_converge_blue", "slider": "radial_converge_blue" }
+ ],
+ "input": [
+ { "sampler": "DiffuseSampler", "texture": "native" }
+ ],
+ "output": "native"
+ }
+ ],
+ "output": "native"
+} \ No newline at end of file
diff --git a/bgfx/chains/test.json b/bgfx/chains/test.json
index ddd12df8ff7..f698ff6cf54 100644
--- a/bgfx/chains/test.json
+++ b/bgfx/chains/test.json
@@ -11,7 +11,7 @@
{ "type": "vec2", "name": "shift", "text": "Frame Shift ", "default": [ 0, 0 ], "max": [ 25, 25 ], "min": [ -25, -25 ], "step": 1, "scale": 1.0, "format": "%2.f", "screen": "raster" }
],
"parameters": [
- { "name": "alternating", "type": "frame_mask", "period": 2 }
+ { "name": "alternating", "type": "frame", "period": 2 }
],
"targets": [
{ "name": "native",
diff --git a/bgfx/effects/color.json b/bgfx/effects/color.json
new file mode 100644
index 00000000000..8e1ad25e167
--- /dev/null
+++ b/bgfx/effects/color.json
@@ -0,0 +1,28 @@
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "srcAlpha",
+ "dstColor": "1-srcAlpha",
+ "srcAlpha": "srcAlpha",
+ "dstAlpha": "1-srcAlpha"
+ },
+ "depth": {
+ "function": "always"
+ },
+ "cull": { "mode": "none" },
+ "write": {
+ "rgb": "true",
+ "alpha": "true"
+ },
+ "vertex": "vs_color",
+ "fragment": "fs_color",
+ "uniforms": [
+ { "name": "DiffuseSampler", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_red_ratios", "type": "vec4", "values": [ 1.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_grn_ratios", "type": "vec4", "values": [ 0.0, 1.0, 0.0, 0.0 ] },
+ { "name": "u_blu_ratios", "type": "vec4", "values": [ 0.0, 0.0, 1.0, 0.0 ] },
+ { "name": "u_offset", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_scale", "type": "vec4", "values": [ 1.0, 1.0, 1.0, 0.0 ] },
+ { "name": "u_saturation", "type": "vec4", "values": [ 1.0, 0.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/deconverge.json b/bgfx/effects/deconverge.json
new file mode 100644
index 00000000000..71a0c6e3cb8
--- /dev/null
+++ b/bgfx/effects/deconverge.json
@@ -0,0 +1,33 @@
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "srcAlpha",
+ "dstColor": "1-srcAlpha",
+ "srcAlpha": "srcAlpha",
+ "dstAlpha": "1-srcAlpha"
+ },
+ "depth": {
+ "function": "always"
+ },
+ "cull": { "mode": "none" },
+ "write": {
+ "rgb": "true",
+ "alpha": "true"
+ },
+ "vertex": "vs_deconverge",
+ "fragment": "fs_deconverge",
+ "uniforms": [
+ { "name": "DiffuseSampler", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_texsize", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_screenrect", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_converge_red", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_converge_green", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_converge_blue", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_radial_converge_red", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_radial_converge_green", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_radial_converge_blue", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_swap_xy", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_quad_dims", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_guest_dims", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/ntsc_decode.json b/bgfx/effects/ntsc_decode.json
new file mode 100644
index 00000000000..fdbdb847146
--- /dev/null
+++ b/bgfx/effects/ntsc_decode.json
@@ -0,0 +1,35 @@
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "srcAlpha",
+ "dstColor": "1-srcAlpha",
+ "srcAlpha": "srcAlpha",
+ "dstAlpha": "1-srcAlpha"
+ },
+ "depth": {
+ "function": "always"
+ },
+ "cull": { "mode": "none" },
+ "write": {
+ "rgb": "true",
+ "alpha": "true"
+ },
+ "vertex": "vs_ntsc_decode",
+ "fragment": "fs_ntsc_decode",
+ "uniforms": [
+ { "name": "DiffuseSampler", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_texsize", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_screenrect", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_a_value", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_b_value", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_cc_value", "type": "vec4", "values": [ 3.5795454, 0.0, 0.0, 0.0 ] },
+ { "name": "u_o_value", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_scan_time", "type": "vec4", "values": [ 52.6, 0.0, 0.0, 0.0 ] },
+ { "name": "u_notch_width", "type": "vec4", "values": [ 2.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_y_freq_response", "type": "vec4", "values": [ 6.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_i_freq_response", "type": "vec4", "values": [ 1.2, 0.0, 0.0, 0.0 ] },
+ { "name": "u_q_freq_response", "type": "vec4", "values": [ 0.6, 0.0, 0.0, 0.0 ] },
+ { "name": "u_jitter_amount", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_jitter_offset", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/effects/ntsc_encode.json b/bgfx/effects/ntsc_encode.json
new file mode 100644
index 00000000000..b0284799839
--- /dev/null
+++ b/bgfx/effects/ntsc_encode.json
@@ -0,0 +1,31 @@
+{
+ "blend": {
+ "equation": "add",
+ "srcColor": "srcAlpha",
+ "dstColor": "1-srcAlpha",
+ "srcAlpha": "srcAlpha",
+ "dstAlpha": "1-srcAlpha"
+ },
+ "depth": {
+ "function": "always"
+ },
+ "cull": { "mode": "none" },
+ "write": {
+ "rgb": "true",
+ "alpha": "true"
+ },
+ "vertex": "vs_ntsc_encode",
+ "fragment": "fs_ntsc_encode",
+ "uniforms": [
+ { "name": "DiffuseSampler", "type": "int", "values": [ 1.0 ] },
+ { "name": "u_texsize", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_screenrect", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_a_value", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_b_value", "type": "vec4", "values": [ 0.5, 0.0, 0.0, 0.0 ] },
+ { "name": "u_cc_value", "type": "vec4", "values": [ 3.5795454, 0.0, 0.0, 0.0 ] },
+ { "name": "u_p_value", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_scan_time", "type": "vec4", "values": [ 52.6, 0.0, 0.0, 0.0 ] },
+ { "name": "u_jitter_amount", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] },
+ { "name": "u_jitter_offset", "type": "vec4", "values": [ 0.0, 0.0, 0.0, 0.0 ] }
+ ]
+} \ No newline at end of file
diff --git a/bgfx/shaders/dx11/fs_blit.bin b/bgfx/shaders/dx11/fs_blit.bin
new file mode 100644
index 00000000000..a85e820871c
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_color.bin b/bgfx/shaders/dx11/fs_color.bin
new file mode 100644
index 00000000000..0d67b7ae49a
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_color.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_deconverge.bin b/bgfx/shaders/dx11/fs_deconverge.bin
new file mode 100644
index 00000000000..16f2c569081
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_gui.bin b/bgfx/shaders/dx11/fs_gui.bin
new file mode 100644
index 00000000000..d7b1df5f758
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_ntsc.bin b/bgfx/shaders/dx11/fs_ntsc.bin
new file mode 100644
index 00000000000..5624d13ce66
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_ntsc.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_ntsc_decode.bin b/bgfx/shaders/dx11/fs_ntsc_decode.bin
new file mode 100644
index 00000000000..8b8c4806386
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_ntsc_encode.bin b/bgfx/shaders/dx11/fs_ntsc_encode.bin
new file mode 100644
index 00000000000..739ac01c72f
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_phosphor.bin b/bgfx/shaders/dx11/fs_phosphor.bin
new file mode 100644
index 00000000000..4de9fe2d94f
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_ratios.bin b/bgfx/shaders/dx11/fs_ratios.bin
new file mode 100644
index 00000000000..74aaff2e824
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_screen.bin b/bgfx/shaders/dx11/fs_screen.bin
new file mode 100644
index 00000000000..27b8da9aa5f
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/fs_tint.bin b/bgfx/shaders/dx11/fs_tint.bin
new file mode 100644
index 00000000000..3c85a877510
--- /dev/null
+++ b/bgfx/shaders/dx11/fs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_blit.bin b/bgfx/shaders/dx11/vs_blit.bin
new file mode 100644
index 00000000000..c9df5a9aa19
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_color.bin b/bgfx/shaders/dx11/vs_color.bin
new file mode 100644
index 00000000000..f4162cb7460
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_color.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_deconverge.bin b/bgfx/shaders/dx11/vs_deconverge.bin
new file mode 100644
index 00000000000..1ff405263ad
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_gui.bin b/bgfx/shaders/dx11/vs_gui.bin
new file mode 100644
index 00000000000..38b6e0ca8ba
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_ntsc.bin b/bgfx/shaders/dx11/vs_ntsc.bin
new file mode 100644
index 00000000000..9d289b789dc
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_ntsc.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_ntsc_decode.bin b/bgfx/shaders/dx11/vs_ntsc_decode.bin
new file mode 100644
index 00000000000..523172676c5
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_ntsc_encode.bin b/bgfx/shaders/dx11/vs_ntsc_encode.bin
new file mode 100644
index 00000000000..f063fcbb7bc
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_phosphor.bin b/bgfx/shaders/dx11/vs_phosphor.bin
new file mode 100644
index 00000000000..3c73f85053e
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_ratios.bin b/bgfx/shaders/dx11/vs_ratios.bin
new file mode 100644
index 00000000000..2dfcd19c4cd
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_screen.bin b/bgfx/shaders/dx11/vs_screen.bin
new file mode 100644
index 00000000000..d4c1054ae31
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/dx11/vs_tint.bin b/bgfx/shaders/dx11/vs_tint.bin
new file mode 100644
index 00000000000..2aa021d990d
--- /dev/null
+++ b/bgfx/shaders/dx11/vs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_blit.bin b/bgfx/shaders/dx9/fs_blit.bin
new file mode 100644
index 00000000000..6fb1c1216e5
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_color.bin b/bgfx/shaders/dx9/fs_color.bin
new file mode 100644
index 00000000000..5a2d8fade39
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_color.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_deconverge.bin b/bgfx/shaders/dx9/fs_deconverge.bin
new file mode 100644
index 00000000000..013c9d6654a
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_gui.bin b/bgfx/shaders/dx9/fs_gui.bin
new file mode 100644
index 00000000000..1f103798a98
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_ntsc.bin b/bgfx/shaders/dx9/fs_ntsc.bin
new file mode 100644
index 00000000000..1b9a7785023
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_ntsc.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_ntsc_decode.bin b/bgfx/shaders/dx9/fs_ntsc_decode.bin
new file mode 100644
index 00000000000..988dd059efa
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_ntsc_encode.bin b/bgfx/shaders/dx9/fs_ntsc_encode.bin
new file mode 100644
index 00000000000..754b52af0e4
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_phosphor.bin b/bgfx/shaders/dx9/fs_phosphor.bin
new file mode 100644
index 00000000000..0166bd2acfa
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_ratios.bin b/bgfx/shaders/dx9/fs_ratios.bin
new file mode 100644
index 00000000000..d9747d51c78
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_screen.bin b/bgfx/shaders/dx9/fs_screen.bin
new file mode 100644
index 00000000000..bbdf62903b4
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/fs_tint.bin b/bgfx/shaders/dx9/fs_tint.bin
new file mode 100644
index 00000000000..ac548cf447e
--- /dev/null
+++ b/bgfx/shaders/dx9/fs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_blit.bin b/bgfx/shaders/dx9/vs_blit.bin
new file mode 100644
index 00000000000..c52010cac50
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_color.bin b/bgfx/shaders/dx9/vs_color.bin
new file mode 100644
index 00000000000..86fbcf81c37
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_color.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_deconverge.bin b/bgfx/shaders/dx9/vs_deconverge.bin
new file mode 100644
index 00000000000..856190c4d70
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_gui.bin b/bgfx/shaders/dx9/vs_gui.bin
new file mode 100644
index 00000000000..17b1f20ded0
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_ntsc.bin b/bgfx/shaders/dx9/vs_ntsc.bin
new file mode 100644
index 00000000000..ffafd21caeb
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_ntsc.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_ntsc_decode.bin b/bgfx/shaders/dx9/vs_ntsc_decode.bin
new file mode 100644
index 00000000000..4bb8a1481ed
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_ntsc_encode.bin b/bgfx/shaders/dx9/vs_ntsc_encode.bin
new file mode 100644
index 00000000000..48501754f93
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_phosphor.bin b/bgfx/shaders/dx9/vs_phosphor.bin
new file mode 100644
index 00000000000..6f14716a6ef
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_ratios.bin b/bgfx/shaders/dx9/vs_ratios.bin
new file mode 100644
index 00000000000..db1bb071902
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_screen.bin b/bgfx/shaders/dx9/vs_screen.bin
new file mode 100644
index 00000000000..2c891cce91a
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/dx9/vs_tint.bin b/bgfx/shaders/dx9/vs_tint.bin
new file mode 100644
index 00000000000..c8b53d447d1
--- /dev/null
+++ b/bgfx/shaders/dx9/vs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_blit.bin b/bgfx/shaders/gles/fs_blit.bin
new file mode 100644
index 00000000000..22e2f0c23d0
--- /dev/null
+++ b/bgfx/shaders/gles/fs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_color.bin b/bgfx/shaders/gles/fs_color.bin
new file mode 100644
index 00000000000..aa4e13d03ae
--- /dev/null
+++ b/bgfx/shaders/gles/fs_color.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_deconverge.bin b/bgfx/shaders/gles/fs_deconverge.bin
new file mode 100644
index 00000000000..33f2f66a503
--- /dev/null
+++ b/bgfx/shaders/gles/fs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_gui.bin b/bgfx/shaders/gles/fs_gui.bin
new file mode 100644
index 00000000000..22e2f0c23d0
--- /dev/null
+++ b/bgfx/shaders/gles/fs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_ntsc.bin b/bgfx/shaders/gles/fs_ntsc.bin
new file mode 100644
index 00000000000..7fa4e782c2b
--- /dev/null
+++ b/bgfx/shaders/gles/fs_ntsc.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_ntsc_decode.bin b/bgfx/shaders/gles/fs_ntsc_decode.bin
new file mode 100644
index 00000000000..49458ff0b80
--- /dev/null
+++ b/bgfx/shaders/gles/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_ntsc_encode.bin b/bgfx/shaders/gles/fs_ntsc_encode.bin
new file mode 100644
index 00000000000..0d0bdbeea37
--- /dev/null
+++ b/bgfx/shaders/gles/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_phosphor.bin b/bgfx/shaders/gles/fs_phosphor.bin
new file mode 100644
index 00000000000..9ebdaa8f4ce
--- /dev/null
+++ b/bgfx/shaders/gles/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_ratios.bin b/bgfx/shaders/gles/fs_ratios.bin
new file mode 100644
index 00000000000..2f053c136f7
--- /dev/null
+++ b/bgfx/shaders/gles/fs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_screen.bin b/bgfx/shaders/gles/fs_screen.bin
new file mode 100644
index 00000000000..22e2f0c23d0
--- /dev/null
+++ b/bgfx/shaders/gles/fs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/gles/fs_tint.bin b/bgfx/shaders/gles/fs_tint.bin
new file mode 100644
index 00000000000..2e9ac7c950e
--- /dev/null
+++ b/bgfx/shaders/gles/fs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_blit.bin b/bgfx/shaders/gles/vs_blit.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_color.bin b/bgfx/shaders/gles/vs_color.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_color.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_deconverge.bin b/bgfx/shaders/gles/vs_deconverge.bin
new file mode 100644
index 00000000000..0918a47ccb8
--- /dev/null
+++ b/bgfx/shaders/gles/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_gui.bin b/bgfx/shaders/gles/vs_gui.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_ntsc.bin b/bgfx/shaders/gles/vs_ntsc.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_ntsc.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_ntsc_decode.bin b/bgfx/shaders/gles/vs_ntsc_decode.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_ntsc_encode.bin b/bgfx/shaders/gles/vs_ntsc_encode.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_phosphor.bin b/bgfx/shaders/gles/vs_phosphor.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_ratios.bin b/bgfx/shaders/gles/vs_ratios.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_screen.bin b/bgfx/shaders/gles/vs_screen.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/gles/vs_tint.bin b/bgfx/shaders/gles/vs_tint.bin
new file mode 100644
index 00000000000..9dd618de8a0
--- /dev/null
+++ b/bgfx/shaders/gles/vs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_blit.bin b/bgfx/shaders/glsl/fs_blit.bin
new file mode 100644
index 00000000000..db0fe2b487b
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_color.bin b/bgfx/shaders/glsl/fs_color.bin
new file mode 100644
index 00000000000..6cf2162b523
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_color.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_deconverge.bin b/bgfx/shaders/glsl/fs_deconverge.bin
new file mode 100644
index 00000000000..756c4da04af
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_gui.bin b/bgfx/shaders/glsl/fs_gui.bin
new file mode 100644
index 00000000000..db0fe2b487b
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_ntsc.bin b/bgfx/shaders/glsl/fs_ntsc.bin
new file mode 100644
index 00000000000..c7db0275fa1
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_ntsc.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_ntsc_decode.bin b/bgfx/shaders/glsl/fs_ntsc_decode.bin
new file mode 100644
index 00000000000..59fdbb640ed
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_ntsc_encode.bin b/bgfx/shaders/glsl/fs_ntsc_encode.bin
new file mode 100644
index 00000000000..7a11254d662
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_phosphor.bin b/bgfx/shaders/glsl/fs_phosphor.bin
new file mode 100644
index 00000000000..5996130d730
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_ratios.bin b/bgfx/shaders/glsl/fs_ratios.bin
new file mode 100644
index 00000000000..7fea68ef815
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_screen.bin b/bgfx/shaders/glsl/fs_screen.bin
new file mode 100644
index 00000000000..db0fe2b487b
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/fs_tint.bin b/bgfx/shaders/glsl/fs_tint.bin
new file mode 100644
index 00000000000..762a5dc2f4b
--- /dev/null
+++ b/bgfx/shaders/glsl/fs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_blit.bin b/bgfx/shaders/glsl/vs_blit.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_color.bin b/bgfx/shaders/glsl/vs_color.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_color.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_deconverge.bin b/bgfx/shaders/glsl/vs_deconverge.bin
new file mode 100644
index 00000000000..fbc57e9c8f8
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_gui.bin b/bgfx/shaders/glsl/vs_gui.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_ntsc.bin b/bgfx/shaders/glsl/vs_ntsc.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_ntsc.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_ntsc_decode.bin b/bgfx/shaders/glsl/vs_ntsc_decode.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_ntsc_encode.bin b/bgfx/shaders/glsl/vs_ntsc_encode.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_phosphor.bin b/bgfx/shaders/glsl/vs_phosphor.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_ratios.bin b/bgfx/shaders/glsl/vs_ratios.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_screen.bin b/bgfx/shaders/glsl/vs_screen.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/glsl/vs_tint.bin b/bgfx/shaders/glsl/vs_tint.bin
new file mode 100644
index 00000000000..af6c9349f41
--- /dev/null
+++ b/bgfx/shaders/glsl/vs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_blit.bin b/bgfx/shaders/metal/fs_blit.bin
new file mode 100644
index 00000000000..6a3da392480
--- /dev/null
+++ b/bgfx/shaders/metal/fs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_color.bin b/bgfx/shaders/metal/fs_color.bin
new file mode 100644
index 00000000000..f8009011b2d
--- /dev/null
+++ b/bgfx/shaders/metal/fs_color.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_deconverge.bin b/bgfx/shaders/metal/fs_deconverge.bin
new file mode 100644
index 00000000000..296ba02f99f
--- /dev/null
+++ b/bgfx/shaders/metal/fs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_gui.bin b/bgfx/shaders/metal/fs_gui.bin
new file mode 100644
index 00000000000..6a3da392480
--- /dev/null
+++ b/bgfx/shaders/metal/fs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_ntsc.bin b/bgfx/shaders/metal/fs_ntsc.bin
new file mode 100644
index 00000000000..47267c922b6
--- /dev/null
+++ b/bgfx/shaders/metal/fs_ntsc.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_ntsc_decode.bin b/bgfx/shaders/metal/fs_ntsc_decode.bin
new file mode 100644
index 00000000000..22787c6ef21
--- /dev/null
+++ b/bgfx/shaders/metal/fs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_ntsc_encode.bin b/bgfx/shaders/metal/fs_ntsc_encode.bin
new file mode 100644
index 00000000000..179129f0e95
--- /dev/null
+++ b/bgfx/shaders/metal/fs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_phosphor.bin b/bgfx/shaders/metal/fs_phosphor.bin
new file mode 100644
index 00000000000..5cf08944c95
--- /dev/null
+++ b/bgfx/shaders/metal/fs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_ratios.bin b/bgfx/shaders/metal/fs_ratios.bin
new file mode 100644
index 00000000000..1c36f16eccd
--- /dev/null
+++ b/bgfx/shaders/metal/fs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_screen.bin b/bgfx/shaders/metal/fs_screen.bin
new file mode 100644
index 00000000000..6a3da392480
--- /dev/null
+++ b/bgfx/shaders/metal/fs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/metal/fs_tint.bin b/bgfx/shaders/metal/fs_tint.bin
new file mode 100644
index 00000000000..3168babec2c
--- /dev/null
+++ b/bgfx/shaders/metal/fs_tint.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_blit.bin b/bgfx/shaders/metal/vs_blit.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_blit.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_color.bin b/bgfx/shaders/metal/vs_color.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_color.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_deconverge.bin b/bgfx/shaders/metal/vs_deconverge.bin
new file mode 100644
index 00000000000..27445eb6010
--- /dev/null
+++ b/bgfx/shaders/metal/vs_deconverge.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_gui.bin b/bgfx/shaders/metal/vs_gui.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_gui.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_ntsc.bin b/bgfx/shaders/metal/vs_ntsc.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_ntsc.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_ntsc_decode.bin b/bgfx/shaders/metal/vs_ntsc_decode.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_ntsc_decode.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_ntsc_encode.bin b/bgfx/shaders/metal/vs_ntsc_encode.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_ntsc_encode.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_phosphor.bin b/bgfx/shaders/metal/vs_phosphor.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_phosphor.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_ratios.bin b/bgfx/shaders/metal/vs_ratios.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_ratios.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_screen.bin b/bgfx/shaders/metal/vs_screen.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_screen.bin
Binary files differ
diff --git a/bgfx/shaders/metal/vs_tint.bin b/bgfx/shaders/metal/vs_tint.bin
new file mode 100644
index 00000000000..122b7dee5c3
--- /dev/null
+++ b/bgfx/shaders/metal/vs_tint.bin
Binary files differ