Mesa (master): pan/midgard: Fix mir_mask_of_read_components with dot products

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Oct 16 01:41:56 UTC 2019


Module: Mesa
Branch: master
Commit: 923aa3918c08660fdfc43641ca887cfaa098a669
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=923aa3918c08660fdfc43641ca887cfaa098a669

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Tue Oct 15 16:49:37 2019 -0400

pan/midgard: Fix mir_mask_of_read_components with dot products

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>

---

 src/panfrost/midgard/mir.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/panfrost/midgard/mir.c b/src/panfrost/midgard/mir.c
index b9df0527e3f..5d49f7f79f1 100644
--- a/src/panfrost/midgard/mir.c
+++ b/src/panfrost/midgard/mir.c
@@ -411,19 +411,19 @@ mir_mask_of_read_components(midgard_instruction *ins, unsigned node)
                  * readmasks based on the writemask */
                 unsigned qmask = (ins->type == TAG_ALU_4) ? ins->mask : 0xF;
 
-                unsigned swizzle = mir_get_swizzle(ins, i);
-                unsigned m = mir_mask_of_read_components_single(swizzle, qmask);
-
                 /* Handle dot products and things */
                 if (ins->type == TAG_ALU_4 && !ins->compact_branch) {
                         unsigned channel_override =
                                 GET_CHANNEL_COUNT(alu_opcode_props[ins->alu.op].props);
 
                         if (channel_override)
-                                m = mask_of(channel_override);
+                                qmask = mask_of(channel_override);
                 }
 
-                mask |= m;
+                unsigned swizzle = mir_get_swizzle(ins, i);
+                unsigned m = mir_mask_of_read_components_single(swizzle, qmask);
+
+               mask |= m;
         }
 
         return mask;




More information about the mesa-commit mailing list