freedreno/computerator: Decouple ir3 assembler
[mesa.git] / src / freedreno / computerator / ir3_asm.c
index 11cc7ee06f74d7f05f33e25b2a892d935f2942b2..46e213474072ef1f9d2fecc41d6cb127ea4067bf 100644 (file)
@@ -41,14 +41,18 @@ ir3_asm_assemble(struct ir3_compiler *c, FILE *in)
 
        kernel->v = v;
 
-       kernel->numwg = INVALID_REG;
+       kernel->info.numwg = INVALID_REG;
 
-       v->ir = ir3_parse(kernel, in);
+       v->ir = ir3_parse(v, &kernel->info, in);
        if (!v->ir)
                errx(-1, "parse failed");
 
        ir3_debug_print(v->ir, "AFTER PARSING");
 
+       memcpy(kernel->base.local_size, kernel->info.local_size, sizeof(kernel->base.local_size));
+       kernel->base.num_bufs = kernel->info.num_bufs;
+       memcpy(kernel->base.buf_sizes, kernel->info.buf_sizes, sizeof(kernel->base.buf_sizes));
+
        kernel->bin = ir3_shader_assemble(v, c->gpu_id);
 
        unsigned sz = v->info.sizedwords * 4;