cwabbotts-midgard-disassembler.git
2 years agoPartial decode of fb fields master
Alyssa Rosenzweig [Mon, 5 Mar 2018 06:24:47 +0000 (06:24 +0000)]
Partial decode of fb fields

2 years agoFlip filter/raw
Alyssa Rosenzweig [Mon, 5 Mar 2018 06:08:11 +0000 (06:08 +0000)]
Flip filter/raw

2 years agounknown7 should always be 1, I think
Alyssa Rosenzweig [Mon, 5 Mar 2018 06:03:24 +0000 (06:03 +0000)]
unknown7 should always be 1, I think

2 years agoTexture opcodes?
Alyssa Rosenzweig [Mon, 5 Mar 2018 05:56:07 +0000 (05:56 +0000)]
Texture opcodes?

2 years agoCont/last/format
Alyssa Rosenzweig [Mon, 5 Mar 2018 05:35:49 +0000 (05:35 +0000)]
Cont/last/format

2 years agoRemove comments for the simplest texture instructions
Alyssa Rosenzweig [Mon, 5 Mar 2018 04:50:03 +0000 (04:50 +0000)]
Remove comments for the simplest texture instructions

2 years agohconstants
Alyssa Rosenzweig [Mon, 5 Mar 2018 02:13:32 +0000 (02:13 +0000)]
hconstants

2 years agoAdd authorship
Alyssa Rosenzweig [Mon, 5 Mar 2018 01:56:54 +0000 (01:56 +0000)]
Add authorship

2 years agoClarify unknownB
Alyssa Rosenzweig [Mon, 5 Mar 2018 01:26:16 +0000 (01:26 +0000)]
Clarify unknownB

2 years agoRemove whitespace
Alyssa Rosenzweig [Mon, 5 Mar 2018 01:17:39 +0000 (01:17 +0000)]
Remove whitespace

2 years agoin_reg_full
Alyssa Rosenzweig [Mon, 5 Mar 2018 01:13:39 +0000 (01:13 +0000)]
in_reg_full

2 years agoFilter bit, in_reg_upper bit
Alyssa Rosenzweig [Mon, 5 Mar 2018 00:58:16 +0000 (00:58 +0000)]
Filter bit, in_reg_upper bit

2 years agoYou're the 1 that I want (00, 00, 00)... 0 yes indeed...
Alyssa Rosenzweig [Mon, 5 Mar 2018 00:38:08 +0000 (00:38 +0000)]
You're the 1 that I want (00, 00, 00)... 0 yes indeed...

2 years agoFix swizzle location
Alyssa Rosenzweig [Mon, 5 Mar 2018 00:12:49 +0000 (00:12 +0000)]
Fix swizzle location

2 years agoCorrect comma palcement
Alyssa Rosenzweig [Mon, 5 Mar 2018 00:03:43 +0000 (00:03 +0000)]
Correct comma palcement

2 years agoExpand out what little we know of offset fields
Alyssa Rosenzweig [Mon, 5 Mar 2018 00:02:48 +0000 (00:02 +0000)]
Expand out what little we know of offset fields

2 years agoTexture words are properly decoded now
Alyssa Rosenzweig [Sun, 4 Mar 2018 23:43:32 +0000 (23:43 +0000)]
Texture words are properly decoded now

2 years agoUnknown offset field... (TODO: Decode X_X)
Alyssa Rosenzweig [Sun, 4 Mar 2018 20:55:25 +0000 (20:55 +0000)]
Unknown offset field... (TODO: Decode X_X)

2 years agoContinue embedded constant type analysis
Alyssa Rosenzweig [Sun, 4 Mar 2018 20:00:47 +0000 (20:00 +0000)]
Continue embedded constant type analysis

2 years agoBegin constant static analysis
Alyssa Rosenzweig [Sun, 4 Mar 2018 19:56:18 +0000 (19:56 +0000)]
Begin constant static analysis

2 years agoHas offset bit
Alyssa Rosenzweig [Sun, 4 Mar 2018 19:47:22 +0000 (19:47 +0000)]
Has offset bit

