diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-10-15 16:49:37 -0400 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-10-15 21:41:12 -0400 |
commit | 923aa3918c08660fdfc43641ca887cfaa098a669 (patch) | |
tree | 7eb32e48067629ac62f32d8bf7b618e0e5513c1f /src/panfrost/midgard | |
parent | 47b58199f0d097a9e29bed58c4ddfc84d3bf1278 (diff) |
pan/midgard: Fix mir_mask_of_read_components with dot products
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/panfrost/midgard')
-rw-r--r-- | src/panfrost/midgard/mir.c | 10 |
1 files 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; |