Mesa (master): freedreno/ir3: Switch over to new encoder/decoder
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jan 13 18:53:08 UTC 2021
Module: Mesa
Branch: master
Commit: 5cae4779c2e2276da3720fdde136fbf623c3c983
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5cae4779c2e2276da3720fdde136fbf623c3c983
Author: Rob Clark <robdclark at chromium.org>
Date: Wed Dec 30 12:03:06 2020 -0800
freedreno/ir3: Switch over to new encoder/decoder
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7997>
---
src/freedreno/ir3/ir3_shader.c | 10 ++++++++--
src/freedreno/ir3/meson.build | 1 +
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/freedreno/ir3/ir3_shader.c b/src/freedreno/ir3/ir3_shader.c
index 8197764d112..a4feb9be8f1 100644
--- a/src/freedreno/ir3/ir3_shader.c
+++ b/src/freedreno/ir3/ir3_shader.c
@@ -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++) {
diff --git a/src/freedreno/ir3/meson.build b/src/freedreno/ir3/meson.build
index 35884b8c758..534dd02b84d 100644
--- a/src/freedreno/ir3/meson.build
+++ b/src/freedreno/ir3/meson.build
@@ -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,
)
More information about the mesa-commit
mailing list