pan/midgard: Split ld/st unknown to arg_1/arg_2 fields
[mesa.git] / src / panfrost / midgard / midgard_opt_perspective.c
index df826bc30c1d3551263d7eb64a353a9c02fa9dd9..fe816481fefdb23e85b69defe5bee4f5f019ff3a 100644 (file)
@@ -64,8 +64,8 @@ midgard_opt_combine_projection(compiler_context *ctx, midgard_block *block)
                 unsigned frcp = ins->ssa_args.src1;
                 unsigned to = ins->ssa_args.dest;
 
-                if (frcp >= ctx->func->impl->ssa_alloc) continue;
-                if (to >= ctx->func->impl->ssa_alloc) continue;
+                if (frcp & IS_REG) continue;
+                if (to & IS_REG) continue;
 
                 bool frcp_found = false;
                 unsigned frcp_component = 0;
@@ -124,7 +124,7 @@ midgard_opt_combine_projection(compiler_context *ctx, midgard_block *block)
                                         midgard_op_ldst_perspective_division_w : 
                                         midgard_op_ldst_perspective_division_z,
                                 .swizzle = SWIZZLE_XYZW,
-                                .unknown = 0x24,
+                                .arg_1 = 0x24,
                         }
                 };
 
@@ -150,8 +150,8 @@ midgard_opt_varying_projection(compiler_context *ctx, midgard_block *block)
                 unsigned vary = ins->ssa_args.src0;
                 unsigned to = ins->ssa_args.dest;
 
-                if (vary >= ctx->func->impl->ssa_alloc) continue;
-                if (to >= ctx->func->impl->ssa_alloc) continue;
+                if (vary & IS_REG) continue;
+                if (to & IS_REG) continue;
                 if (!mir_single_use(ctx, vary)) continue;
 
                 /* Check for a varying source. If we find it, we rewrite */