diff options
-rw-r--r-- | src/panfrost/bifrost/bir.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/panfrost/bifrost/bir.c b/src/panfrost/bifrost/bir.c index 923815b1524..5cdbda89bb8 100644 --- a/src/panfrost/bifrost/bir.c +++ b/src/panfrost/bifrost/bir.c @@ -96,6 +96,11 @@ bi_from_bytemask(uint16_t bytemask, unsigned bytes) unsigned bi_get_component_count(bi_instruction *ins, signed src) { + /* Discards and branches are oddball since they're not BI_VECTOR but no + * destination. So special case.. */ + if (ins->type == BI_DISCARD || ins->type == BI_BRANCH) + return 1; + if (bi_class_props[ins->type] & BI_VECTOR) { assert(ins->vector_channels); return (src <= 0) ? ins->vector_channels : 1; |