From 075e6be90c6ed29b4bed027ace7ad0131099a6b9 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sun, 11 Apr 2021 11:05:52 -0400 Subject: [PATCH] agx: Stub NIR instruction iteration Signed-off-by: Alyssa Rosenzweig Acked-by: Jason Ekstrand Acked-by: Bas Nieuwenhuizen Part-of: --- src/asahi/compiler/agx_compile.c | 61 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/src/asahi/compiler/agx_compile.c b/src/asahi/compiler/agx_compile.c index 5e7d8bb..14ef581 100644 --- a/src/asahi/compiler/agx_compile.c +++ b/src/asahi/compiler/agx_compile.c @@ -48,6 +48,65 @@ int agx_debug = 0; fprintf(stderr, "%s:%d: "fmt, \ __FUNCTION__, __LINE__, ##__VA_ARGS__); } while (0) +static void +agx_emit_load_const(agx_builder *b, nir_load_const_instr *instr) +{ + unreachable("stub"); +} + +static void +agx_emit_intrinsic(agx_builder *b, nir_intrinsic_instr *instr) +{ + unreachable("stub"); +} + +static void +agx_emit_alu(agx_builder *b, nir_alu_instr *instr) +{ + unreachable("stub"); +} + +static void +agx_emit_tex(agx_builder *b, nir_tex_instr *instr) +{ + unreachable("stub"); +} + +static void +agx_emit_jump(agx_builder *b, nir_jump_instr *instr) +{ + unreachable("stub"); +} + +static void +agx_emit_instr(agx_builder *b, struct nir_instr *instr) +{ + switch (instr->type) { + case nir_instr_type_load_const: + agx_emit_load_const(b, nir_instr_as_load_const(instr)); + break; + + case nir_instr_type_intrinsic: + agx_emit_intrinsic(b, nir_instr_as_intrinsic(instr)); + break; + + case nir_instr_type_alu: + agx_emit_alu(b, nir_instr_as_alu(instr)); + break; + + case nir_instr_type_tex: + agx_emit_tex(b, nir_instr_as_tex(instr)); + break; + + case nir_instr_type_jump: + agx_emit_jump(b, nir_instr_as_jump(instr)); + break; + + default: + unreachable("should've been lowered"); + } +} + static agx_block * agx_create_block(agx_context *ctx) { @@ -69,7 +128,7 @@ emit_block(agx_context *ctx, nir_block *block) agx_builder _b = agx_init_builder(ctx, agx_after_block(blk)); nir_foreach_instr(instr, block) { - /* stub */ + agx_emit_instr(&_b, instr); } return blk; -- 2.7.4