Changes found in shader flutter/impeller/entity/gles/rrect_blur.frag.gles on core Mali-G78:
longest_path_cycles in variant Main
arith_total arith_fma arith_cvt arith_sfu load_store varying texture bound
before 1.656250 1.656250 0.453125 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
after 1.593750 1.593750 0.453125 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
shortest_path_cycles in variant Main
arith_total arith_fma arith_cvt arith_sfu load_store varying texture bound
before 1.656250 1.656250 0.421875 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
after 1.593750 1.593750 0.421875 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
total_cycles in variant Main
arith_total arith_fma arith_cvt arith_sfu load_store varying texture bound
before 1.656250 1.656250 0.453125 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
after 1.593750 1.593750 0.453125 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
For a full report, run:
$ malioc --fragment --core Mali-G78 /b/s/w/ir/cache/builder/src/out/ci/android_debug_unopt/gen/flutter/impeller/entity/gles/rrect_blur.frag.gles
Changes found in shader flutter/impeller/entity/gles/rrect_blur.frag.gles on core Mali-T880:
In variant Main:
has_stack_spilling: False <- before
has_stack_spilling: True <- after
longest_path_cycles in variant Main
arithmetic load_store texture bound
before 25.740000 1.000000 0.000000 arithmetic
after 14.850000 9.000000 0.000000 arithmetic
shortest_path_cycles in variant Main
arithmetic load_store texture bound
before 25.740000 1.000000 0.000000 arithmetic
after 14.850000 9.000000 0.000000 arithmetic
total_cycles in variant Main
arithmetic load_store texture bound
before 8.333333 1.000000 0.000000 arithmetic
after 15.333333 9.000000 0.000000 arithmetic
For a full report, run:
$ malioc --fragment --core Mali-T880 /b/s/w/ir/cache/builder/src/out/ci/android_debug_unopt/gen/flutter/impeller/entity/gles/rrect_blur.frag.gles
Changes found in shader flutter/impeller/entity/rrect_blur.frag.vkspv on core Mali-G78:
longest_path_cycles in variant Main
arith_total arith_fma arith_cvt arith_sfu load_store varying texture bound
before 1.656250 1.656250 0.421875 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
after 1.593750 1.593750 0.421875 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
shortest_path_cycles in variant Main
arith_total arith_fma arith_cvt arith_sfu load_store varying texture bound
before 1.656250 1.656250 0.421875 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
after 1.593750 1.593750 0.421875 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
total_cycles in variant Main
arith_total arith_fma arith_cvt arith_sfu load_store varying texture bound
before 1.656250 1.656250 0.421875 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
after 1.593750 1.593750 0.421875 1.500000 0.000000 0.250000 0.000000 arith_total,arith_fma
For a full report, run:
$ malioc --fragment --core Mali-G78 /b/s/w/ir/cache/builder/src/out/ci/android_debug_unopt/gen/flutter/impeller/entity/rrect_blur.frag.vkspv
There are new shaders, shaders have been removed, or performance changes to existing shaders. The golden file must be updated after a build of android_debug_unopt using the --malioc-path flag to the flutter/tools/gn script.
$ ./flutter/impeller/tools/malioc_diff.py --before /b/s/w/ir/cache/builder/src/flutter/impeller/tools/malioc.json --after /b/s/w/ir/cache/builder/src/out/ci/android_debug_unopt/gen/malioc --update
You can alternately apply the diff below:
patch -p0 <<DONE
--- flutter/impeller/tools/malioc.json
+++
@@ -3858,8 +3858,8 @@
"arith_fma"
],
"longest_path_cycles": [
- 1.65625,
- 1.65625,
+ 1.59375,
+ 1.59375,
0.453125,
1.5,
0.0,
@@ -3880,8 +3880,8 @@
"arith_fma"
],
"shortest_path_cycles": [
- 1.65625,
- 1.65625,
+ 1.59375,
+ 1.59375,
0.421875,
1.5,
0.0,
@@ -3893,8 +3893,8 @@
"arith_fma"
],
"total_cycles": [
- 1.65625,
- 1.65625,
+ 1.59375,
+ 1.59375,
0.453125,
1.5,
0.0,
@@ -3916,14 +3916,14 @@
"type": "Fragment",
"variants": {
"Main": {
- "has_stack_spilling": false,
+ "has_stack_spilling": true,
"performance": {
"longest_path_bound_pipelines": [
"arithmetic"
],
"longest_path_cycles": [
- 25.739999771118164,
- 1.0,
+ 14.850000381469727,
+ 9.0,
0.0
],
"pipelines": [
@@ -3935,16 +3935,16 @@
"arithmetic"
],
"shortest_path_cycles": [
- 25.739999771118164,
- 1.0,
+ 14.850000381469727,
+ 9.0,
0.0
],
"total_bound_pipelines": [
"arithmetic"
],
"total_cycles": [
- 8.333333015441895,
- 1.0,
+ 15.333333015441895,
+ 9.0,
0.0
]
},
@@ -6816,8 +6816,8 @@
"arith_fma"
],
"longest_path_cycles": [
- 1.65625,
- 1.65625,
+ 1.59375,
+ 1.59375,
0.421875,
1.5,
0.0,
@@ -6838,8 +6838,8 @@
"arith_fma"
],
"shortest_path_cycles": [
- 1.65625,
- 1.65625,
+ 1.59375,
+ 1.59375,
0.421875,
1.5,
0.0,
@@ -6851,8 +6851,8 @@
"arith_fma"
],
"total_cycles": [
- 1.65625,
- 1.65625,
+ 1.59375,
+ 1.59375,
0.421875,
1.5,
0.0,
DONE