freedreno/decode: move dependencies up a level This is mainly for the benefit of automated syncing of changes from mesa back to envytools, where the same subdir meson.build's are used, but the toplevel meson.build is different. In the envytools case, we want these depenendencies to be required. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6154>
freedreno/registers: install gzip'd register database The decode tools aren't too useful to install without the xml. But since libxml2 can read compressed xml, we'll gzip them for installation. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6154>
freedreno: deduplicate a2xx disasm Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070>
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 <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070>
freedreno: drop shader_t When this code was outside of the mesa tree, we needed our own enum. Now we can use a common one, to simplify deduplicating the disasm code. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070>
freedreno: slurp in decode tools cffdump, crashdec, etc At this point there is some duplication with other files in-tree (ie. a2xx and a3xx+ disassembly), which will be cleaned up in a later commit. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070>