Module: Mesa Branch: master Commit: f7bd3456d79aaeccb5f5e8d1408e85ad198f4f38 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f7bd3456d79aaeccb5f5e8d1408e85ad198f4f38
Author: Rob Clark <[email protected]> Date: Sat Jul 25 10:28:42 2020 -0700 freedreno: deduplicate a3xx+ disasm Merge the extra tracking that is useful for generating stats from asm (as opposed to ir), and for guestimating things like inputs and outputs (mostly useful for r/e) into ir3's version and drop cffdec's version. There is a small change in disasm output for the decode tools, in that it no longer prints the used consts, but rather just the max accessed const. This is the more useful piece of information, and avoids making the shared regmask type big enough to deal with the const reg file. Additional error checking for invalid regids causes crashdec to bail out sooner when decoding memory that *might* hold valid instructions. Also, crashdec no longer prints stats, because stats aren't very useful when trying to decode random instruction memory (which might or might not be valid instructions). Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070> --- src/freedreno/.gitlab-ci/reference/crash.log | 1055 +------------ src/freedreno/.gitlab-ci/reference/fd-clouds.log | 36 +- .../.gitlab-ci/reference/glxgears-a420.log | 134 +- src/freedreno/{decode => common}/disasm.h | 9 +- src/freedreno/common/meson.build | 1 + src/freedreno/decode/cffdump.c | 6 +- src/freedreno/decode/crashdec.c | 6 +- src/freedreno/decode/disasm-a2xx.c | 4 +- src/freedreno/decode/disasm-a3xx.c | 1641 -------------------- src/freedreno/decode/instr-a3xx.h | 1115 ------------- src/freedreno/decode/meson.build | 15 +- src/freedreno/decode/pgmdump.c | 5 +- src/freedreno/decode/pgmdump2.c | 4 +- src/freedreno/ir3/disasm-a3xx.c | 266 +++- src/freedreno/ir3/instr-a3xx.h | 41 +- src/freedreno/ir3/ir3.h | 17 - src/freedreno/ir3/ir3_print.c | 2 +- src/freedreno/ir3/ir3_shader.c | 2 + src/freedreno/ir3/regmask.h | 25 + src/freedreno/ir3/tests/disasm.c | 2 +- src/freedreno/meson.build | 2 +- src/gallium/drivers/freedreno/a2xx/disasm-a2xx.c | 4 +- src/gallium/drivers/freedreno/disasm.h | 43 - src/gallium/drivers/freedreno/meson.build | 1 - 24 files changed, 424 insertions(+), 4012 deletions(-) Diff: http://cgit.freedesktop.org/mesa/mesa/diff/?id=f7bd3456d79aaeccb5f5e8d1408e85ad198f4f38 _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