2 years agoIdentify shadow bit
Alyssa Rosenzweig [Sun, 4 Mar 2018 19:33:40 +0000 (19:33 +0000)]
Identify shadow bit

2 years agoNote LOD usage
Alyssa Rosenzweig [Sun, 4 Mar 2018 06:57:42 +0000 (06:57 +0000)]
Note LOD usage

2 years agoNew texture word type
Alyssa Rosenzweig [Sun, 4 Mar 2018 06:55:28 +0000 (06:55 +0000)]
New texture word type

2 years agoIdentify bias
Alyssa Rosenzweig [Sun, 4 Mar 2018 06:47:28 +0000 (06:47 +0000)]
Identify bias

2 years agoOutput full printing is redunant
Alyssa Rosenzweig [Sun, 4 Mar 2018 06:34:50 +0000 (06:34 +0000)]
Output full printing is redunant

2 years agoIn reg swizzle
Alyssa Rosenzweig [Sun, 4 Mar 2018 06:33:19 +0000 (06:33 +0000)]
In reg swizzle

2 years agoIdentify out_full bit
Alyssa Rosenzweig [Sun, 4 Mar 2018 06:13:27 +0000 (06:13 +0000)]
Identify out_full bit

2 years agoInput register selection
Alyssa Rosenzweig [Sun, 4 Mar 2018 05:45:52 +0000 (05:45 +0000)]
Input register selection

2 years agoSwizzle/mask were printed in the wrong place
Alyssa Rosenzweig [Sun, 4 Mar 2018 05:31:15 +0000 (05:31 +0000)]
Swizzle/mask were printed in the wrong place

2 years agoIdentify texture mask
Alyssa Rosenzweig [Sun, 4 Mar 2018 05:28:10 +0000 (05:28 +0000)]
Identify texture mask

2 years agoTexture output swizzle
Alyssa Rosenzweig [Sun, 4 Mar 2018 05:21:44 +0000 (05:21 +0000)]
Texture output swizzle

2 years agoOutput register name directly
Alyssa Rosenzweig [Sun, 4 Mar 2018 04:32:15 +0000 (04:32 +0000)]
Output register name directly

2 years agoBreak up into out reg select and out upper
Alyssa Rosenzweig [Sun, 4 Mar 2018 04:25:29 +0000 (04:25 +0000)]
Break up into out reg select and out upper

2 years agoBegin initial disassembly of texture words
Alyssa Rosenzweig [Sun, 4 Mar 2018 04:19:49 +0000 (04:19 +0000)]
Begin initial disassembly of texture words

2 years agoPrint modifiers as instruction triplets
Alyssa Rosenzweig [Tue, 27 Feb 2018 15:09:34 +0000 (15:09 +0000)]
Print modifiers as instruction triplets

2 years agoCleanup
Alyssa Rosenzweig [Tue, 27 Feb 2018 03:45:18 +0000 (03:45 +0000)]
Cleanup

2 years agoFix tabs
Alyssa Rosenzweig [Tue, 27 Feb 2018 03:25:58 +0000 (03:25 +0000)]
Fix tabs

2 years agoSingle header for panwrap integration
Alyssa Rosenzweig [Mon, 26 Feb 2018 22:01:04 +0000 (22:01 +0000)]
Single header for panwrap integration

2 years agoPrefix #immediates
Alyssa Rosenzweig [Sun, 25 Feb 2018 03:22:25 +0000 (03:22 +0000)]
Prefix #immediates

2 years agoAdd commas
Alyssa Rosenzweig [Fri, 23 Feb 2018 22:31:56 +0000 (22:31 +0000)]
Add commas

2 years agoOffset in frontend
Alyssa Rosenzweig [Fri, 23 Feb 2018 22:16:46 +0000 (22:16 +0000)]
Offset in frontend

2 years agoHandle degenerate mask case
Alyssa Rosenzweig [Fri, 23 Feb 2018 22:09:05 +0000 (22:09 +0000)]
Handle degenerate mask case

2 years agoConstants as instruction
Alyssa Rosenzweig [Fri, 23 Feb 2018 22:06:41 +0000 (22:06 +0000)]
Constants as instruction

