summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-04-27 20:35:39 -0400
committerMarge Bot <[email protected]>2020-04-29 15:35:54 +0000
commitefc9ab6dcced7b8afc8e9dd9f201124ca8d00797 (patch)
treeeda25460fe2b9d0566250d8e0e7fa61cff765728
parentd8d7df6f09acb7220c35323449d512146a7cc06d (diff)
pan/mdg: Pass through some types from scheduling
Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
-rw-r--r--src/panfrost/midgard/midgard_schedule.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/panfrost/midgard/midgard_schedule.c b/src/panfrost/midgard/midgard_schedule.c
index 3e9992554ed..77737410cfd 100644
--- a/src/panfrost/midgard/midgard_schedule.c
+++ b/src/panfrost/midgard/midgard_schedule.c
@@ -906,6 +906,7 @@ mir_schedule_alu(
sadd->has_inline_constant = true;
sadd->inline_constant = branch->constants.u32[0];
branch->src[1] = sadd->dest;
+ branch->src_types[1] = sadd->dest_type;
/* Mask off any conditionals. Could be optimized to just scalar
* conditionals TODO */
@@ -928,6 +929,7 @@ mir_schedule_alu(
if (!ctx->is_blend) {
vadd->alu.op = midgard_alu_op_iadd;
vadd->src[0] = SSA_FIXED_REGISTER(31);
+ vadd->src_types[0] = nir_type_uint32;
for (unsigned c = 0; c < 16; ++c)
vadd->swizzle[0][c] = COMPONENT_X;
@@ -936,6 +938,7 @@ mir_schedule_alu(
vadd->inline_constant = 0;
} else {
vadd->src[1] = SSA_FIXED_REGISTER(1);
+ vadd->src_types[0] = nir_type_uint32;
for (unsigned c = 0; c < 16; ++c)
vadd->swizzle[1][c] = COMPONENT_W;
@@ -944,6 +947,7 @@ mir_schedule_alu(
vadd->unit = UNIT_VADD;
vadd->mask = 0x1;
branch->src[2] = vadd->dest;
+ branch->src_types[2] = vadd->dest_type;
}
mir_choose_alu(&vadd, instructions, worklist, len, &predicate, UNIT_VADD);