diff --git a/bgfx/chains/default.json b/bgfx/chains/default.json index 1012d6eacd5..115e7072cb3 100644 --- a/bgfx/chains/default.json +++ b/bgfx/chains/default.json @@ -7,17 +7,10 @@ } ], "passes": [ - { "effect": "default/blit", - "name": "Copy To Unstretched Texture", - "input": [ - { "sampler": "s_tex", "texture": "screen" } - ], - "output": "temp" - }, { "effect": "default/blit", "name": "Final Upscale", "input": [ - { "sampler": "s_tex", "target": "temp" } + { "sampler": "s_tex", "texture": "screen" } ], "output": "output" } diff --git a/bgfx/chains/hlsl.json b/bgfx/chains/hlsl.json index eabf0664857..401e86e6800 100644 --- a/bgfx/chains/hlsl.json +++ b/bgfx/chains/hlsl.json @@ -87,9 +87,9 @@ { "type": "vec2", "name": "defocus", "text": "Defocus, ", "default": [ 15, 15 ], "max": [ 500, 500 ], "min": [ 0, 0 ], "step": 1, "scale": 0.1, "format": "%2.1f", "screen": "crt" }, - { "type": "color", "name": "phosphor", "text": "Phosphor Persistence, ", "default": [ 55, 55, 55 ], "max": [ 100, 100, 100 ], "min": [ 0, 0, 0 ], "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" }, + { "type": "color", "name": "phosphor", "text": "Phosphor Persistence, ", "default": [ 45, 45, 45 ], "max": [ 100, 100, 100 ], "min": [ 0, 0, 0 ], "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" }, - { "type": "float", "name": "scanline_alpha", "text": "Scanline Amount", "default": 6, "max": 100, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" }, + { "type": "float", "name": "scanline_alpha", "text": "Scanline Amount", "default": 60, "max": 100, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" }, { "type": "float", "name": "scanline_scale", "text": "Overall Scanline Scale", "default": 100, "max": 400, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" }, { "type": "float", "name": "scanline_bright_scale", "text": "Scanline Brightness Scale", "default": 200, "max": 400, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" }, { "type": "float", "name": "scanline_bright_offset", "text": "Scanline Brightness Offset", "default": 0, "max": 400, "min": 0, "step": 1, "scale": 0.01, "format": "%1.2f", "screen": "crt" }, @@ -175,15 +175,6 @@ // passes (required): The list of individual shaders to invoke, and any dynamic input parameters they need. "passes": [ - { - // See the pass after this one for a verbose explanation of each parameter. - "effect": "hlsl/blit", - "name": "NTSC Blit to bilinear-able target", - "input": [ - { "sampler": "s_tex", "texture": "screen" } - ], - "output": "ntsc" - }, { // effect (required): The name of the effect JSON file to load for this pass. // value: Any valid JSON filename included in your shader chain, without the extension. @@ -261,7 +252,7 @@ // // option (optional): The name of any MAME option, which will have its value fetched and used as the name of a PNG to load from the artwork directory. // value: Any valid MAME INI option name. - { "sampler": "s_tex", "target": "ntsc" } + { "sampler": "s_tex", "texture": "screen" } ], // output (required): The target to use as the output for this pass. Can be one of the named targets in "targets", or "output" @@ -290,7 +281,8 @@ { "uniform": "u_jitter_amount", "parameter": "jitter" } ], "input": [ - { "sampler": "s_tex", "target": "ntsc" } + { "sampler": "s_tex", "target": "ntsc" }, + { "sampler": "s_screen", "texture": "screen" } ], "output": "guest" }, @@ -301,7 +293,7 @@ { "type": "slider", "condition": "notequal", "combine": "and", "name": "ntsc", "value": 0 } ], "input": [ - { "sampler": "s_tex", "target": "screen" } + { "sampler": "s_tex", "texture": "screen" } ], "output": "guest" }, @@ -444,8 +436,8 @@ { "uniform": "u_time", "parameter": "time" } ], "input": [ - { "sampler": "s_tex", "target": "internal" }, - { "sampler": "s_shadow", "option": "bgfx_shadow_mask" } + { "sampler": "s_tex", "target": "internal" }, + { "sampler": "s_shadow", "option": "bgfx_shadow_mask" } ], "output": "internal" }, diff --git a/bgfx/effects/default/blit.json b/bgfx/effects/default/blit.json index bbc9fd295d4..5f5ad148148 100644 --- a/bgfx/effects/default/blit.json +++ b/bgfx/effects/default/blit.json @@ -16,15 +16,15 @@ "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" + // 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": "1", - "dstColor": "0", - "srcAlpha": "1", - "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. diff --git a/bgfx/effects/hlsl/blit.json b/bgfx/effects/hlsl/blit.json index bbc9fd295d4..5f5ad148148 100644 --- a/bgfx/effects/hlsl/blit.json +++ b/bgfx/effects/hlsl/blit.json @@ -16,15 +16,15 @@ "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" + // 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": "1", - "dstColor": "0", - "srcAlpha": "1", - "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. diff --git a/bgfx/effects/hlsl/color.json b/bgfx/effects/hlsl/color.json index 5a033140233..d5a8d6ca405 100644 --- a/bgfx/effects/hlsl/color.json +++ b/bgfx/effects/hlsl/color.json @@ -8,10 +8,10 @@ { "blend": { "equation": "add", - "srcColor": "1", - "dstColor": "0", - "srcAlpha": "1", - "dstAlpha": "0" + "srcColor": "srcalpha", + "dstColor": "1-srcalpha", + "srcAlpha": "srcalpha", + "dstAlpha": "1-srcalpha" }, "depth": { "function": "always" diff --git a/bgfx/effects/hlsl/deconverge.json b/bgfx/effects/hlsl/deconverge.json index dafd2fb630e..322a916f47f 100644 --- a/bgfx/effects/hlsl/deconverge.json +++ b/bgfx/effects/hlsl/deconverge.json @@ -9,10 +9,10 @@ { "blend": { "equation": "add", - "srcColor": "1", - "dstColor": "0", - "srcAlpha": "1", - "dstAlpha": "0" + "srcColor": "srcalpha", + "dstColor": "1-srcalpha", + "srcAlpha": "srcalpha", + "dstAlpha": "1-srcalpha" }, "depth": { "function": "always" diff --git a/bgfx/effects/hlsl/defocus.json b/bgfx/effects/hlsl/defocus.json index 7ba4b2cec49..b01112de088 100644 --- a/bgfx/effects/hlsl/defocus.json +++ b/bgfx/effects/hlsl/defocus.json @@ -8,10 +8,10 @@ { "blend": { "equation": "add", - "srcColor": "1", - "dstColor": "0", - "srcAlpha": "1", - "dstAlpha": "0" + "srcColor": "srcalpha", + "dstColor": "1-srcalpha", + "srcAlpha": "srcalpha", + "dstAlpha": "1-srcalpha" }, "depth": { "function": "always" diff --git a/bgfx/effects/hlsl/distortion.json b/bgfx/effects/hlsl/distortion.json index e8bbac16095..5eb70fa93d1 100644 --- a/bgfx/effects/hlsl/distortion.json +++ b/bgfx/effects/hlsl/distortion.json @@ -9,10 +9,10 @@ { "blend": { "equation": "add", - "srcColor": "1", - "dstColor": "0", - "srcAlpha": "1", - "dstAlpha": "0" + "srcColor": "srcalpha", + "dstColor": "1-srcalpha", + "srcAlpha": "srcalpha", + "dstAlpha": "1-srcalpha" }, "depth": { "function": "always" diff --git a/bgfx/effects/hlsl/ntsc_decode.json b/bgfx/effects/hlsl/ntsc_decode.json index 208f35b0ff3..1195669f450 100644 --- a/bgfx/effects/hlsl/ntsc_decode.json +++ b/bgfx/effects/hlsl/ntsc_decode.json @@ -26,6 +26,7 @@ "fragment": "fs_ntsc_decode", "uniforms": [ { "name": "s_tex", "type": "int", "values": [ 1.0 ] }, + { "name": "s_screen", "type": "int", "values": [ 1.0 ] }, { "name": "u_source_dims", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }, { "name": "u_a_value", "type": "vec4", "values": [ 0.5, 0.5, 0.5, 0.5 ] }, { "name": "u_b_value", "type": "vec4", "values": [ 0.5, 0.5, 0.5, 0.5 ] }, diff --git a/bgfx/effects/hlsl/ntsc_encode.json b/bgfx/effects/hlsl/ntsc_encode.json index 8ff193398b2..1112a21c197 100644 --- a/bgfx/effects/hlsl/ntsc_encode.json +++ b/bgfx/effects/hlsl/ntsc_encode.json @@ -9,10 +9,10 @@ { "blend": { "equation": "add", - "srcColor": "1", - "dstColor": "0", - "srcAlpha": "1", - "dstAlpha": "0" + "srcColor": "srcalpha", + "dstColor": "1-srcalpha", + "srcAlpha": "srcalpha", + "dstAlpha": "1-srcalpha" }, "depth": { "function": "always" diff --git a/bgfx/effects/hlsl/phosphor.json b/bgfx/effects/hlsl/phosphor.json index aaa3c12f727..84ad77ad5ed 100644 --- a/bgfx/effects/hlsl/phosphor.json +++ b/bgfx/effects/hlsl/phosphor.json @@ -9,10 +9,10 @@ { "blend": { "equation": "add", - "srcColor": "1", - "dstColor": "0", - "srcAlpha": "1", - "dstAlpha": "0" + "srcColor": "srcalpha", + "dstColor": "1-srcalpha", + "srcAlpha": "srcalpha", + "dstAlpha": "1-srcalpha" }, "depth": { "function": "always" diff --git a/bgfx/effects/hlsl/post.json b/bgfx/effects/hlsl/post.json index c4a86da84e5..48530433f40 100644 --- a/bgfx/effects/hlsl/post.json +++ b/bgfx/effects/hlsl/post.json @@ -9,10 +9,10 @@ { "blend": { "equation": "add", - "srcColor": "1", - "dstColor": "0", - "srcAlpha": "1", - "dstAlpha": "0" + "srcColor": "srcalpha", + "dstColor": "1-srcalpha", + "srcAlpha": "srcalpha", + "dstAlpha": "1-srcalpha" }, "depth": { "function": "always" diff --git a/bgfx/effects/hlsl/prescale.json b/bgfx/effects/hlsl/prescale.json index a636c4316e0..3026b424876 100644 --- a/bgfx/effects/hlsl/prescale.json +++ b/bgfx/effects/hlsl/prescale.json @@ -9,10 +9,10 @@ { "blend": { "equation": "add", - "srcColor": "1", - "dstColor": "0", - "srcAlpha": "1", - "dstAlpha": "0" + "srcColor": "srcalpha", + "dstColor": "1-srcalpha", + "srcAlpha": "srcalpha", + "dstAlpha": "1-srcalpha" }, "depth": { "function": "always" diff --git a/bgfx/effects/unfiltered/blit.json b/bgfx/effects/unfiltered/blit.json index bbc9fd295d4..5f5ad148148 100644 --- a/bgfx/effects/unfiltered/blit.json +++ b/bgfx/effects/unfiltered/blit.json @@ -16,15 +16,15 @@ "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" + // 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": "1", - "dstColor": "0", - "srcAlpha": "1", - "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. diff --git a/bgfx/shaders/dx11/fs_blit.bin b/bgfx/shaders/dx11/fs_blit.bin index cc7afc788ab..0a2c7a979f6 100644 Binary files a/bgfx/shaders/dx11/fs_blit.bin and b/bgfx/shaders/dx11/fs_blit.bin differ diff --git a/bgfx/shaders/dx11/fs_color.bin b/bgfx/shaders/dx11/fs_color.bin index 5acea195472..86da7f9fde7 100644 Binary files a/bgfx/shaders/dx11/fs_color.bin and b/bgfx/shaders/dx11/fs_color.bin differ diff --git a/bgfx/shaders/dx11/fs_deconverge.bin b/bgfx/shaders/dx11/fs_deconverge.bin index f8954f8ee4b..e85b211b5f7 100644 Binary files a/bgfx/shaders/dx11/fs_deconverge.bin and b/bgfx/shaders/dx11/fs_deconverge.bin differ diff --git a/bgfx/shaders/dx11/fs_defocus.bin b/bgfx/shaders/dx11/fs_defocus.bin index f342c80f26b..894cc151994 100644 Binary files a/bgfx/shaders/dx11/fs_defocus.bin and b/bgfx/shaders/dx11/fs_defocus.bin differ diff --git a/bgfx/shaders/dx11/fs_distortion.bin b/bgfx/shaders/dx11/fs_distortion.bin index 0ee1150c722..13e60b64c34 100644 Binary files a/bgfx/shaders/dx11/fs_distortion.bin and b/bgfx/shaders/dx11/fs_distortion.bin differ diff --git a/bgfx/shaders/dx11/fs_gui.bin b/bgfx/shaders/dx11/fs_gui.bin index 54a4ed300e3..207238153b0 100644 Binary files a/bgfx/shaders/dx11/fs_gui.bin and b/bgfx/shaders/dx11/fs_gui.bin differ diff --git a/bgfx/shaders/dx11/fs_ntsc_decode.bin b/bgfx/shaders/dx11/fs_ntsc_decode.bin index 7f6d8167939..a63dd82f051 100644 Binary files a/bgfx/shaders/dx11/fs_ntsc_decode.bin and b/bgfx/shaders/dx11/fs_ntsc_decode.bin differ diff --git a/bgfx/shaders/dx11/fs_ntsc_encode.bin b/bgfx/shaders/dx11/fs_ntsc_encode.bin index a6700b833e1..bbf6cf59f69 100644 Binary files a/bgfx/shaders/dx11/fs_ntsc_encode.bin and b/bgfx/shaders/dx11/fs_ntsc_encode.bin differ diff --git a/bgfx/shaders/dx11/fs_phosphor.bin b/bgfx/shaders/dx11/fs_phosphor.bin index eb9b15d3274..96ed99bf58f 100644 Binary files a/bgfx/shaders/dx11/fs_phosphor.bin and b/bgfx/shaders/dx11/fs_phosphor.bin differ diff --git a/bgfx/shaders/dx11/fs_post.bin b/bgfx/shaders/dx11/fs_post.bin index 6cb61306fe2..dbc2df6f5e2 100644 Binary files a/bgfx/shaders/dx11/fs_post.bin and b/bgfx/shaders/dx11/fs_post.bin differ diff --git a/bgfx/shaders/dx11/fs_prescale.bin b/bgfx/shaders/dx11/fs_prescale.bin index 7e5fadd5805..775efb02666 100644 Binary files a/bgfx/shaders/dx11/fs_prescale.bin and b/bgfx/shaders/dx11/fs_prescale.bin differ diff --git a/bgfx/shaders/dx11/fs_screen.bin b/bgfx/shaders/dx11/fs_screen.bin index 83828d145f7..d233a876afe 100644 Binary files a/bgfx/shaders/dx11/fs_screen.bin and b/bgfx/shaders/dx11/fs_screen.bin differ diff --git a/bgfx/shaders/dx11/vs_blit.bin b/bgfx/shaders/dx11/vs_blit.bin index 346eae89602..dbdd427c139 100644 Binary files a/bgfx/shaders/dx11/vs_blit.bin and b/bgfx/shaders/dx11/vs_blit.bin differ diff --git a/bgfx/shaders/dx11/vs_color.bin b/bgfx/shaders/dx11/vs_color.bin index 5f21c9be763..1ac6da1c4b7 100644 Binary files a/bgfx/shaders/dx11/vs_color.bin and b/bgfx/shaders/dx11/vs_color.bin differ diff --git a/bgfx/shaders/dx11/vs_deconverge.bin b/bgfx/shaders/dx11/vs_deconverge.bin index 59e0c530392..07831863c5e 100644 Binary files a/bgfx/shaders/dx11/vs_deconverge.bin and b/bgfx/shaders/dx11/vs_deconverge.bin differ diff --git a/bgfx/shaders/dx11/vs_defocus.bin b/bgfx/shaders/dx11/vs_defocus.bin index f75c794c2c2..a2f278b3a0e 100644 Binary files a/bgfx/shaders/dx11/vs_defocus.bin and b/bgfx/shaders/dx11/vs_defocus.bin differ diff --git a/bgfx/shaders/dx11/vs_distortion.bin b/bgfx/shaders/dx11/vs_distortion.bin index 73b8e5190e1..cb7e87ac0a8 100644 Binary files a/bgfx/shaders/dx11/vs_distortion.bin and b/bgfx/shaders/dx11/vs_distortion.bin differ diff --git a/bgfx/shaders/dx11/vs_gui.bin b/bgfx/shaders/dx11/vs_gui.bin index 7b387679737..8fe988ac52e 100644 Binary files a/bgfx/shaders/dx11/vs_gui.bin and b/bgfx/shaders/dx11/vs_gui.bin differ diff --git a/bgfx/shaders/dx11/vs_ntsc_decode.bin b/bgfx/shaders/dx11/vs_ntsc_decode.bin index 29cc7d9290a..3aced6dceb1 100644 Binary files a/bgfx/shaders/dx11/vs_ntsc_decode.bin and b/bgfx/shaders/dx11/vs_ntsc_decode.bin differ diff --git a/bgfx/shaders/dx11/vs_ntsc_encode.bin b/bgfx/shaders/dx11/vs_ntsc_encode.bin index bbcbf4ede89..0b269c0314f 100644 Binary files a/bgfx/shaders/dx11/vs_ntsc_encode.bin and b/bgfx/shaders/dx11/vs_ntsc_encode.bin differ diff --git a/bgfx/shaders/dx11/vs_phosphor.bin b/bgfx/shaders/dx11/vs_phosphor.bin index 07edbef7bad..4d5113f78cf 100644 Binary files a/bgfx/shaders/dx11/vs_phosphor.bin and b/bgfx/shaders/dx11/vs_phosphor.bin differ diff --git a/bgfx/shaders/dx11/vs_post.bin b/bgfx/shaders/dx11/vs_post.bin index 5362d6c50eb..dfabae70ba2 100644 Binary files a/bgfx/shaders/dx11/vs_post.bin and b/bgfx/shaders/dx11/vs_post.bin differ diff --git a/bgfx/shaders/dx11/vs_prescale.bin b/bgfx/shaders/dx11/vs_prescale.bin index dee008391ae..a26188bb295 100644 Binary files a/bgfx/shaders/dx11/vs_prescale.bin and b/bgfx/shaders/dx11/vs_prescale.bin differ diff --git a/bgfx/shaders/dx11/vs_screen.bin b/bgfx/shaders/dx11/vs_screen.bin index 9d5426f76be..e2c93936309 100644 Binary files a/bgfx/shaders/dx11/vs_screen.bin and b/bgfx/shaders/dx11/vs_screen.bin differ diff --git a/bgfx/shaders/dx9/fs_deconverge.bin b/bgfx/shaders/dx9/fs_deconverge.bin index 6417bf6ad00..5092fcd9fc8 100644 Binary files a/bgfx/shaders/dx9/fs_deconverge.bin and b/bgfx/shaders/dx9/fs_deconverge.bin differ diff --git a/bgfx/shaders/dx9/fs_defocus.bin b/bgfx/shaders/dx9/fs_defocus.bin index 275e264bf06..602dcf53c64 100644 Binary files a/bgfx/shaders/dx9/fs_defocus.bin and b/bgfx/shaders/dx9/fs_defocus.bin differ diff --git a/bgfx/shaders/dx9/fs_distortion.bin b/bgfx/shaders/dx9/fs_distortion.bin index b25548edd31..becf5b0d597 100644 Binary files a/bgfx/shaders/dx9/fs_distortion.bin and b/bgfx/shaders/dx9/fs_distortion.bin differ diff --git a/bgfx/shaders/dx9/fs_ntsc_decode.bin b/bgfx/shaders/dx9/fs_ntsc_decode.bin index e31c3548b83..5d2a3329b6f 100644 Binary files a/bgfx/shaders/dx9/fs_ntsc_decode.bin and b/bgfx/shaders/dx9/fs_ntsc_decode.bin differ diff --git a/bgfx/shaders/dx9/fs_post.bin b/bgfx/shaders/dx9/fs_post.bin index b0e0edd02ac..96408926fbe 100644 Binary files a/bgfx/shaders/dx9/fs_post.bin and b/bgfx/shaders/dx9/fs_post.bin differ diff --git a/bgfx/shaders/dx9/fs_prescale.bin b/bgfx/shaders/dx9/fs_prescale.bin index a5f3ca47440..b4b71f80099 100644 Binary files a/bgfx/shaders/dx9/fs_prescale.bin and b/bgfx/shaders/dx9/fs_prescale.bin differ diff --git a/bgfx/shaders/dx9/vs_deconverge.bin b/bgfx/shaders/dx9/vs_deconverge.bin index dbe6e584767..c514e5f8cd0 100644 Binary files a/bgfx/shaders/dx9/vs_deconverge.bin and b/bgfx/shaders/dx9/vs_deconverge.bin differ diff --git a/bgfx/shaders/dx9/vs_post.bin b/bgfx/shaders/dx9/vs_post.bin index c006fe0c6ac..66dec862e4c 100644 Binary files a/bgfx/shaders/dx9/vs_post.bin and b/bgfx/shaders/dx9/vs_post.bin differ diff --git a/bgfx/shaders/gles/fs_deconverge.bin b/bgfx/shaders/gles/fs_deconverge.bin index 9a70a7b0737..855f8019b5c 100644 Binary files a/bgfx/shaders/gles/fs_deconverge.bin and b/bgfx/shaders/gles/fs_deconverge.bin differ diff --git a/bgfx/shaders/gles/fs_defocus.bin b/bgfx/shaders/gles/fs_defocus.bin index 98ff6f0b9cf..5d29797339f 100644 Binary files a/bgfx/shaders/gles/fs_defocus.bin and b/bgfx/shaders/gles/fs_defocus.bin differ diff --git a/bgfx/shaders/gles/fs_distortion.bin b/bgfx/shaders/gles/fs_distortion.bin index e518fc0f0a3..53e7b262a43 100644 Binary files a/bgfx/shaders/gles/fs_distortion.bin and b/bgfx/shaders/gles/fs_distortion.bin differ diff --git a/bgfx/shaders/gles/fs_ntsc_decode.bin b/bgfx/shaders/gles/fs_ntsc_decode.bin index cb4ddcdb7b4..d1e69f5e0e3 100644 Binary files a/bgfx/shaders/gles/fs_ntsc_decode.bin and b/bgfx/shaders/gles/fs_ntsc_decode.bin differ diff --git a/bgfx/shaders/gles/fs_post.bin b/bgfx/shaders/gles/fs_post.bin index e9896427988..0d5393b4be6 100644 Binary files a/bgfx/shaders/gles/fs_post.bin and b/bgfx/shaders/gles/fs_post.bin differ diff --git a/bgfx/shaders/gles/fs_prescale.bin b/bgfx/shaders/gles/fs_prescale.bin index 9be375f6f02..22e2f0c23d0 100644 Binary files a/bgfx/shaders/gles/fs_prescale.bin and b/bgfx/shaders/gles/fs_prescale.bin differ diff --git a/bgfx/shaders/gles/vs_deconverge.bin b/bgfx/shaders/gles/vs_deconverge.bin index 1183e5872a0..08aeca09e23 100644 Binary files a/bgfx/shaders/gles/vs_deconverge.bin and b/bgfx/shaders/gles/vs_deconverge.bin differ diff --git a/bgfx/shaders/gles/vs_post.bin b/bgfx/shaders/gles/vs_post.bin index e9803083792..9dd618de8a0 100644 Binary files a/bgfx/shaders/gles/vs_post.bin and b/bgfx/shaders/gles/vs_post.bin differ diff --git a/bgfx/shaders/glsl/fs_deconverge.bin b/bgfx/shaders/glsl/fs_deconverge.bin index 7ccc3407545..96136e77f17 100644 Binary files a/bgfx/shaders/glsl/fs_deconverge.bin and b/bgfx/shaders/glsl/fs_deconverge.bin differ diff --git a/bgfx/shaders/glsl/fs_defocus.bin b/bgfx/shaders/glsl/fs_defocus.bin index 0adf5a7fd67..27765612664 100644 Binary files a/bgfx/shaders/glsl/fs_defocus.bin and b/bgfx/shaders/glsl/fs_defocus.bin differ diff --git a/bgfx/shaders/glsl/fs_distortion.bin b/bgfx/shaders/glsl/fs_distortion.bin index 11087b688ff..149e638711c 100644 Binary files a/bgfx/shaders/glsl/fs_distortion.bin and b/bgfx/shaders/glsl/fs_distortion.bin differ diff --git a/bgfx/shaders/glsl/fs_ntsc_decode.bin b/bgfx/shaders/glsl/fs_ntsc_decode.bin index 2ba4513f445..9bb6f3b1db8 100644 Binary files a/bgfx/shaders/glsl/fs_ntsc_decode.bin and b/bgfx/shaders/glsl/fs_ntsc_decode.bin differ diff --git a/bgfx/shaders/glsl/fs_post.bin b/bgfx/shaders/glsl/fs_post.bin index 056f8728347..4af086c0e8b 100644 Binary files a/bgfx/shaders/glsl/fs_post.bin and b/bgfx/shaders/glsl/fs_post.bin differ diff --git a/bgfx/shaders/glsl/fs_prescale.bin b/bgfx/shaders/glsl/fs_prescale.bin index e29683b9539..db0fe2b487b 100644 Binary files a/bgfx/shaders/glsl/fs_prescale.bin and b/bgfx/shaders/glsl/fs_prescale.bin differ diff --git a/bgfx/shaders/glsl/vs_deconverge.bin b/bgfx/shaders/glsl/vs_deconverge.bin index 137a591a958..2398d71b227 100644 Binary files a/bgfx/shaders/glsl/vs_deconverge.bin and b/bgfx/shaders/glsl/vs_deconverge.bin differ diff --git a/bgfx/shaders/glsl/vs_post.bin b/bgfx/shaders/glsl/vs_post.bin index 510526ec588..af6c9349f41 100644 Binary files a/bgfx/shaders/glsl/vs_post.bin and b/bgfx/shaders/glsl/vs_post.bin differ diff --git a/bgfx/shaders/metal/fs_deconverge.bin b/bgfx/shaders/metal/fs_deconverge.bin index 60d2550f74d..ff76a618ee1 100644 Binary files a/bgfx/shaders/metal/fs_deconverge.bin and b/bgfx/shaders/metal/fs_deconverge.bin differ diff --git a/bgfx/shaders/metal/fs_defocus.bin b/bgfx/shaders/metal/fs_defocus.bin index 52900807388..ab14379b016 100644 Binary files a/bgfx/shaders/metal/fs_defocus.bin and b/bgfx/shaders/metal/fs_defocus.bin differ diff --git a/bgfx/shaders/metal/fs_distortion.bin b/bgfx/shaders/metal/fs_distortion.bin index 6dca893e794..b1d6bd4c79d 100644 Binary files a/bgfx/shaders/metal/fs_distortion.bin and b/bgfx/shaders/metal/fs_distortion.bin differ diff --git a/bgfx/shaders/metal/fs_ntsc_decode.bin b/bgfx/shaders/metal/fs_ntsc_decode.bin index 5450ff39a71..1436bc4707c 100644 Binary files a/bgfx/shaders/metal/fs_ntsc_decode.bin and b/bgfx/shaders/metal/fs_ntsc_decode.bin differ diff --git a/bgfx/shaders/metal/fs_post.bin b/bgfx/shaders/metal/fs_post.bin index 133e08292a4..3b137b24671 100644 Binary files a/bgfx/shaders/metal/fs_post.bin and b/bgfx/shaders/metal/fs_post.bin differ diff --git a/bgfx/shaders/metal/fs_prescale.bin b/bgfx/shaders/metal/fs_prescale.bin index 035da8beca4..6a3da392480 100644 Binary files a/bgfx/shaders/metal/fs_prescale.bin and b/bgfx/shaders/metal/fs_prescale.bin differ diff --git a/bgfx/shaders/metal/vs_deconverge.bin b/bgfx/shaders/metal/vs_deconverge.bin index 071a3a6d612..b1b64cf68fa 100644 Binary files a/bgfx/shaders/metal/vs_deconverge.bin and b/bgfx/shaders/metal/vs_deconverge.bin differ diff --git a/bgfx/shaders/metal/vs_post.bin b/bgfx/shaders/metal/vs_post.bin index 7d355aa1df1..122b7dee5c3 100644 Binary files a/bgfx/shaders/metal/vs_post.bin and b/bgfx/shaders/metal/vs_post.bin differ diff --git a/src/osd/modules/render/bgfx/chainentry.cpp b/src/osd/modules/render/bgfx/chainentry.cpp index f3bbbb42378..be836ba33e5 100644 --- a/src/osd/modules/render/bgfx/chainentry.cpp +++ b/src/osd/modules/render/bgfx/chainentry.cpp @@ -146,6 +146,16 @@ void bgfx_chain_entry::setup_quaddims_uniform(render_primitive* prim) const } } +void bgfx_chain_entry::setup_screenindex_uniform(int32_t screen) const +{ + bgfx_uniform* screen_index = m_effect->uniform("u_screen_index"); + if (screen_index != nullptr) + { + float values[1] = { float(screen) }; + screen_index->set(values, sizeof(float)); + } +} + void bgfx_chain_entry::setup_auto_uniforms(render_primitive* prim, texture_manager& textures, uint16_t screen_width, uint16_t screen_height, uint32_t rotation_type, bool swap_xy, int32_t screen) { setup_screensize_uniforms(textures, screen_width, screen_height, screen); @@ -153,6 +163,7 @@ void bgfx_chain_entry::setup_auto_uniforms(render_primitive* prim, texture_manag setup_rotationtype_uniform(rotation_type); setup_swapxy_uniform(swap_xy); setup_quaddims_uniform(prim); + setup_screenindex_uniform(screen); } bool bgfx_chain_entry::setup_view(int view, uint16_t screen_width, uint16_t screen_height, int32_t screen) const diff --git a/src/osd/modules/render/bgfx/chainentry.h b/src/osd/modules/render/bgfx/chainentry.h index a80fc8656c0..69fbb34d7e8 100644 --- a/src/osd/modules/render/bgfx/chainentry.h +++ b/src/osd/modules/render/bgfx/chainentry.h @@ -49,6 +49,7 @@ private: void setup_rotationtype_uniform(uint32_t rotation_type) const; void setup_swapxy_uniform(bool swap_xy) const; void setup_quaddims_uniform(render_primitive* prim) const; + void setup_screenindex_uniform(int32_t screen) const; bool setup_view(int view, uint16_t screen_width, uint16_t screen_height, int32_t screen) const; void put_screen_buffer(render_primitive* prim, bgfx::TransientVertexBuffer* buffer) const; diff --git a/src/osd/modules/render/bgfx/shaders/fs_deconverge.sc b/src/osd/modules/render/bgfx/shaders/fs_deconverge.sc index d58e1bf6df9..b23e24951c3 100644 --- a/src/osd/modules/render/bgfx/shaders/fs_deconverge.sc +++ b/src/osd/modules/render/bgfx/shaders/fs_deconverge.sc @@ -1,4 +1,4 @@ -$input v_color0, v_texcoord0, v_texcoord1, v_texcoord2 +$input v_color0, v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3 // license:BSD-3-Clause // copyright-holders:Ryan Holtz,ImJezze @@ -13,8 +13,9 @@ SAMPLER2D(s_tex, 0); void main() { - float r = texture2D(s_tex, v_texcoord0).r; - float g = texture2D(s_tex, v_texcoord1).g; - float b = texture2D(s_tex, v_texcoord2).b; - gl_FragColor = vec4(r, g, b, 1.0) * v_color0; + float a = texture2D(s_tex, v_texcoord0).a; + float r = texture2D(s_tex, v_texcoord1).r; + float g = texture2D(s_tex, v_texcoord2).g; + float b = texture2D(s_tex, v_texcoord3).b; + gl_FragColor = vec4(r, g, b, a) * v_color0; } diff --git a/src/osd/modules/render/bgfx/shaders/fs_defocus.sc b/src/osd/modules/render/bgfx/shaders/fs_defocus.sc index 44ca7a93612..c9e76990f3f 100644 --- a/src/osd/modules/render/bgfx/shaders/fs_defocus.sc +++ b/src/osd/modules/render/bgfx/shaders/fs_defocus.sc @@ -46,5 +46,6 @@ void main() vec4 blurred = (d0 + d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8) / 9.0; - gl_FragColor = vec4(blurred.rgb, 1.0) * v_color0; + blurred.a = blurred.a + d0.a; + gl_FragColor = blurred * v_color0; } diff --git a/src/osd/modules/render/bgfx/shaders/fs_distortion.sc b/src/osd/modules/render/bgfx/shaders/fs_distortion.sc index 1b93578a2cf..8f4efa04cd3 100644 --- a/src/osd/modules/render/bgfx/shaders/fs_distortion.sc +++ b/src/osd/modules/render/bgfx/shaders/fs_distortion.sc @@ -188,33 +188,36 @@ void main() // Color vec4 BaseColor = texture2D(s_tex, BaseCoord); - BaseColor.a = 1.0; // Clamp if (BaseCoord.x > 1.0 || BaseCoord.y > 1.0 || BaseCoord.x < 0.0 || BaseCoord.y < 0.0) - BaseColor.rgb = vec3(0.0, 0.0, 0.0); - - // Vignetting Simulation - vec2 VignetteCoord = BaseCoordCentered; + { + gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); + } + else + { + // Vignetting Simulation + vec2 VignetteCoord = BaseCoordCentered; - float VignetteFactor = GetVignetteFactor(VignetteCoord, u_vignetting.x); - BaseColor.rgb *= VignetteFactor; + float VignetteFactor = GetVignetteFactor(VignetteCoord, u_vignetting.x); + BaseColor.rgb *= VignetteFactor; - // Light Reflection Simulation - vec3 LightColor = vec3(1.0, 0.90, 0.80); // color temperature 5.000 Kelvin + // Light Reflection Simulation + vec4 LightColor = vec4(1.0, 0.90, 0.80, 1.0); // color temperature 5.000 Kelvin - vec2 SpotCoord = BaseCoordCentered; - vec2 NoiseCoord = BaseCoordCentered; + vec2 SpotCoord = BaseCoordCentered; + vec2 NoiseCoord = BaseCoordCentered; - float SpotAddend = GetSpotAddend(SpotCoord, u_reflection.x); - float NoiseFactor = GetNoiseFactor(SpotAddend, rand(NoiseCoord)); - BaseColor.rgb += SpotAddend * NoiseFactor * LightColor; + float SpotAddend = GetSpotAddend(SpotCoord, u_reflection.x); + float NoiseFactor = GetNoiseFactor(SpotAddend, rand(NoiseCoord)); + BaseColor += SpotAddend * NoiseFactor * LightColor; - // Round Corners Simulation - vec2 RoundCornerCoord = BaseCoordCentered; + // Round Corners Simulation + vec2 RoundCornerCoord = BaseCoordCentered; - float roundCornerFactor = GetRoundCornerFactor(RoundCornerCoord, u_round_corner.x, u_smooth_border.x); - BaseColor.rgb *= roundCornerFactor; + float roundCornerFactor = GetRoundCornerFactor(RoundCornerCoord, u_round_corner.x, u_smooth_border.x); + BaseColor.rgb *= roundCornerFactor; - gl_FragColor = BaseColor; + gl_FragColor = BaseColor; + } } diff --git a/src/osd/modules/render/bgfx/shaders/fs_ntsc_decode.sc b/src/osd/modules/render/bgfx/shaders/fs_ntsc_decode.sc index dda326cd692..1c6a53fba29 100644 --- a/src/osd/modules/render/bgfx/shaders/fs_ntsc_decode.sc +++ b/src/osd/modules/render/bgfx/shaders/fs_ntsc_decode.sc @@ -28,6 +28,7 @@ uniform vec4 u_jitter_amount; // Samplers SAMPLER2D(s_tex, 0); +SAMPLER2D(s_screen, 1); //----------------------------------------------------------------------------- // Constants @@ -35,7 +36,7 @@ SAMPLER2D(s_tex, 0); void main() { - vec4 BaseTexel = texture2D(s_tex, v_texcoord0.xy); + vec4 BaseTexel = texture2D(s_screen, v_texcoord0.xy); vec4 zero = vec4(0.0, 0.0, 0.0, 0.0); vec4 quarter = vec4(0.25, 0.25, 0.25, 0.25); diff --git a/src/osd/modules/render/bgfx/shaders/fs_post.sc b/src/osd/modules/render/bgfx/shaders/fs_post.sc index eab3b909909..27c71a61eba 100644 --- a/src/osd/modules/render/bgfx/shaders/fs_post.sc +++ b/src/osd/modules/render/bgfx/shaders/fs_post.sc @@ -1,4 +1,4 @@ -$input v_color0, v_texcoord0, v_texcoord1 +$input v_color0, v_texcoord0 // license:BSD-3-Clause // copyright-holders:Ryan Holtz,ImJezze @@ -101,7 +101,6 @@ void main() // Color vec4 BaseColor = texture2D(s_tex, BaseCoord); - BaseColor.a = 1.0; if (BaseCoord.x < 0.0 || BaseCoord.y < 0.0) { @@ -123,7 +122,7 @@ void main() // Color Compression // increasing the floor of the signal without affecting the ceiling BaseColor.rgb = u_floor.rgb + (vec3(1.0, 1.0, 1.0) - u_floor.rgb) * BaseColor.rgb; - + // Color Power BaseColor.r = pow(BaseColor.r, u_power.r); BaseColor.g = pow(BaseColor.g, u_power.g); @@ -155,5 +154,5 @@ void main() BaseColor.rgb *= HumBrightness; } - gl_FragColor = vec4(BaseColor.rgb * v_color0.rgb, 1.0); + gl_FragColor = vec4(BaseColor.rgb * v_color0.rgb, BaseColor.a); } diff --git a/src/osd/modules/render/bgfx/shaders/fs_prescale.sc b/src/osd/modules/render/bgfx/shaders/fs_prescale.sc index 48d177b19fa..1d8370dacf4 100644 --- a/src/osd/modules/render/bgfx/shaders/fs_prescale.sc +++ b/src/osd/modules/render/bgfx/shaders/fs_prescale.sc @@ -26,5 +26,5 @@ void main() vec2 TexCoord = (i + f) / u_source_dims.xy; - gl_FragColor = texture2D(s_tex, TexCoord) * v_color0; + gl_FragColor = texture2D(s_tex, v_texcoord0.xy) * v_color0; } diff --git a/src/osd/modules/render/bgfx/shaders/varying.def.sc b/src/osd/modules/render/bgfx/shaders/varying.def.sc index 95b607539a7..4bbc09efebe 100644 --- a/src/osd/modules/render/bgfx/shaders/varying.def.sc +++ b/src/osd/modules/render/bgfx/shaders/varying.def.sc @@ -2,6 +2,7 @@ vec4 v_color0 : COLOR0 = vec4(1.0, 0.0, 0.0, 1.0); vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); vec2 v_texcoord1 : TEXCOORD1 = vec2(0.0, 0.0); vec2 v_texcoord2 : TEXCOORD2 = vec2(0.0, 0.0); +vec2 v_texcoord3 : TEXCOORD3 = vec2(0.0, 0.0); vec3 v_pos : TEXCOORD3 = vec3(0.0, 0.0, 0.0); vec3 a_position : POSITION; diff --git a/src/osd/modules/render/bgfx/shaders/vs_deconverge.sc b/src/osd/modules/render/bgfx/shaders/vs_deconverge.sc index 6e13814c89b..b714f84e4a6 100644 --- a/src/osd/modules/render/bgfx/shaders/vs_deconverge.sc +++ b/src/osd/modules/render/bgfx/shaders/vs_deconverge.sc @@ -1,5 +1,5 @@ $input a_position, a_texcoord0, a_color0 -$output v_color0, v_texcoord0, v_texcoord1, v_texcoord2 +$output v_color0, v_texcoord0, v_texcoord1, v_texcoord2, v_texcoord3 // license:BSD-3-Clause // copyright-holders:Dario Manesku @@ -23,9 +23,10 @@ void main() vec2 half_value = vec2(0.5, 0.5); - v_texcoord0 = (a_texcoord0 - half_value) * (1.0 + u_radial_converge_red.xy ) + half_value + u_converge_red.xy * (vec2(1.0, 1.0) / u_source_size.xy); - v_texcoord1 = (a_texcoord0 - half_value) * (1.0 + u_radial_converge_green.xy) + half_value + u_converge_green.xy * (vec2(1.0, 1.0) / u_source_size.xy); - v_texcoord2 = (a_texcoord0 - half_value) * (1.0 + u_radial_converge_blue.xy ) + half_value + u_converge_blue.xy * (vec2(1.0, 1.0) / u_source_size.xy); + v_texcoord0 = a_texcoord0; + v_texcoord1 = (a_texcoord0 - half_value) * (1.0 + u_radial_converge_red.xy ) + half_value + u_converge_red.xy * (vec2(1.0, 1.0) / u_source_size.xy); + v_texcoord2 = (a_texcoord0 - half_value) * (1.0 + u_radial_converge_green.xy) + half_value + u_converge_green.xy * (vec2(1.0, 1.0) / u_source_size.xy); + v_texcoord3 = (a_texcoord0 - half_value) * (1.0 + u_radial_converge_blue.xy ) + half_value + u_converge_blue.xy * (vec2(1.0, 1.0) / u_source_size.xy); v_color0 = a_color0; } diff --git a/src/osd/modules/render/bgfx/shaders/vs_post.sc b/src/osd/modules/render/bgfx/shaders/vs_post.sc index fcc643b4c8f..fd37320eefb 100644 --- a/src/osd/modules/render/bgfx/shaders/vs_post.sc +++ b/src/osd/modules/render/bgfx/shaders/vs_post.sc @@ -1,19 +1,14 @@ $input a_position, a_texcoord0, a_color0 -$output v_texcoord0, v_texcoord1, v_color0 +$output v_texcoord0, v_color0 // license:BSD-3-Clause // copyright-holders:Dario Manesku #include "../../../../../../3rdparty/bgfx/examples/common/common.sh" -// Autos -uniform vec4 u_source_dims; -uniform vec4 u_screen_dims; - void main() { gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); v_texcoord0 = a_texcoord0; - v_texcoord1 = a_texcoord0.xy * u_source_dims.xy / u_screen_dims.x; v_color0 = a_color0; } diff --git a/src/osd/modules/render/drawbgfx.cpp b/src/osd/modules/render/drawbgfx.cpp index d955f8c76f2..8389d59cfad 100644 --- a/src/osd/modules/render/drawbgfx.cpp +++ b/src/osd/modules/render/drawbgfx.cpp @@ -763,17 +763,33 @@ int renderer_bgfx::handle_screen_chains() // Determine how many post-processing passes are needed int screens = 0; + int total_screen_textures = 0; + std::vector bases; while (prim != nullptr) { if (PRIMFLAG_GET_SCREENTEX(prim->flags)) { - screens++; + total_screen_textures++; + bool found = false; + for (void* base : bases) + { + if (base == prim->texture.base) + { + found = true; + break; + } + } + if (!found) + { + screens++; + bases.push_back(prim->texture.base); + } } prim = prim->next(); } const uint32_t available_chains = m_screen_chains[window().m_index].size(); - screens = screens >= available_chains ? available_chains: screens; + screens = screens >= available_chains ? available_chains : screens; if (screens > 0) { @@ -827,6 +843,7 @@ int renderer_bgfx::draw(int update) s_current_view = 0; } + m_seen_views.clear(); m_ui_view = -1; // Set view 0 default viewport. @@ -857,7 +874,7 @@ int renderer_bgfx::draw(int update) bool atlas_valid = update_atlas(); render_primitive *prim = window().m_primlist->first(); - std::vector screens; + std::vector sources; while (prim != nullptr) { UINT32 blend = PRIMFLAG_GET_BLENDMODE(prim->flags); @@ -868,16 +885,16 @@ int renderer_bgfx::draw(int update) int32_t screen = -1; if (PRIMFLAG_GET_SCREENTEX(prim->flags)) { - for (screen = 0; screen < screens.size(); screen++) + for (screen = 0; screen < sources.size(); screen++) { - if (screens[screen] == prim->container->screen()) + if (sources[screen] == prim->texture.base) { break; } } - if (screen == screens.size()) + if (screen == sources.size()) { - screens.push_back(prim->container->screen()); + sources.push_back(prim->texture.base); } } @@ -966,8 +983,17 @@ void renderer_bgfx::setup_view(uint32_t view_index, bool screen) #if SCENE_VIEW if (view_index == m_max_view) -#endif { +#else + while ((view_index + 1) > m_seen_views.size()) + { + m_seen_views.push_back(false); + } + + if (!m_seen_views[view_index]) + { + m_seen_views[view_index] = true; +#endif bgfx::setViewClear(view_index, BGFX_CLEAR_COLOR | BGFX_CLEAR_DEPTH, 0x00000000, 1.0f, 0); } diff --git a/src/osd/modules/render/drawbgfx.h b/src/osd/modules/render/drawbgfx.h index 823472f5c4a..30976a7fb76 100644 --- a/src/osd/modules/render/drawbgfx.h +++ b/src/osd/modules/render/drawbgfx.h @@ -115,6 +115,7 @@ private: bgfx_effect* m_gui_effect[4]; bgfx_effect* m_screen_effect[4]; std::vector> m_screen_chains; + std::vector m_seen_views; std::map m_hash_to_entry; std::vector m_texinfo;