pan/midgard: Pass uploaded midgard_instruction through
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Sat, 3 Aug 2019 00:09:54 +0000 (17:09 -0700)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Mon, 12 Aug 2019 19:42:59 +0000 (12:42 -0700)
We want to edit it after emission in some cases.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/panfrost/midgard/compiler.h
src/panfrost/midgard/midgard_compile.c

index c466ad6a3ab9b13eb7061a9b0dc7f38f664f56d6..899b4c60074bb62b3784f88dbc62494a0cab5548 100644 (file)
@@ -278,10 +278,12 @@ mir_upload_ins(struct midgard_instruction ins)
         return heap;
 }
 
-static inline void
+static inline midgard_instruction *
 emit_mir_instruction(struct compiler_context *ctx, struct midgard_instruction ins)
 {
-        list_addtail(&(mir_upload_ins(ins))->link, &ctx->current_block->instructions);
+        midgard_instruction *u = mir_upload_ins(ins);
+        list_addtail(&u->link, &ctx->current_block->instructions);
+        return u;
 }
 
 static inline struct midgard_instruction *
@@ -526,7 +528,7 @@ void mir_create_pipeline_registers(compiler_context *ctx);
 void
 midgard_promote_uniforms(compiler_context *ctx, unsigned promoted_count);
 
-void
+midgard_instruction *
 emit_ubo_read(
         compiler_context *ctx,
         unsigned dest,
index c0eedb8e1f0511b4bae03f9ba5997086a0563659..fb3921effbcdc62a7f2417f0078946ce4683572f 100644 (file)
@@ -1139,7 +1139,7 @@ emit_alu(compiler_context *ctx, nir_alu_instr *instr)
 /* Uniforms and UBOs use a shared code path, as uniforms are just (slightly
  * optimized) versions of UBO #0 */
 
-void
+midgard_instruction *
 emit_ubo_read(
         compiler_context *ctx,
         unsigned dest,
@@ -1164,7 +1164,7 @@ emit_ubo_read(
 
         ins.load_store.arg_1 = index;
 
-        emit_mir_instruction(ctx, ins);
+        return emit_mir_instruction(ctx, ins);
 }
 
 static void