pan/bi: Fix vector handling of readmasks
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Thu, 12 Mar 2020 01:41:57 +0000 (21:41 -0400)
committerMarge Bot <eric+marge@anholt.net>
Thu, 12 Mar 2020 12:41:08 +0000 (12:41 +0000)
commite1d95339254361d4a481b35b3d2adeb4ae417d03
tree3a2c81339d70cba8c2a55fde90a5cafb731162bb
parentc63105f98860e96257f9c457aa3ef3c8b21edd9d
pan/bi: Fix vector handling of readmasks

The issue was messing with liveness analysis... with Midgard we look at
the writemask to decide how the instruction behaves. Here, since our ALU
is scalar (except for subdivision which doesn't have proper writemasks
anyway) we just look at the component count directly -- either 4 for
vector instructions (essentially - for smaller loads we can replicate
manually without much burden), or 1 for scalar.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4158>
src/panfrost/bifrost/bi_tables.c
src/panfrost/bifrost/bir.c
src/panfrost/bifrost/compiler.h