freedreno/ir3: Switch over to new encoder/decoder
authorRob Clark <robdclark@chromium.org>
Wed, 30 Dec 2020 20:03:06 +0000 (12:03 -0800)
committerMarge Bot <eric+marge@anholt.net>
Wed, 13 Jan 2021 18:32:47 +0000 (18:32 +0000)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7997>

src/freedreno/ir3/ir3_shader.c
src/freedreno/ir3/meson.build

index 8197764..a4feb9b 100644 (file)
@@ -36,6 +36,8 @@
 #include "ir3_compiler.h"
 #include "ir3_nir.h"
 
+#include "isa/isa.h"
+
 #include "disasm.h"
 
 int
@@ -144,7 +146,7 @@ void * ir3_shader_assemble(struct ir3_shader_variant *v)
         */
        info->size = align(info->size, compiler->instr_align * sizeof(instr_t));
 
-       bin = ir3_assemble(v);
+       bin = isa_assemble(v);
        if (!bin)
                return NULL;
 
@@ -613,7 +615,11 @@ ir3_shader_disasm(struct ir3_shader_variant *so, uint32_t *bin, FILE *out)
                                const_state->immediates[i * 4 + 3]);
        }
 
-       disasm_a3xx(bin, so->info.sizedwords, 0, out, ir->compiler->gpu_id);
+       isa_decode(bin, so->info.sizedwords * 4, out, &(struct isa_decode_options){
+               .gpu_id = ir->compiler->gpu_id,
+               .show_errors = true,
+               .branch_labels = true,
+       });
 
        fprintf(out, "; %s: outputs:", type);
        for (i = 0; i < so->outputs_count; i++) {
index 35884b8..534dd02 100644 (file)
@@ -112,6 +112,7 @@ libfreedreno_ir3 = static_library(
   include_directories : [inc_freedreno, inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
   c_args : [no_override_init_args],
   gnu_symbol_visibility : 'hidden',
+  link_with: [libir3decode, libir3encode],
   dependencies : [idep_nir_headers, dep_dl, idep_mesautil],
   build_by_default : false,
 )