2 years agoRemove spacing
Alyssa Rosenzweig [Fri, 23 Feb 2018 22:05:13 +0000 (22:05 +0000)]
Remove spacing

2 years agoTexture on one line
Alyssa Rosenzweig [Fri, 23 Feb 2018 22:04:06 +0000 (22:04 +0000)]
Texture on one line

2 years agoPrefix scalar too
Alyssa Rosenzweig [Fri, 23 Feb 2018 22:01:10 +0000 (22:01 +0000)]
Prefix scalar too

2 years agofbwrite as actual word
Alyssa Rosenzweig [Fri, 23 Feb 2018 21:59:38 +0000 (21:59 +0000)]
fbwrite as actual word

2 years agoPrefix ins names with unit
Alyssa Rosenzweig [Fri, 23 Feb 2018 21:58:45 +0000 (21:58 +0000)]
Prefix ins names with unit

2 years agoExplicit ALU debug condition
Alyssa Rosenzweig [Fri, 23 Feb 2018 16:24:37 +0000 (16:24 +0000)]
Explicit ALU debug condition

2 years agoasm_replay constant
Alyssa Rosenzweig [Fri, 23 Feb 2018 16:22:22 +0000 (16:22 +0000)]
asm_replay constant

2 years agoMake load/store output a little more assembler like
Alyssa Rosenzweig [Fri, 23 Feb 2018 16:21:31 +0000 (16:21 +0000)]
Make load/store output a little more assembler like

2 years agoRemove known human instruction prefixes
Alyssa Rosenzweig [Fri, 23 Feb 2018 16:19:10 +0000 (16:19 +0000)]
Remove known human instruction prefixes

2 years agoPrefetch flag-based break
Alyssa Rosenzweig [Fri, 23 Feb 2018 03:03:48 +0000 (03:03 +0000)]
Prefetch flag-based break

2 years agoRemove most of the disasm main logic
Alyssa Rosenzweig [Fri, 23 Feb 2018 02:27:03 +0000 (02:27 +0000)]
Remove most of the disasm main logic

2 years agoDisassemble from raw file
Alyssa Rosenzweig [Thu, 25 Jan 2018 03:58:36 +0000 (03:58 +0000)]
Disassemble from raw file

2 years agoRemove t650 since it's identical afaict
Alyssa Rosenzweig [Wed, 24 Jan 2018 16:58:41 +0000 (16:58 +0000)]
Remove t650 since it's identical afaict

2 years agoForce midgard
Alyssa Rosenzweig [Wed, 24 Jan 2018 16:58:21 +0000 (16:58 +0000)]
Force midgard

2 years agoRemove mbs support
Alyssa Rosenzweig [Wed, 24 Jan 2018 16:51:49 +0000 (16:51 +0000)]
Remove mbs support

2 years agoRemove ir
Alyssa Rosenzweig [Wed, 24 Jan 2018 16:49:54 +0000 (16:49 +0000)]
Remove ir

2 years agoRemove non-Midgard arches
Alyssa Rosenzweig [Wed, 24 Jan 2018 16:49:24 +0000 (16:49 +0000)]
Remove non-Midgard arches

2 years agoStrip more
Alyssa Rosenzweig [Wed, 24 Jan 2018 16:47:54 +0000 (16:47 +0000)]
Strip more

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2 years agoGet it to build
Alyssa Rosenzweig [Wed, 24 Jan 2018 16:47:10 +0000 (16:47 +0000)]
Get it to build

6 years agopp_hir: add support for shifts
Connor Abbott [Sat, 22 Feb 2014 18:20:36 +0000 (13:20 -0500)]
pp_hir: add support for shifts

6 years agombs: print VIDX correctly
Connor Abbott [Sat, 22 Feb 2014 18:19:35 +0000 (13:19 -0500)]
mbs: print VIDX correctly

This fixes printing the uniform initialiser for newer compilers.

6 years agopp_lir: add support for multiply shifts
Connor Abbott [Mon, 3 Feb 2014 16:23:55 +0000 (11:23 -0500)]
pp_lir: add support for multiply shifts

