phaser icon indicating copy to clipboard operation
phaser copied to clipboard

'Link Shader failed' with Phaser 3.70.0 with a very small % of users

Open yaustar opened this issue 7 months ago • 0 comments

Version

  • Phaser Version: 3.70.0
  • Operating system: Windows, Linux, iOS
  • Browser: Chrome

Description

We've had an issue with a very small % of users that are getting the error 'Link Shader failed' on Chrome 119 and 120 on startup, Windows and Linux with Phaser 3.70.0. We can't repro locally but our stack trace comes back to compiling the PreFXPipeline shaders

    function FXPipeline (config)
    {
        //  This order is fixed to match with the FX_CONST. Do not adjust.
        config.shaders = [
            Utils.setGlowQuality(Shaders.FXGlowFrag, config.game),
            Shaders.FXShadowFrag,
            Shaders.FXPixelateFrag,
            Shaders.FXVignetteFrag,
            Shaders.FXShineFrag,
            Shaders.FXBlurLowFrag,
            Shaders.FXBlurMedFrag,
            Shaders.FXBlurHighFrag,
            Shaders.FXGradientFrag,
            Shaders.FXBloomFrag,
            Shaders.ColorMatrixFrag,
            Shaders.FXCircleFrag,
            Shaders.FXBarrelFrag,
            Shaders.FXDisplacementFrag,
            Shaders.FXWipeFrag,
            Shaders.FXBokehFrag
        ];

        PreFXPipeline.call(this, config); // This line

We are still investigating and working around this by disabling the both the pre and post pipelines via the config. Unfortunately, we can't narrow down which one of these is causing the issue.

All users reporting the issue are on different hardware/GPUs/OSs as well.

Example Test Code

We can't reproduce locally to give an example but the callstack is part of the startup of Phaser.

yaustar avatar Dec 07 '23 18:12 yaustar