pan/midgard: Report read mask for branch arguments

Conditionals in particular read values.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
Alyssa Rosenzweig 2019-10-15 14:54:07 -04:00
parent fd235484fe
commit a6867fb3fd
1 changed files with 4 additions and 0 deletions

View File

@ -396,6 +396,10 @@ mir_mask_of_read_components(midgard_instruction *ins, unsigned node)
if (ins->compact_branch && ins->writeout && (i == 0))
return 0xF;
/* Conditional branches read one component (TODO: multi branch??) */
if (ins->compact_branch && !ins->prepacked_branch && ins->branch.conditional && (i == 0))
return 0x1;
/* ALU ops act componentwise so we need to pay attention to
* their mask. Texture/ldst does not so we don't clamp source
* readmasks based on the writemask */