6 years agopp_lir: fix codegen bug
Connor Abbott [Mon, 3 Feb 2014 16:23:07 +0000 (11:23 -0500)]
pp_lir: fix codegen bug

6 years agot6xx: add all and any opcodes
Connor Abbott [Mon, 3 Feb 2014 16:22:26 +0000 (11:22 -0500)]
t6xx: add all and any opcodes

6 years agoadd missing file
Connor Abbott [Mon, 3 Feb 2014 16:20:21 +0000 (11:20 -0500)]
add missing file

6 years agot6xx: add integer move instruction
Connor Abbott [Sun, 19 Jan 2014 21:54:25 +0000 (16:54 -0500)]
t6xx: add integer move instruction

6 years agot6xx: add initial load/store disassembly
Connor Abbott [Sun, 19 Jan 2014 21:25:54 +0000 (16:25 -0500)]
t6xx: add initial load/store disassembly

6 years agot6xx: s/lima_t6xx_op/lima_t6xx_alu_op/
Connor Abbott [Fri, 29 Nov 2013 18:47:09 +0000 (13:47 -0500)]
t6xx: s/lima_t6xx_op/lima_t6xx_alu_op/

Soon there will different kinds of ops (texture, load/store)

6 years agot6xx: be more annoying about unknown things
Connor Abbott [Sat, 26 Oct 2013 22:56:24 +0000 (18:56 -0400)]
t6xx: be more annoying about unknown things

6 years agot6xx: add dest override
Connor Abbott [Sat, 26 Oct 2013 22:37:15 +0000 (18:37 -0400)]
t6xx: add dest override

Gets comparisons disassembling correctly.

6 years agot6xx: add more opcodes
Connor Abbott [Sun, 13 Oct 2013 23:25:25 +0000 (19:25 -0400)]
t6xx: add more opcodes

6 years agot6xx: add atan opcodes
Connor Abbott [Sun, 13 Oct 2013 01:42:44 +0000 (21:42 -0400)]
t6xx: add atan opcodes

6 years agoMerge branch 't6xx'
Connor Abbott [Mon, 30 Sep 2013 18:23:22 +0000 (14:23 -0400)]
Merge branch 't6xx'

Conflicts:
common/arch/lima_t6xx/disassemble.c
common/arch/lima_t6xx/lima_t6xx.h

6 years agoforgot to add these
Connor Abbott [Mon, 30 Sep 2013 18:20:19 +0000 (14:20 -0400)]
forgot to add these

6 years agot6xx: add initial ALU field disassembly
Connor Abbott [Fri, 2 Aug 2013 21:02:29 +0000 (17:02 -0400)]
t6xx: add initial ALU field disassembly

6 years agot6xx: start to parse ALU word
Connor Abbott [Sun, 21 Jul 2013 23:23:12 +0000 (19:23 -0400)]
t6xx: start to parse ALU word

6 years agot6xx: add 0xB word type
Connor Abbott [Sat, 20 Jul 2013 22:09:31 +0000 (18:09 -0400)]
t6xx: add 0xB word type

It's for ALU words of size 4, confirmed with the compiler

6 years agot6xx: parse instruction words
Connor Abbott [Sun, 14 Jul 2013 20:16:40 +0000 (16:16 -0400)]
t6xx: parse instruction words

6 years agolima: add initial skeleton for t6xx
Connor Abbott [Sat, 13 Jul 2013 23:56:48 +0000 (19:56 -0400)]
lima: add initial skeleton for t6xx

Just prints out the hex for now, until we gain more knowledge.

6 years agoptrset: add ptrset_first() and use it
Connor Abbott [Sat, 13 Jul 2013 03:21:39 +0000 (23:21 -0400)]
ptrset: add ptrset_first() and use it

Now no code uses ptrset_iter_next() directly...

6 years agoptrset: create ptrset_iter_for_each() macro
Connor Abbott [Sat, 13 Jul 2013 02:51:11 +0000 (22:51 -0400)]
ptrset: create ptrset_iter_for_each() macro

Much shorter/easier to understand than typing it out.

6 years agorename ptrset_iterator to ptrset_iter
Connor Abbott [Sat, 13 Jul 2013 02:01:45 +0000 (22:01 -0400)]
rename ptrset_iterator to ptrset_iter

