diff options
author | Eric Anholt <eric@anholt.net> | 2020-04-21 13:26:14 -0700 |
---|---|---|
committer | Eric Engestrom <eric@engestrom.ch> | 2020-06-24 23:03:51 +0200 |
commit | 00975465ac4513b069be65233d5070597fd87a46 (patch) | |
tree | be16628cad5a82680b04ce0e140bc122172ff074 /.gitlab-ci | |
parent | 5edad5682dd1054adf7d319a39dc4a8953aec058 (diff) |
freedreno/ir3: Fix register allocation assertion failures.
We were failing to tell the allocator about the restriction that scalar
texture instructions (allocated as scalar regs) couldn't be allocated such
that the start of the full unwritemasked vector started before r0. There
was a patch in select_reg_callback on a6xx that tried to work around that,
but you could still end up backed into a corner you shouldn't be because
we didn't tell the RA what it needed.
Fixes compiler assertion failures on a300-a400's blit_z shader, used for
Z32F gmem blits.
Looks like as a result we get tighter register allocation but more nops:
instructions in affected programs: 757945 -> 760356 (0.32%)
nops in affected programs: 317983 -> 320468 (0.78%)
non-nops in affected programs: 27525 -> 27451 (-0.27%)
mov in affected programs: 3098 -> 3023 (-2.42%)
dwords in affected programs: 109664 -> 110656 (0.90%)
last-baryf in affected programs: 112701 -> 112847 (0.13%)
full in affected programs: 4326 -> 4011 (-7.28%)
sstall in affected programs: 120550 -> 120836 (0.24%)
(ss) in affected programs: 13939 -> 13918 (-0.15%)
(sy) in affected programs: 3006 -> 2786 (-7.32%)
(cherry picked from commit b420d04e1f744d15622f89180d1e3e511d92a8ba)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5612>
Diffstat (limited to '.gitlab-ci')
-rw-r--r-- | .gitlab-ci/deqp-freedreno-a307-fails.txt | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/.gitlab-ci/deqp-freedreno-a307-fails.txt b/.gitlab-ci/deqp-freedreno-a307-fails.txt index 6c835a85b60..7cf581dc204 100644 --- a/.gitlab-ci/deqp-freedreno-a307-fails.txt +++ b/.gitlab-ci/deqp-freedreno-a307-fails.txt @@ -608,14 +608,6 @@ dEQP-GLES3.functional.texture.format.sized.3d.rgb10_a2ui_pot dEQP-GLES3.functional.texture.format.sized.cube.rgb10_a2ui_npot dEQP-GLES3.functional.texture.format.sized.cube.rgb10_a2ui_pot dEQP-GLES3.functional.texture.mipmap.cube.max_level.linear_nearest -dEQP-GLES3.functional.texture.shadow.2d.linear.less_or_equal_depth_component32f -dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest.equal_depth_component32f -dEQP-GLES3.functional.texture.shadow.2d_array.linear.equal_depth_component32f -dEQP-GLES3.functional.texture.shadow.2d_array.nearest.less_depth_component32f -dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear.less_or_equal_depth_component32f -dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear.less_or_equal_depth_component32f -dEQP-GLES3.functional.texture.shadow.cube.nearest.less_or_equal_depth_component32f -dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.equal_depth_component32f dEQP-GLES3.functional.texture.specification.basic_teximage2d.r8i_2d dEQP-GLES3.functional.texture.specification.basic_teximage2d.r8i_cube dEQP-GLES3.functional.texture.specification.basic_teximage2d.r8ui_2d |