aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/panfrost/bifrost/bir.c5
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;