Less typing.

6 years agoptrset: don't allocate ptrset objects on the heap
Connor Abbott [Thu, 11 Jul 2013 22:38:28 +0000 (18:38 -0400)]
ptrset: don't allocate ptrset objects on the heap

We now store a pointer to the array of elements instead of the elements
themselves in ptrset_t, which means that the structure is now pretty
small (1 pointer and 4 integers), so it's more efficient to put it on
the stack or embed it into other objects, rather than allocating 16
bytes every time it's created. This is a pretty invasive API change,
so lots of things get affected.

6 years agoptrset: reduce the MAX_LOAD to .7
Connor Abbott [Thu, 11 Jul 2013 19:45:35 +0000 (15:45 -0400)]
ptrset: reduce the MAX_LOAD to .7

Wikipedia mentions open-coding as starting to degrade sharply after this
number, no perf numbers to back it up though.

6 years agoptrset: rewrite to use open-coding
Connor Abbott [Thu, 11 Jul 2013 19:40:09 +0000 (15:40 -0400)]
ptrset: rewrite to use open-coding

Should be faster since there's less pointer-chasing and allocating small
chunks of memory for the linked lists, meaning better cache behavior -
plus, it's a lot simpler and uses less memory.

6 years agogp_ir: fix memory errors found by the new ptrset
Connor Abbott [Thu, 11 Jul 2013 19:38:42 +0000 (15:38 -0400)]
gp_ir: fix memory errors found by the new ptrset

6 years agomake ptrsets dynamically sized
Connor Abbott [Thu, 11 Jul 2013 16:41:58 +0000 (12:41 -0400)]
make ptrsets dynamically sized

Should save memory for smaller ptrsets and make larger ptrsets faster.

6 years agogp_ir: add register spilling
Connor Abbott [Thu, 11 Jul 2013 06:04:34 +0000 (02:04 -0400)]
gp_ir: add register spilling

6 years agogp_ir: be more paranoid in to_ssa
Connor Abbott [Thu, 11 Jul 2013 06:03:19 +0000 (02:03 -0400)]
gp_ir: be more paranoid in to_ssa

Add a few asserts to make sure registers are always defined when they
should be.

6 years agogp_ir: fix a bug with generating temp dependencies
Connor Abbott [Thu, 11 Jul 2013 06:00:40 +0000 (02:00 -0400)]
gp_ir: fix a bug with generating temp dependencies

6 years agogp_ir: fix a subtle bug with ordering root nodes
Connor Abbott [Thu, 11 Jul 2013 05:57:11 +0000 (01:57 -0400)]
gp_ir: fix a subtle bug with ordering root nodes

If one of the nodes was a beginning or end nodes, we would hit the
start/end checks and assume the wrong order before noticing we had
passed by the other node.

6 years agogp_ir: fix another bug with dce
Connor Abbott [Thu, 11 Jul 2013 00:01:58 +0000 (20:01 -0400)]
gp_ir: fix another bug with dce

Branches should never be eliminated.

6 years agogp_ir: fix bug that could result in an infinite loop in dce
Connor Abbott [Wed, 10 Jul 2013 22:39:35 +0000 (18:39 -0400)]
gp_ir: fix bug that could result in an infinite loop in dce

6 years agogp_ir: add support for parsing temporary offsets
Connor Abbott [Wed, 10 Jul 2013 17:19:06 +0000 (13:19 -0400)]
gp_ir: add support for parsing temporary offsets

And update the test to use them

6 years agogp_ir: add simple test for temporaries
Connor Abbott [Wed, 10 Jul 2013 16:41:12 +0000 (12:41 -0400)]
gp_ir: add simple test for temporaries

6 years agogp_ir: add a temp_alloc parameter
Connor Abbott [Wed, 10 Jul 2013 16:39:38 +0000 (12:39 -0400)]
gp_ir: add a temp_alloc parameter

Will be used for register spilling; in the future, it will need to be
filled out on conversion from TGSI or GLSL IR.

This page took 0.0949 seconds and 4 git commands to generate.