diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index fad49d2e5f1..cf7f85e8dc6 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -445,6 +445,8 @@ optimizations.extend([ # (a + #b) * #c => (a * #c) + (#b * #c) (('imul', ('iadd(is_used_once)', a, '#b'), '#c'), ('iadd', ('imul', a, c), ('imul', b, c))), + (('~fmul', ('fadd(is_used_once)', a, '#b'), '#c'), ('fadd', ('fmul', a, c), ('fmul', b, c)), + '!options->avoid_ternary_with_two_constants'), # ((a + #b) + c) * #d => ((a + c) * #d) + (#b * #d) (('imul', ('iadd(is_used_once)', ('iadd(is_used_once)', a, '#b'), c), '#d'), diff --git a/src/freedreno/ci/traces-freedreno.yml b/src/freedreno/ci/traces-freedreno.yml index 49a39a515e6..4428cd44feb 100644 --- a/src/freedreno/ci/traces-freedreno.yml +++ b/src/freedreno/ci/traces-freedreno.yml @@ -45,9 +45,9 @@ traces: # checksum: 4b707f385256b380c936186db8c251cb # 1 minute - device: freedreno-a530 - checksum: a71d62bb2c0fabeca41468628777b441 + checksum: 130dbeac42683b46fed4b268c5aad984 - device: freedreno-a630 - checksum: 339dce29ae08569652438116829510c7 + checksum: 139861e52f9425b4adb7c0b90b885f91 - path: xonotic/xonotic-keybench-high.trace expectations: # Skipped since it's long on a530. @@ -97,9 +97,9 @@ traces: # - device: freedreno-a306 # checksum: bd6e158327d68e69ecf5edfacc368a7b - device: freedreno-a530 - checksum: 1b72313340c37a96acd82e3332513a3e + checksum: ccecf1479c9dd784ebfb4bbf19724640 - device: freedreno-a630 - checksum: eea608db257a1caa21517f0b13807952 + checksum: 4c1b94f65eaf1ae16b8465350f5840e0 - path: neverball/neverball.trace expectations: # Skipped since it's long on a530. @@ -325,9 +325,9 @@ traces: #- device: freedreno-a306 # checksum: 0c57ccc3989b75a940b28ea1cc09cb0d - device: freedreno-a530 - checksum: bc19f0f58935fdb348f401396e6845e1 + checksum: 4715d72a7958f2fd5a387c16b3a01579 - device: freedreno-a630 - checksum: f546f840e916ab0f11f8df0e4eee584d + checksum: 1e397c5c34c9c50350a8db1a060a6bbb - path: glmark2/shading:shading=blinn-phong-inf.trace expectations: - device: freedreno-a306 @@ -420,7 +420,7 @@ traces: - path: gputest/gimark.trace expectations: - device: freedreno-a630 - checksum: e58167bd8eeb8952facbc00ff0449135 + checksum: dd8fb768033d09f6edc98b4cfff02c6f - path: gputest/pixmark-julia-fp32.trace expectations: - device: freedreno-a630 @@ -450,11 +450,11 @@ traces: - path: gputest/plot3d.trace expectations: - device: freedreno-a306 - checksum: f6ecd9b8afc692b0cdb459b9b30db8d4 + checksum: 302943895dbdd7730958fb0175f23b7f - device: freedreno-a530 - checksum: 4faafe5fab0d8ec6d7b549c94f663c92 + checksum: 755aa5b521237ddf9fea3181d2ba2b75 - device: freedreno-a630 - checksum: 0a6a16c394a413f02ec2ebcc3251e366 + checksum: 302aec1ced68e22182460b617b0f2aef # Note: Requires GL4 for tess. - path: gputest/tessmark.trace expectations: @@ -471,9 +471,9 @@ traces: - path: humus/AmbientAperture.trace expectations: - device: freedreno-a306 - checksum: 8d4c52f0af9c09710d358f24c73fae3c + checksum: 3d9243cbd0659cb58b16cade2be3f2c2 - device: freedreno-a530 - checksum: aab5c853e383e1cda56663d65f6925ad + checksum: c55c1ba5683306980956b5f89563f343 - device: freedreno-a630 checksum: 83fd7bce0fc1e1f30bd143b7d30ca890 - path: humus/CelShading.trace @@ -534,7 +534,7 @@ traces: expectations: # a306/a630 would need higher GL version to run - device: freedreno-a630 - checksum: 0e32ca8fc815a7250f38a07faeafb21b + checksum: e93cf9682c9ca5ed6a6effe5b7fdd386 - path: pathfinder/canvas_text_v2.trace expectations: # a306/a630 would need higher GL version to run diff --git a/src/gallium/drivers/llvmpipe/ci/traces-llvmpipe.yml b/src/gallium/drivers/llvmpipe/ci/traces-llvmpipe.yml index 25920f466d4..f36569cd5d9 100644 --- a/src/gallium/drivers/llvmpipe/ci/traces-llvmpipe.yml +++ b/src/gallium/drivers/llvmpipe/ci/traces-llvmpipe.yml @@ -37,7 +37,7 @@ traces: - path: gputest/pixmark-piano.trace expectations: - device: gl-vmware-llvmpipe - checksum: f73a68e9814405910c4628a2824f1eae + checksum: cfaf4c036d8a5626afb1392d8fccabd0 - path: gputest/triangle.trace expectations: - device: gl-vmware-llvmpipe diff --git a/src/gallium/drivers/panfrost/ci/traces-panfrost.yml b/src/gallium/drivers/panfrost/ci/traces-panfrost.yml index 9e36474bd60..6994ed0d2a8 100644 --- a/src/gallium/drivers/panfrost/ci/traces-panfrost.yml +++ b/src/gallium/drivers/panfrost/ci/traces-panfrost.yml @@ -5,7 +5,7 @@ traces: - path: behdad-glyphy/glyphy.trace expectations: - device: gl-panfrost-t860 - checksum: 22bf5262745fd47c5c5eadb93d7cc420 + checksum: b6cd8d92987530edcfc36a933c9b07f6 - path: glmark2/desktop:windows=4:effect=blur:blur-radius=5:passes=1:separable=true.trace expectations: - device: gl-panfrost-t860 @@ -158,7 +158,7 @@ traces: - path: glmark2/refract.trace expectations: - device: gl-panfrost-t860 - checksum: 6557deca1a47a7a77723658ea579ac63 + checksum: e520a0071fd940be1401aea2bec97709 - path: glmark2/shading:shading=blinn-phong-inf.trace expectations: - device: gl-panfrost-t860 @@ -209,11 +209,11 @@ traces: - path: gputest/plot3d.trace expectations: - device: gl-panfrost-t860 - checksum: a34223830866a42747db199b04c5e1be + checksum: e73715f3b6a4f1609eaf5432af03714e - path: humus/AmbientAperture.trace expectations: - device: gl-panfrost-t860 - checksum: e4c0b930ef99f14305e1ade7f1779c09 + checksum: b0d4a64e0907f817161b2a0e85af7a9a - path: humus/CelShading.trace expectations: - device: gl-panfrost-t860 diff --git a/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml b/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml index 60620f784c7..bab64cdb1be 100644 --- a/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml +++ b/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml @@ -21,11 +21,11 @@ traces: - path: pathfinder/demo.trace expectations: - device: gl-radeonsi-stoney - checksum: c81c85f9b247dd1b06c3dd5b669cc283 + checksum: 8ff636268dfa0d54b6f15d70d15e354d - path: pathfinder/canvas_moire.trace expectations: - device: gl-radeonsi-stoney - checksum: 78dd2357ad6e5ffc049a75bfb11c5497 + checksum: 505b9cad6e65c13463a0786944f8b679 - path: pathfinder/canvas_text_v2.trace expectations: - device: gl-radeonsi-stoney @@ -37,7 +37,7 @@ traces: - path: gputest/pixmark-piano.trace expectations: - device: gl-radeonsi-stoney - checksum: 86ebe6ff8038975de8724fa9536edb7e + checksum: 58a86d233d03e2a174cb79c16028f916 - path: gputest/triangle.trace expectations: - device: gl-radeonsi-stoney @@ -133,7 +133,7 @@ traces: - path: glmark2/refract.trace expectations: - device: gl-radeonsi-stoney - checksum: 9d0a2d2fce0b80a265fbcee5107c9e82 + checksum: 41d105bdd10a354f6d161c67f715b7f9 - path: glmark2/shading:shading=blinn-phong-inf.trace expectations: - device: gl-radeonsi-stoney @@ -173,11 +173,11 @@ traces: - path: godot/Material Testers.x86_64_2020.04.08_13.38_frame799.rdc expectations: - device: gl-radeonsi-stoney - checksum: 02f654ad77c0c1106e1b31e1c86c93bb + checksum: 4df1fbfc346851fe9e086a0708afde21 - path: gputest/gimark.trace expectations: - device: gl-radeonsi-stoney - checksum: 4442dbd44a9704c499da4817fffce306 + checksum: 52f76e6db877111845990ee128552082 - path: gputest/pixmark-julia-fp32.trace expectations: - device: gl-radeonsi-stoney @@ -193,7 +193,7 @@ traces: - path: gputest/plot3d.trace expectations: - device: gl-radeonsi-stoney - checksum: ce101e0808b9a2e0092d1668e653a32b + checksum: 203c0c186a8eab5fbb8753ec25848b53 - path: gputest/tessmark.trace expectations: - device: gl-radeonsi-stoney @@ -201,7 +201,7 @@ traces: - path: humus/AmbientAperture.trace expectations: - device: gl-radeonsi-stoney - checksum: 664ea58a62b27737b7d0ae9e86ab85c0 + checksum: 7ad498c94dcfbf22ef56f115648be86d - path: humus/CelShading.trace expectations: - device: gl-radeonsi-stoney diff --git a/src/gallium/drivers/virgl/ci/traces-virgl.yml b/src/gallium/drivers/virgl/ci/traces-virgl.yml index aece140d40d..05010a717b7 100644 --- a/src/gallium/drivers/virgl/ci/traces-virgl.yml +++ b/src/gallium/drivers/virgl/ci/traces-virgl.yml @@ -17,11 +17,11 @@ traces: - path: gputest/furmark.trace expectations: - device: gl-virgl - checksum: 87ffd45be95f2d55f82325c86ce32f20 + checksum: 292ebf725dcea23def48a807c4e2ea09 - path: gputest/pixmark-piano.trace expectations: - device: gl-virgl - checksum: 8293e59b818715ddf1c23e9f60b17851 + checksum: 52a05afe422b32de0779fae3f5e1391a - path: gputest/triangle.trace expectations: - device: gl-virgl @@ -121,7 +121,7 @@ traces: - path: glmark2/refract.trace expectations: - device: gl-virgl - checksum: b77f24a0651ef93e1c4253042ad9c9fa + checksum: eba9998078a2fb5c28ab1df53ca88fc2 - path: glmark2/shading:shading=blinn-phong-inf.trace expectations: - device: gl-virgl @@ -178,7 +178,7 @@ traces: - path: gputest/plot3d.trace expectations: - device: gl-virgl - checksum: f3c0187ab2197c57e699135b7f42b8cc + checksum: 399cc67c27f9fb585b0e21a7110c53e7 # Times out # - path: gputest/tessmark.trace # expectations: