pan/mdg: Fix constant combining crash
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Thu, 7 May 2020 14:13:35 +0000 (10:13 -0400)
committerMarge Bot <eric+marge@anholt.net>
Thu, 21 May 2020 17:49:13 +0000 (17:49 +0000)
We need to round up.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151>

src/panfrost/midgard/midgard_schedule.c

index 77737410cfdd0f1de8ac0e930cf422a9b93b2483..c77eee16fcea9b3540b1b4748c37b2ee619f5260 100644 (file)
@@ -399,7 +399,9 @@ mir_adjust_constants(midgard_instruction *ins,
                 midgard_reg_mode src_mode = mir_srcsize(ins, src);
                 unsigned type_size = mir_bytes_for_mode(src_mode);
                 unsigned max_comp = 16 / type_size;
-                unsigned comp_mask = mir_from_bytemask(mir_bytemask_of_read_components_index(ins, src),
+                unsigned comp_mask = mir_from_bytemask(mir_round_bytemask_up(
+                                        mir_bytemask_of_read_components_index(ins, src),
+                                        dst_mode),
                                                        dst_mode);
                 unsigned type_mask = (1 << type_size) - 1;