Skip to content

Flutter beta channel broken for fragment shaders (windows 11) #141838

@jtmcdole

Description

@jtmcdole

Steps to reproduce

Clone a project like https://github.com/renancaraujo/turi
flutter run -d windows

Expected results

Turi running.
Web shaders working.

Actual results

Turi runs, but the screen gets corrupted with some black frames.

Also:
Using shaders on flutter web stopped working with a runtime error loading the shader.
flutter run -d chrome --web-renderer canvaskit

With Flutter 3.13.0: see screenshot
With Flutter 3.19.0-0.2.pre: exception (see logs)

3.19.0-0.2.pre compiled for web throws in some stack trace checking if the shader is a typeof string when its an object.

Code sample

none

Screenshots or Video

Screenshots / Video demonstration

image

Logs

Logs
══╡ EXCEPTION CAUGHT BY FLUTTER FRAMEWORK ╞═════════════════════════════════════════════════════════
The following FormatException was thrown:
Invalid Shader Data

When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 297:3  throw_
lib/_engine/engine/shader_data.dart 24:7                                     fromBytes
lib/_engine/engine/canvaskit/painting.dart 305:46                            fromBytes
lib/_engine/engine/canvaskit/renderer.dart 464:32                            <fn>
dart-sdk/lib/async/zone.dart 1661:54                                         runUnary
dart-sdk/lib/async/future_impl.dart 162:18                                   handleValue
dart-sdk/lib/async/future_impl.dart 838:44                                   handleValueCallback
dart-sdk/lib/async/future_impl.dart 867:13                                   _propagateToListeners
dart-sdk/lib/async/future_impl.dart 643:5                                    [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 713:7                                    callback
dart-sdk/lib/async/schedule_microtask.dart 40:11                             _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5                              _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 181:7           <fn>
════════════════════════════════════════════════════════════════════════════════════════════════════

Flutter Doctor output

Doctor output
[✓] Flutter (Channel beta, 3.19.0-0.2.pre, on Microsoft Windows [Version 10.0.22631.3007], locale en-US)
    • Flutter version 3.19.0-0.2.pre on channel beta at C:\Development\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c1df7d07ac (29 hours ago), 2024-01-17 15:42:07 -0800
    • Engine revision 4f18bb4dcb
    • Dart version 3.3.0 (build 3.3.0-279.0.dev)
    • DevTools version 2.31.0

[✓] Windows Version (Installed version of Windows is version 10 or higher)

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at C:\Development\Android\Sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = C:\Development\Android\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.7.6)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.7.34221.43
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 2022.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = C:\Program Files\Android\Android Studio
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)

[✓] VS Code, 64-bit edition (version 1.85.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.80.0

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22631.3007]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 120.0.6099.218
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 120.0.2210.133

[✓] Network resources
    • All expected network resources are available.

• No issues found!```

</details>

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: crashStack traces logged to the consoleengineflutter/engine related. See also e: labels.found in release: 3.19Found to occur in 3.19has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-webWeb applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-webOwned by Web platform teamtriaged-webTriaged by Web platform team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions