Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Regression] Bug in using a radial gradient to paint text #102947

Closed
zathras opened this issue May 2, 2022 · 5 comments · Fixed by flutter/engine#33131
Closed

[Regression] Bug in using a radial gradient to paint text #102947

zathras opened this issue May 2, 2022 · 5 comments · Fixed by flutter/engine#33131
Labels
a: typography Text rendering, possibly libtxt c: regression It was better in the past than it is now c: rendering UI glitches reported at the engine/skia rendering level engine flutter/engine repository. See also e: labels. found in release: 2.13 Found to occur in 2.13 has reproducible steps The issue has been confirmed reproducible and is ready to work on r: fixed Issue is closed as already fixed in a newer version

Comments

@zathras
Copy link

zathras commented May 2, 2022

When painting text using a radial gradient in the current beta of flutter (2.13.0-0.pre), the results are not as expected, as compared to what is produced by the current stable version (2.10.5). I believe the stable version is correct, and the beta version is wrong.

The results are consistent on both MacOS and Linux. That is to say, stable produces results believed to be correct on both, and beta produces results believed to be wrong on both.

Steps to Reproduce

Execute flutter test test/flutter_bug_radial_gradient.dart and look at the flutter_bug.png image produced.

Expected results (stable 2.10.5) Actual results (beta 2.13.0-0.3.pre)
Code sample
import 'dart:io';
import 'dart:typed_data';
import 'package:flutter/material.dart' as material;
import 'dart:ui';

void main() async {
  final recorder = PictureRecorder();
  final Canvas c = Canvas(recorder);
  final Paint p = Paint();
  final xform = Float64List.fromList([
    86.80000129342079,
    0.0,
    0.0,
    0.0,
    0.0,
    94.5,
    0.0,
    0.0,
    0.0,
    0.0,
    1.0,
    0.0,
    60.0,
    224.310302734375,
    0.0,
    1.0
  ]);
  p.shader = Gradient.radial(
      Offset(2.5, 0.33),
      0.8,
      [
        Color(0xffff0000),
        Color(0xff00ff00),
        Color(0xff0000ff),
        Color(0xffff00ff)
      ],
      [0.0, 0.3, 0.7, 0.9],
      TileMode.mirror,
      xform,
      Offset(2.55, 0.4));
  final span = material.TextSpan(
      style: material.TextStyle(foreground: p, fontSize: 200), text: 'Woodstock!');
  final tp = material.TextPainter(text: span, textDirection: TextDirection.ltr);
  tp.layout();
  tp.paint(c, Offset(10, 150));

  final Picture pict = recorder.endRecording();
  final Image rendered = await pict.toImage(600, 400);
  final bd = await rendered.toByteData(format: ImageByteFormat.png);
  final bytes = Uint8List.fromList(bd!.buffer.asUint8List());
  File('flutter_bug.png').writeAsBytesSync(bytes);
  print('Wrote ${bytes.length} to flutter_bug.png');
}
Logs
billf@Zathras:~/github/jovial_svg$ flutter test test/flutter_bug_radial_gradient.dart --verbose
[  +89 ms] executing: uname -m
[  +41 ms] Exit code 0 from: uname -m
[        ] x86_64
[   +8 ms] executing: [/home/billf/snap/flutter/common/flutter/] git -c
log.showSignature=false log -n 1 --pretty=format:%H
[  +11 ms] Exit code 0 from: git -c log.showSignature=false log -n 1
--pretty=format:%H
[        ] 5293f3cd4427b4b48ed155e7a3852c6b3c53d94a
[        ] executing: [/home/billf/snap/flutter/common/flutter/] git tag
--points-at 5293f3cd4427b4b48ed155e7a3852c6b3c53d94a
[  +17 ms] Exit code 0 from: git tag --points-at
5293f3cd4427b4b48ed155e7a3852c6b3c53d94a
[        ] 2.13.0-0.3.pre
[  +11 ms] executing: [/home/billf/snap/flutter/common/flutter/] git rev-parse
--abbrev-ref --symbolic @{u}
[   +6 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/beta
[        ] executing: [/home/billf/snap/flutter/common/flutter/] git ls-remote
--get-url origin
[   +6 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[ +104 ms] Unable to locate an Android SDK.
[   +8 ms] executing: [/home/billf/snap/flutter/common/flutter/] git rev-parse
--abbrev-ref HEAD
[   +7 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[  +92 ms] Found 1 files which will be executed as Widget Tests.
[   +8 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping
update.
[   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required,
skipping update.
[  +76 ms] Artifact Instance of 'MaterialFonts' is not required, skipping
update.
[        ] Artifact Instance of 'GradleWrapper' is not required, skipping
update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping
update.
[        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required,
skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required,
skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping
update.
[        ] Artifact Instance of 'PubDependencies' is not required, skipping
update.
[  +66 ms] Skipping pub get: version match.
[ +230 ms] running test package with arguments: [-r, compact, --timeout, 30s,
--concurrency=2, --chain-stack-traces, --,
/home/billf/github/jovial_svg/test/flutter_bug_radial_gradient.dart]
00:00 +0: ...billf/github/jovial_svg/test/flutter_bug_radial_gradient.dart     [ +246 ms] test 0: starting test
/home/billf/github/jovial_svg/test/flutter_bug_radial_gradient.dart
[   +7 ms] Stopping scan for flutter_test_config.dart; found project root at
/home/billf/github/jovial_svg
[   +3 ms] Compiler will use the following file as its incremental dill file:
/tmp/flutter_tools.GTUDWG/flutter_test_compiler.QJQUQJ/output.dill
[        ] Listening to compiler controller...
[  +13 ms] Compiling
file:///tmp/flutter_tools.GTUDWG/flutter_test_listener.HGRYPT/listener.dart
[  +54 ms] /home/billf/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/dart
--disable-dart-dev
/home/billf/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/snapshots/fronten
d_server.dart.snapshot --sdk-root
/home/billf/snap/flutter/common/flutter/bin/cache/artifacts/engine/common/flutte
r_patched_sdk/ --incremental --no-print-incremental-dependencies
--target=flutter --debugger-module-names --experimental-emit-debug-metadata
-DFLUTTER_WEB_AUTO_DETECT=true --output-dill
/tmp/flutter_tools.GTUDWG/flutter_test_compiler.QJQUQJ/output.dill --packages
/home/billf/github/jovial_svg/.dart_tool/package_config.json
-Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts
--track-widget-creation --initialize-from-dill
/home/billf/github/jovial_svg/build/test_cache/build/c075001b96339384a97db4862b8
ab8db.cache.dill.track.dill
[  +25 ms] <- compile
file:///tmp/flutter_tools.GTUDWG/flutter_test_listener.HGRYPT/listener.dart
00:01 +0: ...billf/github/jovial_svg/test/flutter_bug_radial_gradient.dart     [+1381 ms] <- accept
[        ] <- reset
[        ] Compiling
file:///tmp/flutter_tools.GTUDWG/flutter_test_listener.HGRYPT/listener.dart took
1461ms
[        ] test 0: starting test device
[  +11 ms] test 0: awaiting connection to test device
[   +6 ms] test 0: Observatory uri is not available
[   +9 ms] test 0: test harness socket server is running at port:36101
[        ] executing: uname -m
[   +5 ms] Exit code 0 from: uname -m
[        ] x86_64
[   +1 ms] Using this directory for fonts configuration:
/tmp/flutter_tools.GTUDWG/flutter_test_fonts.DBLATU
[   +1 ms] test 0: Starting flutter_tester process with
command=[/home/billf/snap/flutter/common/flutter/bin/cache/artifacts/engine/linu
x-x64/flutter_tester, --disable-observatory, --enable-checked-mode,
--verify-entry-points, --enable-software-rendering,
--skia-deterministic-rendering, --enable-dart-profiling, --non-interactive,
--use-test-fonts,
--packages=/home/billf/github/jovial_svg/.dart_tool/package_config.json,
/tmp/flutter_tools.GTUDWG/flutter_test_listener.HGRYPT/listener.dart.dill],
environment={FLUTTER_TEST: true, FONTCONFIG_FILE:
/tmp/flutter_tools.GTUDWG/flutter_test_fonts.DBLATU/fonts.conf, SERVER_PORT:
36101, APP_NAME: jovial_svg, UNIT_TEST_ASSETS:
/home/billf/github/jovial_svg/build/unit_test_assets}
[   +5 ms] test 0: Started flutter_tester process at pid 5740
00:02 +0: ...billf/github/jovial_svg/test/flutter_bug_radial_gradient.dart     [ +489 ms] test 0: connected to test device, now awaiting test result
[        ] test 0: Waiting for test harness or tests to finish
00:02 +0: loading /home/billf/github/jovial_svg/test/flutter_bug_radial_gradient.dart
Wrote 247966 to flutter_bug.png
[ +195 ms] test 0: Test harness is no longer needed by test process
[        ] test 0: finished
[   +2 ms] test 0: cleaning up...
[        ] test 0: ensuring test device is terminated.
[        ] test 0: Terminating flutter_tester process
[        ] test 0: Shutting down test harness socket server
[        ] test 0: Test process is no longer needed by test harness
[  +11 ms] test 0: flutter_tester process at pid 5740 exited with code=-9
[        ] test 0: deleting temporary directory
[   +6 ms] test 0: finished
No tests ran.
No tests were found.
[  +15 ms] Deleting /tmp/flutter_tools.GTUDWG/flutter_test_compiler.QJQUQJ...
[   +6 ms] killing pid 5732
[  +54 ms] Deleting /tmp/flutter_tools.GTUDWG/flutter_test_fonts.DBLATU...
[   +3 ms] test package returned with exit code 79
[  +11 ms] "flutter test" took 3,007ms.
[   +6 ms] 
           #0      throwToolExit
(package:flutter_tools/src/base/common.dart:10:3)
           #1      TestCommand.runCommand
           (package:flutter_tools/src/commands/test.dart:471:7)
           <asynchronous suspension>
           #2      FlutterCommand.run.<anonymous closure>
           (package:flutter_tools/src/runner/flutter_command.dart:1183:27)
           <asynchronous suspension>
           #3      AppContext.run.<anonymous closure>
           (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #4      CommandRunner.runCommand
(package:args/command_runner.dart:209:13)
           <asynchronous suspension>
           #5      FlutterCommandRunner.runCommand.<anonymous closure>
           (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
           <asynchronous suspension>
           #6      AppContext.run.<anonymous closure>
           (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #7      FlutterCommandRunner.runCommand
           (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
           <asynchronous suspension>
           #8      run.<anonymous closure>.<anonymous closure>
           (package:flutter_tools/runner.dart:62:9)
           <asynchronous suspension>
           #9      AppContext.run.<anonymous closure>
           (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #10     main (package:flutter_tools/executable.dart:94:3)
           <asynchronous suspension>
           
           
[   +8 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 1

Analyzing test...                                                       

   info • Prefer const with constant constructors • flutter_bug_radial_gradient.dart:29:7 • prefer_const_constructors
   info • Prefer const with constant constructors • flutter_bug_radial_gradient.dart:32:9 • prefer_const_constructors
   info • Prefer const with constant constructors • flutter_bug_radial_gradient.dart:33:9 • prefer_const_constructors
   info • Prefer const with constant constructors • flutter_bug_radial_gradient.dart:34:9 • prefer_const_constructors
   info • Prefer const with constant constructors • flutter_bug_radial_gradient.dart:35:9 • prefer_const_constructors
   info • Prefer const with constant constructors • flutter_bug_radial_gradient.dart:40:7 • prefer_const_constructors
   info • Prefer const with constant constructors • flutter_bug_radial_gradient.dart:45:15 • prefer_const_constructors

7 issues found. (ran in 2.1s)

[✓] Flutter (Channel beta, 2.13.0-0.3.pre, on Ubuntu 20.04.4 LTS 5.13.0-40-generic, locale en_US.UTF-8)
    • Flutter version 2.13.0-0.3.pre at /home/billf/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5293f3cd44 (5 days ago), 2022-04-27 12:37:50 -0700
    • Engine revision 3096903c89
    • Dart version 2.17.0 (build 2.17.0-266.7.beta)
    • DevTools version 2.12.2

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.


[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Linux toolchain - develop for Linux desktop
    • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
    • cmake version 3.10.2
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[✓] Connected device (1 available)
    • Linux (desktop) • linux • linux-x64 • Ubuntu 20.04.4 LTS 5.13.0-40-generic

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 3 categories.


@danagbemava-nc danagbemava-nc added the in triage Presently being triaged by the triage team label May 3, 2022
@danagbemava-nc danagbemava-nc changed the title Regression: Bug in radial gradient painting of text in 2.13 [Regression] Bug in using a radial gradient to paint text May 3, 2022
@danagbemava-nc
Copy link
Member

Issue is reproducible on beta and master but not on stable using the code sample provided above.

Steps to reproduce

  1. Run flutter create bug
  2. Add a new test file and add in the code sample provided above
  3. Run flutter test test/<insert_test_file_name_here>

The project is attached below for easy access.

screenshots
stable beta & master
flutter doctor -v
[✓] Flutter (Channel stable, 2.10.5, on macOS 12.3.1 21E258 darwin-arm, locale en-GB)
    • Flutter version 2.10.5 at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5464c5bac7 (2 weeks ago), 2022-04-18 09:55:37 -0700
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[☠] IntelliJ IDEA Community Edition (the doctor check crashed)
    ✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
    ✗ FormatException: Unexpected extension byte (at offset 5)
    • #0      _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1789:7)
      #1      Utf8Decoder.convert (dart:convert/utf.dart:351:42)
      #2      InputStream.readString (package:archive/src/util/input_stream.dart:207:30)
      #3      new ZipDirectory.read (package:archive/src/zip/zip_directory.dart:40:30)
      #4      ZipDecoder.decodeBuffer (package:archive/src/zip_decoder.dart:19:30)
      #5      ZipDecoder.decodeBytes (package:archive/src/zip_decoder.dart:14:12)
      #6      IntelliJPlugins._findPluginXml (package:flutter_tools/src/intellij/intellij.dart:130:44)
      #7      IntelliJPlugins._readPackageVersion (package:flutter_tools/src/intellij/intellij.dart:141:40)
      #8      IntelliJPlugins.validatePackage (package:flutter_tools/src/intellij/intellij.dart:63:35)
      #9      IntelliJValidator.validate (package:flutter_tools/src/intellij/intellij_validator.dart:103:15)
      #10     asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:111:32)
      #11     asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:109:18)
      #12     _rootRun (dart:async/zone.dart:1426:13)
      #13     _CustomZone.run (dart:async/zone.dart:1328:19)
      #14     _runZoned (dart:async/zone.dart:1861:10)
      #15     runZonedGuarded (dart:async/zone.dart:1849:12)
      #16     runZoned (dart:async/zone.dart:1780:12)
      #17     asyncGuard (package:flutter_tools/src/base/async_guard.dart:109:3)
      #18     Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:205:9)
      #19     Doctor.diagnose (package:flutter_tools/src/doctor.dart:309:47)
      #20     DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:50:48)
      #21     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1320:12)
      <asynchronous suspension>
      #22     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1161:27)
      <asynchronous suspension>
      #23     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #24     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
      <asynchronous suspension>
      #25     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
      <asynchronous suspension>
      #26     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #27     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
      <asynchronous suspension>
      #28     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
      <asynchronous suspension>
      #29     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #30     main (package:flutter_tools/executable.dart:94:3)
      <asynchronous suspension>


[✓] VS Code (version 1.66.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (3 available)
    • iPad Pro (11-inch) (3rd generation) (mobile) • B15839B3-904C-41E2-9323-3FDF0C7C64C1 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-4 (simulator)
    • macOS (desktop)                              • macos                                • darwin-arm64   • macOS 12.3.1 21E258 darwin-arm
    • Chrome (web)                                 • chrome                               • web-javascript • Google Chrome 100.0.4896.127

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.
[✓] Flutter (Channel beta, 2.13.0-0.3.pre, on macOS 12.3.1 21E258 darwin-arm, locale en-GB)
    • Flutter version 2.13.0-0.3.pre at /Users/nexus/dev/sdks/flutter_beta
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5293f3cd44 (6 days ago), 2022-04-27 12:37:50 -0700
    • Engine revision 3096903c89
    • Dart version 2.17.0 (build 2.17.0-266.7.beta)
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Community Edition (version 2021.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin version 213.5744.122

[✓] VS Code (version 1.66.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (3 available)
    • iPad Pro (11-inch) (3rd generation) (mobile) • B15839B3-904C-41E2-9323-3FDF0C7C64C1 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-4 (simulator)
    • macOS (desktop)                              • macos                                • darwin-arm64   • macOS 12.3.1 21E258 darwin-arm
    • Chrome (web)                                 • chrome                               • web-javascript • Google Chrome 100.0.4896.127

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!
[✓] Flutter (Channel master, 2.13.0-0.0.pre.867, on macOS 12.3.1 21E258 darwin-arm, locale en-GB)
    • Flutter version 2.13.0-0.0.pre.867 at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 8ad88f162d (3 hours ago), 2022-05-03 01:09:11 -0400
    • Engine revision 53eeb5a1c7
    • Dart version 2.18.0 (build 2.18.0-78.0.dev)
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Community Edition (version 2021.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin version 213.5744.122

[✓] VS Code (version 1.66.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (3 available)
    • iPad Pro (11-inch) (3rd generation) (mobile) • B15839B3-904C-41E2-9323-3FDF0C7C64C1 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-4 (simulator)
    • macOS (desktop)                              • macos                                • darwin-arm64   • macOS 12.3.1 21E258 darwin-arm
    • Chrome (web)                                 • chrome                               • web-javascript • Google Chrome 100.0.4896.127

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

grd.zip

@danagbemava-nc danagbemava-nc added c: regression It was better in the past than it is now framework flutter/packages/flutter repository. See also f: labels. a: typography Text rendering, possibly libtxt c: rendering UI glitches reported at the engine/skia rendering level has reproducible steps The issue has been confirmed reproducible and is ready to work on found in release: 2.13 Found to occur in 2.13 and removed in triage Presently being triaged by the triage team labels May 3, 2022
@goderbauer goderbauer added engine flutter/engine repository. See also e: labels. and removed framework flutter/packages/flutter repository. See also f: labels. labels May 4, 2022
@jason-simmons
Copy link
Member

This happens because DlColorSource::From does not set the local matrix when converting the various Skia gradient shader types into display list objects.

Skia has deprecated the APIs for extracting the definition of an SkShader (asAGradient is still available but is marked as deprecated). As part of that Skia removed the SkShader::getLocalMatrix API.
(see https://bugs.chromium.org/p/skia/issues/detail?id=8941)

@flar

@flar
Copy link
Contributor

flar commented May 5, 2022

The other issue I created and linked above is not a dup of this issue. We can fix this issue with a quick gutting of some of the code in DlColorSource which will leave more issues for the Impeller pipeline. The other issue linked above is for tracking a better solution once this current problem is solved.

@flar
Copy link
Contributor

flar commented May 5, 2022

I should have created a golden test to verify the output. The tests in this PR were all at the API level.

@danagbemava-nc danagbemava-nc added the r: fixed Issue is closed as already fixed in a newer version label May 6, 2022
@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 20, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a: typography Text rendering, possibly libtxt c: regression It was better in the past than it is now c: rendering UI glitches reported at the engine/skia rendering level engine flutter/engine repository. See also e: labels. found in release: 2.13 Found to occur in 2.13 has reproducible steps The issue has been confirmed reproducible and is ready to work on r: fixed Issue is closed as already fixed in a newer version
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants