i965: Implement a disassembler for Broadwell's new instruction encoding.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 11 Dec 2012 08:26:11 +0000 (00:26 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Sun, 19 Jan 2014 05:55:45 +0000 (21:55 -0800)
commit8ea4b16eea05cddc0c0057d8ff7e84f97a9361f8
tree1c9df4a91c8bc6a9ecea2aa90482a3df83bdcea7
parent0923dad90a3859d4136d483f3038fda9f616d1a8
i965: Implement a disassembler for Broadwell's new instruction encoding.

Heavily based on Keith Packard's existing brw_disasm.c code.  I've tried
to go through most of the pieces (like SFIDs) and update the lists to
include features added in recent generations.

v2: Port to use the C-based instruction emitters.  This allows us to use
    C99 array initializers, which tidies up some of the code.

v3: Improve decoding of render target write messages.

v4: Update for BRW_REGISTER_TYPE becoming an abstraction.

v5: Rebase on Chris Forbes' SFID message defines.

v6: Fix disassembly of UV immediates; remove silly casts.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/Makefile.sources
src/mesa/drivers/dri/i965/gen8_disasm.c [new file with mode: 0644]