mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 11:00:11 +01:00
freedreno/a6xx: update some registers
Some sorting, adding unknown fields, documenting some fields, etc. Signed-off-by: Jonathan Marek <jonathan@marek.ca> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8423>
This commit is contained in:
parent
b94c652afe
commit
46f64aa3be
6 changed files with 417 additions and 356 deletions
|
|
@ -1612,10 +1612,10 @@ registers:
|
|||
00000000 0x8e76: 00000000
|
||||
00000000 0x8e77: 00000000
|
||||
00000000 HLSQ_UNKNOWN_BE00: 0
|
||||
00000001 HLSQ_UNKNOWN_BE01: 0x1
|
||||
00000001 HLSQ_UNKNOWN_BE01: 0 | 0x1
|
||||
00000004 HLSQ_UNKNOWN_BE04: 0x4
|
||||
00000000 HLSQ_ADDR_MODE_CNTL: ADDR_32B
|
||||
deadbeef 0xbe08: deadbeef
|
||||
deadbeef HLSQ_UNKNOWN_BE08: 0xbeef | 0xdead0000
|
||||
deadbeef 0xbe09: deadbeef
|
||||
00000000 HLSQ_PERFCTR_HLSQ_SEL[0]+0: 00000000
|
||||
00000000 HLSQ_PERFCTR_HLSQ_SEL[0x1]+0: 00000000
|
||||
|
|
@ -1675,10 +1675,10 @@ registers:
|
|||
deadbeef 0xae50: deadbeef
|
||||
deadbeef 0xae51: deadbeef
|
||||
deadbeef 0xae52: deadbeef
|
||||
00000000 SP_UNKNOWN_B600: 0
|
||||
00000000 TPL1_UNKNOWN_B600: 0
|
||||
00000001 TPL1_ADDR_MODE_CNTL: ADDR_64B
|
||||
00000004 TPL1_NC_MODE_CNTL: 0x4
|
||||
00000000 SP_UNKNOWN_B605: 0
|
||||
00000004 TPL1_NC_MODE_CNTL: { LOWER_BIT = 2 | UPPER_BIT = 0 }
|
||||
00000000 TPL1_UNKNOWN_B605: 0
|
||||
00000000 TPL1_PERFCTR_TP_SEL[0]+0: 00000000
|
||||
00000000 TPL1_PERFCTR_TP_SEL[0x1]+0: 00000000
|
||||
00000000 TPL1_PERFCTR_TP_SEL[0x2]+0: 00000000
|
||||
|
|
@ -6343,9 +6343,9 @@ clusters:
|
|||
00000000 VFD_CONTROL_0: { FETCH_CNT = 0 | DECODE_CNT = 0 }
|
||||
fcfcfcfc VFD_CONTROL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
|
||||
0000fcfc VFD_CONTROL_2: { REGID_HSPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
|
||||
fcfcfcfc VFD_CONTROL_3: { REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x | 0xfc }
|
||||
000000fc VFD_CONTROL_4: 0xfc
|
||||
0000fcfc VFD_CONTROL_5: { REGID_GSHEADER = r63.x | 0xfc00 }
|
||||
fcfcfcfc VFD_CONTROL_3: { UNK0 = r63.x | REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
|
||||
000000fc VFD_CONTROL_4: { UNK0 = r63.x }
|
||||
0000fcfc VFD_CONTROL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
|
||||
00000000 VFD_CONTROL_6: { 0 }
|
||||
00000000 VFD_MODE_CNTL: { 0 }
|
||||
00000000 VFD_MULTIVIEW_CNTL: { VIEWS = 0 }
|
||||
|
|
@ -6481,69 +6481,69 @@ clusters:
|
|||
01810080 VFD_FETCH[0x1f].SIZE: 25231488
|
||||
00000020 VFD_FETCH[0x1f].STRIDE: 32
|
||||
00002320 VFD_DECODE[0].INSTR: { IDX = 0 | OFFSET = 0x119 | FORMAT = 0 | SWAP = WZYX }
|
||||
4698e051 VFD_DECODE[0].STEP_RATE: 0x4698e051
|
||||
4698e051 VFD_DECODE[0].STEP_RATE: 1184424017
|
||||
00000000 VFD_DECODE[0x1].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = 0 | SWAP = WZYX }
|
||||
00400015 VFD_DECODE[0x1].STEP_RATE: 0x400015
|
||||
00400015 VFD_DECODE[0x1].STEP_RATE: 4194325
|
||||
00002400 VFD_DECODE[0x2].INSTR: { IDX = 0 | OFFSET = 0x120 | FORMAT = 0 | SWAP = WZYX }
|
||||
0228c300 VFD_DECODE[0x2].STEP_RATE: 0x228c300
|
||||
0228c300 VFD_DECODE[0x2].STEP_RATE: 36225792
|
||||
00008040 VFD_DECODE[0x3].INSTR: { IDX = 0 | OFFSET = 0x402 | FORMAT = 0 | SWAP = WZYX }
|
||||
40804000 VFD_DECODE[0x3].STEP_RATE: 0x40804000
|
||||
40804000 VFD_DECODE[0x3].STEP_RATE: 1082146816
|
||||
00000180 VFD_DECODE[0x4].INSTR: { IDX = 0 | OFFSET = 0xc | FORMAT = 0 | SWAP = WZYX }
|
||||
20801028 VFD_DECODE[0x4].STEP_RATE: 0x20801028
|
||||
20801028 VFD_DECODE[0x4].STEP_RATE: 545263656
|
||||
00002800 VFD_DECODE[0x5].INSTR: { IDX = 0 | OFFSET = 0x140 | FORMAT = 0 | SWAP = WZYX }
|
||||
50004104 VFD_DECODE[0x5].STEP_RATE: 0x50004104
|
||||
50004104 VFD_DECODE[0x5].STEP_RATE: 1342193924
|
||||
00000040 VFD_DECODE[0x6].INSTR: { IDX = 0 | OFFSET = 0x2 | FORMAT = 0 | SWAP = WZYX }
|
||||
c9708400 VFD_DECODE[0x6].STEP_RATE: 0xc9708400
|
||||
c9708400 VFD_DECODE[0x6].STEP_RATE: 3379594240
|
||||
00008a00 VFD_DECODE[0x7].INSTR: { IDX = 0 | OFFSET = 0x450 | FORMAT = 0 | SWAP = WZYX }
|
||||
00000180 VFD_DECODE[0x7].STEP_RATE: 0x180
|
||||
00000180 VFD_DECODE[0x7].STEP_RATE: 384
|
||||
00018910 VFD_DECODE[0x8].INSTR: { IDX = 16 | OFFSET = 0xc48 | FORMAT = 0 | SWAP = WZYX }
|
||||
00202080 VFD_DECODE[0x8].STEP_RATE: 0x202080
|
||||
00202080 VFD_DECODE[0x8].STEP_RATE: 2105472
|
||||
00000200 VFD_DECODE[0x9].INSTR: { IDX = 0 | OFFSET = 0x10 | FORMAT = 0 | SWAP = WZYX }
|
||||
10000400 VFD_DECODE[0x9].STEP_RATE: 0x10000400
|
||||
10000400 VFD_DECODE[0x9].STEP_RATE: 268436480
|
||||
00019180 VFD_DECODE[0xa].INSTR: { IDX = 0 | OFFSET = 0xc8c | FORMAT = 0 | SWAP = WZYX }
|
||||
00010881 VFD_DECODE[0xa].STEP_RATE: 0x10881
|
||||
00010881 VFD_DECODE[0xa].STEP_RATE: 67713
|
||||
00002200 VFD_DECODE[0xb].INSTR: { IDX = 0 | OFFSET = 0x110 | FORMAT = 0 | SWAP = WZYX }
|
||||
00000008 VFD_DECODE[0xb].STEP_RATE: 0x8
|
||||
00000008 VFD_DECODE[0xb].STEP_RATE: 8
|
||||
00000090 VFD_DECODE[0xc].INSTR: { IDX = 16 | OFFSET = 0x4 | FORMAT = 0 | SWAP = WZYX }
|
||||
00108040 VFD_DECODE[0xc].STEP_RATE: 0x108040
|
||||
00108040 VFD_DECODE[0xc].STEP_RATE: 1081408
|
||||
00002002 VFD_DECODE[0xd].INSTR: { IDX = 2 | OFFSET = 0x100 | FORMAT = 0 | SWAP = WZYX }
|
||||
40040004 VFD_DECODE[0xd].STEP_RATE: 0x40040004
|
||||
40040004 VFD_DECODE[0xd].STEP_RATE: 1074003972
|
||||
00000000 VFD_DECODE[0xe].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = 0 | SWAP = WZYX }
|
||||
00418202 VFD_DECODE[0xe].STEP_RATE: 0x418202
|
||||
00418202 VFD_DECODE[0xe].STEP_RATE: 4293122
|
||||
00011200 VFD_DECODE[0xf].INSTR: { IDX = 0 | OFFSET = 0x890 | FORMAT = 0 | SWAP = WZYX }
|
||||
05000504 VFD_DECODE[0xf].STEP_RATE: 0x5000504
|
||||
05000504 VFD_DECODE[0xf].STEP_RATE: 83887364
|
||||
00002002 VFD_DECODE[0x10].INSTR: { IDX = 2 | OFFSET = 0x100 | FORMAT = 0 | SWAP = WZYX }
|
||||
20210026 VFD_DECODE[0x10].STEP_RATE: 0x20210026
|
||||
20210026 VFD_DECODE[0x10].STEP_RATE: 539033638
|
||||
00000008 VFD_DECODE[0x11].INSTR: { IDX = 8 | OFFSET = 0 | FORMAT = 0 | SWAP = WZYX }
|
||||
00010400 VFD_DECODE[0x11].STEP_RATE: 0x10400
|
||||
00010400 VFD_DECODE[0x11].STEP_RATE: 66560
|
||||
00009000 VFD_DECODE[0x12].INSTR: { IDX = 0 | OFFSET = 0x480 | FORMAT = 0 | SWAP = WZYX }
|
||||
00000000 VFD_DECODE[0x12].STEP_RATE: 0
|
||||
00002000 VFD_DECODE[0x13].INSTR: { IDX = 0 | OFFSET = 0x100 | FORMAT = 0 | SWAP = WZYX }
|
||||
10080000 VFD_DECODE[0x13].STEP_RATE: 0x10080000
|
||||
10080000 VFD_DECODE[0x13].STEP_RATE: 268959744
|
||||
00001200 VFD_DECODE[0x14].INSTR: { IDX = 0 | OFFSET = 0x90 | FORMAT = 0 | SWAP = WZYX }
|
||||
20048020 VFD_DECODE[0x14].STEP_RATE: 0x20048020
|
||||
20048020 VFD_DECODE[0x14].STEP_RATE: 537165856
|
||||
00000106 VFD_DECODE[0x15].INSTR: { IDX = 6 | OFFSET = 0x8 | FORMAT = 0 | SWAP = WZYX }
|
||||
0a200812 VFD_DECODE[0x15].STEP_RATE: 0xa200812
|
||||
0a200812 VFD_DECODE[0x15].STEP_RATE: 169871378
|
||||
00008042 VFD_DECODE[0x16].INSTR: { IDX = 2 | OFFSET = 0x402 | FORMAT = 0 | SWAP = WZYX }
|
||||
00140250 VFD_DECODE[0x16].STEP_RATE: 0x140250
|
||||
00140250 VFD_DECODE[0x16].STEP_RATE: 1311312
|
||||
00008080 VFD_DECODE[0x17].INSTR: { IDX = 0 | OFFSET = 0x404 | FORMAT = 0 | SWAP = WZYX }
|
||||
120000c0 VFD_DECODE[0x17].STEP_RATE: 0x120000c0
|
||||
120000c0 VFD_DECODE[0x17].STEP_RATE: 301990080
|
||||
00000482 VFD_DECODE[0x18].INSTR: { IDX = 2 | OFFSET = 0x24 | FORMAT = 0 | SWAP = WZYX }
|
||||
00400880 VFD_DECODE[0x18].STEP_RATE: 0x400880
|
||||
00400880 VFD_DECODE[0x18].STEP_RATE: 4196480
|
||||
00002000 VFD_DECODE[0x19].INSTR: { IDX = 0 | OFFSET = 0x100 | FORMAT = 0 | SWAP = WZYX }
|
||||
00201000 VFD_DECODE[0x19].STEP_RATE: 0x201000
|
||||
00201000 VFD_DECODE[0x19].STEP_RATE: 2101248
|
||||
00000000 VFD_DECODE[0x1a].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = 0 | SWAP = WZYX }
|
||||
40000802 VFD_DECODE[0x1a].STEP_RATE: 0x40000802
|
||||
40000802 VFD_DECODE[0x1a].STEP_RATE: 1073743874
|
||||
00000028 VFD_DECODE[0x1b].INSTR: { IDX = 8 | OFFSET = 0x1 | FORMAT = 0 | SWAP = WZYX }
|
||||
0020a120 VFD_DECODE[0x1b].STEP_RATE: 0x20a120
|
||||
0020a120 VFD_DECODE[0x1b].STEP_RATE: 2138400
|
||||
00012480 VFD_DECODE[0x1c].INSTR: { IDX = 0 | OFFSET = 0x924 | FORMAT = 0 | SWAP = WZYX }
|
||||
09004200 VFD_DECODE[0x1c].STEP_RATE: 0x9004200
|
||||
09004200 VFD_DECODE[0x1c].STEP_RATE: 151011840
|
||||
00008080 VFD_DECODE[0x1d].INSTR: { IDX = 0 | OFFSET = 0x404 | FORMAT = 0 | SWAP = WZYX }
|
||||
00004004 VFD_DECODE[0x1d].STEP_RATE: 0x4004
|
||||
00004004 VFD_DECODE[0x1d].STEP_RATE: 16388
|
||||
00010888 VFD_DECODE[0x1e].INSTR: { IDX = 8 | OFFSET = 0x844 | FORMAT = 0 | SWAP = WZYX }
|
||||
000000b4 VFD_DECODE[0x1e].STEP_RATE: 0xb4
|
||||
000000b4 VFD_DECODE[0x1e].STEP_RATE: 180
|
||||
00008000 VFD_DECODE[0x1f].INSTR: { IDX = 0 | OFFSET = 0x400 | FORMAT = 0 | SWAP = WZYX }
|
||||
04800000 VFD_DECODE[0x1f].STEP_RATE: 0x4800000
|
||||
04800000 VFD_DECODE[0x1f].STEP_RATE: 75497472
|
||||
00000445 VFD_DEST_CNTL[0].INSTR: { WRITEMASK = 0x5 | REGID = r17.x }
|
||||
00000004 VFD_DEST_CNTL[0x1].INSTR: { WRITEMASK = 0x4 | REGID = r0.x }
|
||||
00000804 VFD_DEST_CNTL[0x2].INSTR: { WRITEMASK = 0x4 | REGID = r32.x }
|
||||
|
|
@ -6603,9 +6603,9 @@ clusters:
|
|||
00000000 VFD_CONTROL_0: { FETCH_CNT = 0 | DECODE_CNT = 0 }
|
||||
fcfcfcfc VFD_CONTROL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
|
||||
0000fcfc VFD_CONTROL_2: { REGID_HSPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
|
||||
fcfcfcfc VFD_CONTROL_3: { REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x | 0xfc }
|
||||
000000fc VFD_CONTROL_4: 0xfc
|
||||
0000fcfc VFD_CONTROL_5: { REGID_GSHEADER = r63.x | 0xfc00 }
|
||||
fcfcfcfc VFD_CONTROL_3: { UNK0 = r63.x | REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
|
||||
000000fc VFD_CONTROL_4: { UNK0 = r63.x }
|
||||
0000fcfc VFD_CONTROL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
|
||||
00000000 VFD_CONTROL_6: { 0 }
|
||||
00000000 VFD_MODE_CNTL: { 0 }
|
||||
00000000 VFD_MULTIVIEW_CNTL: { VIEWS = 0 }
|
||||
|
|
@ -6741,69 +6741,69 @@ clusters:
|
|||
01810080 VFD_FETCH[0x1f].SIZE: 25231488
|
||||
00000020 VFD_FETCH[0x1f].STRIDE: 32
|
||||
00002320 VFD_DECODE[0].INSTR: { IDX = 0 | OFFSET = 0x119 | FORMAT = 0 | SWAP = WZYX }
|
||||
4698e051 VFD_DECODE[0].STEP_RATE: 0x4698e051
|
||||
4698e051 VFD_DECODE[0].STEP_RATE: 1184424017
|
||||
00000000 VFD_DECODE[0x1].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = 0 | SWAP = WZYX }
|
||||
00400015 VFD_DECODE[0x1].STEP_RATE: 0x400015
|
||||
00400015 VFD_DECODE[0x1].STEP_RATE: 4194325
|
||||
00002400 VFD_DECODE[0x2].INSTR: { IDX = 0 | OFFSET = 0x120 | FORMAT = 0 | SWAP = WZYX }
|
||||
0228c300 VFD_DECODE[0x2].STEP_RATE: 0x228c300
|
||||
0228c300 VFD_DECODE[0x2].STEP_RATE: 36225792
|
||||
00008040 VFD_DECODE[0x3].INSTR: { IDX = 0 | OFFSET = 0x402 | FORMAT = 0 | SWAP = WZYX }
|
||||
40804000 VFD_DECODE[0x3].STEP_RATE: 0x40804000
|
||||
40804000 VFD_DECODE[0x3].STEP_RATE: 1082146816
|
||||
00000180 VFD_DECODE[0x4].INSTR: { IDX = 0 | OFFSET = 0xc | FORMAT = 0 | SWAP = WZYX }
|
||||
20801028 VFD_DECODE[0x4].STEP_RATE: 0x20801028
|
||||
20801028 VFD_DECODE[0x4].STEP_RATE: 545263656
|
||||
00002800 VFD_DECODE[0x5].INSTR: { IDX = 0 | OFFSET = 0x140 | FORMAT = 0 | SWAP = WZYX }
|
||||
50004104 VFD_DECODE[0x5].STEP_RATE: 0x50004104
|
||||
50004104 VFD_DECODE[0x5].STEP_RATE: 1342193924
|
||||
00000040 VFD_DECODE[0x6].INSTR: { IDX = 0 | OFFSET = 0x2 | FORMAT = 0 | SWAP = WZYX }
|
||||
c9708400 VFD_DECODE[0x6].STEP_RATE: 0xc9708400
|
||||
c9708400 VFD_DECODE[0x6].STEP_RATE: 3379594240
|
||||
00008a00 VFD_DECODE[0x7].INSTR: { IDX = 0 | OFFSET = 0x450 | FORMAT = 0 | SWAP = WZYX }
|
||||
00000180 VFD_DECODE[0x7].STEP_RATE: 0x180
|
||||
00000180 VFD_DECODE[0x7].STEP_RATE: 384
|
||||
00018910 VFD_DECODE[0x8].INSTR: { IDX = 16 | OFFSET = 0xc48 | FORMAT = 0 | SWAP = WZYX }
|
||||
00202080 VFD_DECODE[0x8].STEP_RATE: 0x202080
|
||||
00202080 VFD_DECODE[0x8].STEP_RATE: 2105472
|
||||
00000200 VFD_DECODE[0x9].INSTR: { IDX = 0 | OFFSET = 0x10 | FORMAT = 0 | SWAP = WZYX }
|
||||
10000400 VFD_DECODE[0x9].STEP_RATE: 0x10000400
|
||||
10000400 VFD_DECODE[0x9].STEP_RATE: 268436480
|
||||
00019180 VFD_DECODE[0xa].INSTR: { IDX = 0 | OFFSET = 0xc8c | FORMAT = 0 | SWAP = WZYX }
|
||||
00010881 VFD_DECODE[0xa].STEP_RATE: 0x10881
|
||||
00010881 VFD_DECODE[0xa].STEP_RATE: 67713
|
||||
00002200 VFD_DECODE[0xb].INSTR: { IDX = 0 | OFFSET = 0x110 | FORMAT = 0 | SWAP = WZYX }
|
||||
00000008 VFD_DECODE[0xb].STEP_RATE: 0x8
|
||||
00000008 VFD_DECODE[0xb].STEP_RATE: 8
|
||||
00000090 VFD_DECODE[0xc].INSTR: { IDX = 16 | OFFSET = 0x4 | FORMAT = 0 | SWAP = WZYX }
|
||||
00108040 VFD_DECODE[0xc].STEP_RATE: 0x108040
|
||||
00108040 VFD_DECODE[0xc].STEP_RATE: 1081408
|
||||
00002002 VFD_DECODE[0xd].INSTR: { IDX = 2 | OFFSET = 0x100 | FORMAT = 0 | SWAP = WZYX }
|
||||
40040004 VFD_DECODE[0xd].STEP_RATE: 0x40040004
|
||||
40040004 VFD_DECODE[0xd].STEP_RATE: 1074003972
|
||||
00000000 VFD_DECODE[0xe].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = 0 | SWAP = WZYX }
|
||||
00418202 VFD_DECODE[0xe].STEP_RATE: 0x418202
|
||||
00418202 VFD_DECODE[0xe].STEP_RATE: 4293122
|
||||
00011200 VFD_DECODE[0xf].INSTR: { IDX = 0 | OFFSET = 0x890 | FORMAT = 0 | SWAP = WZYX }
|
||||
05000504 VFD_DECODE[0xf].STEP_RATE: 0x5000504
|
||||
05000504 VFD_DECODE[0xf].STEP_RATE: 83887364
|
||||
00002002 VFD_DECODE[0x10].INSTR: { IDX = 2 | OFFSET = 0x100 | FORMAT = 0 | SWAP = WZYX }
|
||||
20210026 VFD_DECODE[0x10].STEP_RATE: 0x20210026
|
||||
20210026 VFD_DECODE[0x10].STEP_RATE: 539033638
|
||||
00000008 VFD_DECODE[0x11].INSTR: { IDX = 8 | OFFSET = 0 | FORMAT = 0 | SWAP = WZYX }
|
||||
00010400 VFD_DECODE[0x11].STEP_RATE: 0x10400
|
||||
00010400 VFD_DECODE[0x11].STEP_RATE: 66560
|
||||
00009000 VFD_DECODE[0x12].INSTR: { IDX = 0 | OFFSET = 0x480 | FORMAT = 0 | SWAP = WZYX }
|
||||
00000000 VFD_DECODE[0x12].STEP_RATE: 0
|
||||
00002000 VFD_DECODE[0x13].INSTR: { IDX = 0 | OFFSET = 0x100 | FORMAT = 0 | SWAP = WZYX }
|
||||
10080000 VFD_DECODE[0x13].STEP_RATE: 0x10080000
|
||||
10080000 VFD_DECODE[0x13].STEP_RATE: 268959744
|
||||
00001200 VFD_DECODE[0x14].INSTR: { IDX = 0 | OFFSET = 0x90 | FORMAT = 0 | SWAP = WZYX }
|
||||
20048020 VFD_DECODE[0x14].STEP_RATE: 0x20048020
|
||||
20048020 VFD_DECODE[0x14].STEP_RATE: 537165856
|
||||
00000106 VFD_DECODE[0x15].INSTR: { IDX = 6 | OFFSET = 0x8 | FORMAT = 0 | SWAP = WZYX }
|
||||
0a200812 VFD_DECODE[0x15].STEP_RATE: 0xa200812
|
||||
0a200812 VFD_DECODE[0x15].STEP_RATE: 169871378
|
||||
00008042 VFD_DECODE[0x16].INSTR: { IDX = 2 | OFFSET = 0x402 | FORMAT = 0 | SWAP = WZYX }
|
||||
00140250 VFD_DECODE[0x16].STEP_RATE: 0x140250
|
||||
00140250 VFD_DECODE[0x16].STEP_RATE: 1311312
|
||||
00008080 VFD_DECODE[0x17].INSTR: { IDX = 0 | OFFSET = 0x404 | FORMAT = 0 | SWAP = WZYX }
|
||||
120000c0 VFD_DECODE[0x17].STEP_RATE: 0x120000c0
|
||||
120000c0 VFD_DECODE[0x17].STEP_RATE: 301990080
|
||||
00000482 VFD_DECODE[0x18].INSTR: { IDX = 2 | OFFSET = 0x24 | FORMAT = 0 | SWAP = WZYX }
|
||||
00400880 VFD_DECODE[0x18].STEP_RATE: 0x400880
|
||||
00400880 VFD_DECODE[0x18].STEP_RATE: 4196480
|
||||
00002000 VFD_DECODE[0x19].INSTR: { IDX = 0 | OFFSET = 0x100 | FORMAT = 0 | SWAP = WZYX }
|
||||
00201000 VFD_DECODE[0x19].STEP_RATE: 0x201000
|
||||
00201000 VFD_DECODE[0x19].STEP_RATE: 2101248
|
||||
00000000 VFD_DECODE[0x1a].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = 0 | SWAP = WZYX }
|
||||
40000802 VFD_DECODE[0x1a].STEP_RATE: 0x40000802
|
||||
40000802 VFD_DECODE[0x1a].STEP_RATE: 1073743874
|
||||
00000028 VFD_DECODE[0x1b].INSTR: { IDX = 8 | OFFSET = 0x1 | FORMAT = 0 | SWAP = WZYX }
|
||||
0020a120 VFD_DECODE[0x1b].STEP_RATE: 0x20a120
|
||||
0020a120 VFD_DECODE[0x1b].STEP_RATE: 2138400
|
||||
00012480 VFD_DECODE[0x1c].INSTR: { IDX = 0 | OFFSET = 0x924 | FORMAT = 0 | SWAP = WZYX }
|
||||
09004200 VFD_DECODE[0x1c].STEP_RATE: 0x9004200
|
||||
09004200 VFD_DECODE[0x1c].STEP_RATE: 151011840
|
||||
00008080 VFD_DECODE[0x1d].INSTR: { IDX = 0 | OFFSET = 0x404 | FORMAT = 0 | SWAP = WZYX }
|
||||
00004004 VFD_DECODE[0x1d].STEP_RATE: 0x4004
|
||||
00004004 VFD_DECODE[0x1d].STEP_RATE: 16388
|
||||
00010888 VFD_DECODE[0x1e].INSTR: { IDX = 8 | OFFSET = 0x844 | FORMAT = 0 | SWAP = WZYX }
|
||||
000000b4 VFD_DECODE[0x1e].STEP_RATE: 0xb4
|
||||
000000b4 VFD_DECODE[0x1e].STEP_RATE: 180
|
||||
00008000 VFD_DECODE[0x1f].INSTR: { IDX = 0 | OFFSET = 0x400 | FORMAT = 0 | SWAP = WZYX }
|
||||
04800000 VFD_DECODE[0x1f].STEP_RATE: 0x4800000
|
||||
04800000 VFD_DECODE[0x1f].STEP_RATE: 75497472
|
||||
00000445 VFD_DEST_CNTL[0].INSTR: { WRITEMASK = 0x5 | REGID = r17.x }
|
||||
00000004 VFD_DEST_CNTL[0x1].INSTR: { WRITEMASK = 0x4 | REGID = r0.x }
|
||||
00000804 VFD_DEST_CNTL[0x2].INSTR: { WRITEMASK = 0x4 | REGID = r32.x }
|
||||
|
|
@ -6900,7 +6900,7 @@ clusters:
|
|||
00000100 HLSQ_GS_CNTL: { CONSTLEN = 0 | ENABLED }
|
||||
40204000 HLSQ_LOAD_STATE_GEOM_CMD: 0x40204000
|
||||
00000000 HLSQ_LOAD_STATE_GEOM_EXT_SRC_ADDR: 0
|
||||
00000000 HLSQ_LOAD_STATE_GEOM_EXT_SRC_ADDR+0x1: 0
|
||||
00000000 HLSQ_LOAD_STATE_GEOM_EXT_SRC_ADDR_HI: 0
|
||||
- context: 1
|
||||
00000140 HLSQ_VS_CNTL: { CONSTLEN = 256 | ENABLED }
|
||||
00000000 HLSQ_HS_CNTL: { CONSTLEN = 0 }
|
||||
|
|
@ -6908,12 +6908,12 @@ clusters:
|
|||
00000100 HLSQ_GS_CNTL: { CONSTLEN = 0 | ENABLED }
|
||||
40204000 HLSQ_LOAD_STATE_GEOM_CMD: 0x40204000
|
||||
00000000 HLSQ_LOAD_STATE_GEOM_EXT_SRC_ADDR: 0
|
||||
00000000 HLSQ_LOAD_STATE_GEOM_EXT_SRC_ADDR+0x1: 0
|
||||
00000000 HLSQ_LOAD_STATE_GEOM_EXT_SRC_ADDR_HI: 0
|
||||
- cluster-name: CLUSTER_SP_VS
|
||||
- context: 0
|
||||
00000000 SP_VS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_VS_BRANCH_COND: 0
|
||||
00000000 SP_VS_PRIMITIVE_CNTL: { OUT = 0 }
|
||||
00000000 SP_VS_PRIMITIVE_CNTL: { OUT = 0 | FLAGS_REGID = r0.x }
|
||||
00000000 SP_VS_OUT[0].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
00000000 SP_VS_OUT[0x1].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
00000000 SP_VS_OUT[0x2].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
|
|
@ -6948,9 +6948,9 @@ clusters:
|
|||
00000080 SP_VS_TEX_COUNT: 128
|
||||
00000100 SP_VS_CONFIG: { ENABLED | NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
00000000 SP_VS_INSTRLEN: 0
|
||||
00000000 SP_HS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_HS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_HS_WAVE_INPUT_SIZE: 0
|
||||
00000000 0xa832: 00000000
|
||||
00000000 SP_HS_BRANCH_COND: 0
|
||||
00000000 SP_HS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
780a8ca5 SP_HS_OBJ_START: 0x780a8ca5
|
||||
0001aad2 SP_HS_OBJ_START_HI: 0x1aad2
|
||||
|
|
@ -6961,9 +6961,9 @@ clusters:
|
|||
00000080 SP_HS_TEX_COUNT: 128
|
||||
00000000 SP_HS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
00000000 SP_HS_INSTRLEN: 0
|
||||
00000000 SP_DS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 0xa841: 00000000
|
||||
00000000 SP_DS_PRIMITIVE_CNTL: { OUT = 0 }
|
||||
00000000 SP_DS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_DS_BRANCH_COND: 0
|
||||
00000000 SP_DS_PRIMITIVE_CNTL: { OUT = 0 | FLAGS_REGID = r0.x }
|
||||
00000000 SP_DS_OUT[0].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
00000000 SP_DS_OUT[0x1].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
00000000 SP_DS_OUT[0x2].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
|
|
@ -6998,7 +6998,7 @@ clusters:
|
|||
00000080 SP_DS_TEX_COUNT: 128
|
||||
00000000 SP_DS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
00000000 SP_DS_INSTRLEN: 0
|
||||
00000000 SP_GS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_GS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_GS_PRIM_SIZE: 0
|
||||
00000000 SP_GS_BRANCH_COND: 0
|
||||
00000000 SP_GS_PRIMITIVE_CNTL: { OUT = 0 | FLAGS_REGID = r0.x }
|
||||
|
|
@ -7057,9 +7057,9 @@ clusters:
|
|||
00000000 0xa8c2: 00000000
|
||||
00000000 0xa8c3: 00000000
|
||||
- context: 1
|
||||
00000000 SP_VS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_VS_BRANCH_COND: 0
|
||||
00000000 SP_VS_PRIMITIVE_CNTL: { OUT = 0 }
|
||||
00000000 SP_VS_PRIMITIVE_CNTL: { OUT = 0 | FLAGS_REGID = r0.x }
|
||||
00000000 SP_VS_OUT[0].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
00000000 SP_VS_OUT[0x1].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
00000000 SP_VS_OUT[0x2].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
|
|
@ -7094,9 +7094,9 @@ clusters:
|
|||
00000080 SP_VS_TEX_COUNT: 128
|
||||
00000100 SP_VS_CONFIG: { ENABLED | NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
00000000 SP_VS_INSTRLEN: 0
|
||||
00000000 SP_HS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_HS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_HS_WAVE_INPUT_SIZE: 0
|
||||
00000000 0xa832: 00000000
|
||||
00000000 SP_HS_BRANCH_COND: 0
|
||||
00000000 SP_HS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
780a8ca5 SP_HS_OBJ_START: 0x780a8ca5
|
||||
0001aad2 SP_HS_OBJ_START_HI: 0x1aad2
|
||||
|
|
@ -7107,9 +7107,9 @@ clusters:
|
|||
00000080 SP_HS_TEX_COUNT: 128
|
||||
00000000 SP_HS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
00000000 SP_HS_INSTRLEN: 0
|
||||
00000000 SP_DS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 0xa841: 00000000
|
||||
00000000 SP_DS_PRIMITIVE_CNTL: { OUT = 0 }
|
||||
00000000 SP_DS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_DS_BRANCH_COND: 0
|
||||
00000000 SP_DS_PRIMITIVE_CNTL: { OUT = 0 | FLAGS_REGID = r0.x }
|
||||
00000000 SP_DS_OUT[0].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
00000000 SP_DS_OUT[0x1].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
00000000 SP_DS_OUT[0x2].REG: { A_REGID = r0.x | A_COMPMASK = 0 | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
|
|
@ -7144,7 +7144,7 @@ clusters:
|
|||
00000080 SP_DS_TEX_COUNT: 128
|
||||
00000000 SP_DS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
00000000 SP_DS_INSTRLEN: 0
|
||||
00000000 SP_GS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_GS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000 SP_GS_PRIM_SIZE: 0
|
||||
00000000 SP_GS_BRANCH_COND: 0
|
||||
00000000 SP_GS_PRIMITIVE_CNTL: { OUT = 0 | FLAGS_REGID = r0.x }
|
||||
|
|
@ -7279,7 +7279,7 @@ clusters:
|
|||
00000000 SP_TP_SAMPLE_LOCATION_0: { SAMPLE_0_X = 0.000000 | SAMPLE_0_Y = 0.000000 | SAMPLE_1_X = 0.000000 | SAMPLE_1_Y = 0.000000 | SAMPLE_2_X = 0.000000 | SAMPLE_2_Y = 0.000000 | SAMPLE_3_X = 0.000000 | SAMPLE_3_Y = 0.000000 }
|
||||
00000000 SP_TP_SAMPLE_LOCATION_1: { SAMPLE_0_X = 0.000000 | SAMPLE_0_Y = 0.000000 | SAMPLE_1_X = 0.000000 | SAMPLE_1_Y = 0.000000 | SAMPLE_2_X = 0.000000 | SAMPLE_2_Y = 0.000000 | SAMPLE_3_X = 0.000000 | SAMPLE_3_Y = 0.000000 }
|
||||
00000000 SP_TP_WINDOW_OFFSET: { X = 0 | Y = 0 }
|
||||
0000004c SP_TP_UNKNOWN_B309: 0x4c
|
||||
0000004c SP_TP_UNKNOWN_B309: 76
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
|
|
@ -7292,7 +7292,7 @@ clusters:
|
|||
00000000 SP_TP_SAMPLE_LOCATION_0: { SAMPLE_0_X = 0.000000 | SAMPLE_0_Y = 0.000000 | SAMPLE_1_X = 0.000000 | SAMPLE_1_Y = 0.000000 | SAMPLE_2_X = 0.000000 | SAMPLE_2_Y = 0.000000 | SAMPLE_3_X = 0.000000 | SAMPLE_3_Y = 0.000000 }
|
||||
00000000 SP_TP_SAMPLE_LOCATION_1: { SAMPLE_0_X = 0.000000 | SAMPLE_0_Y = 0.000000 | SAMPLE_1_X = 0.000000 | SAMPLE_1_Y = 0.000000 | SAMPLE_2_X = 0.000000 | SAMPLE_2_Y = 0.000000 | SAMPLE_3_X = 0.000000 | SAMPLE_3_Y = 0.000000 }
|
||||
00000000 SP_TP_WINDOW_OFFSET: { X = 0 | Y = 0 }
|
||||
0000004c SP_TP_UNKNOWN_B309: 0x4c
|
||||
0000004c SP_TP_UNKNOWN_B309: 76
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
|
|
@ -7303,7 +7303,7 @@ clusters:
|
|||
fcfcfcfc HLSQ_CONTROL_2_REG: { FACEREGID = r63.x | SAMPLEID = r63.x | SAMPLEMASK = r63.x | SIZE = r63.x }
|
||||
fcfcfcfc HLSQ_CONTROL_3_REG: { IJ_PERSP_PIXEL = r63.x | IJ_LINEAR_PIXEL = r63.x | IJ_PERSP_CENTROID = r63.x | IJ_LINEAR_CENTROID = r63.x }
|
||||
fcfcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | XYCOORDREGID = r63.x | ZWCOORDREGID = r63.x }
|
||||
000000fc HLSQ_CONTROL_5_REG: 0xfc
|
||||
000000fc HLSQ_CONTROL_5_REG: { UNK0 = r63.x }
|
||||
00000101 HLSQ_CS_CNTL: { CONSTLEN = 4 | ENABLED }
|
||||
000003fd HLSQ_CS_NDRANGE_0: { KERNELDIM = 1 | LOCALSIZEX = 255 | LOCALSIZEY = 0 | LOCALSIZEZ = 0 }
|
||||
00000200 HLSQ_CS_NDRANGE_1: { GLOBALSIZE_X = 512 }
|
||||
|
|
@ -7319,7 +7319,7 @@ clusters:
|
|||
00000001 HLSQ_CS_KERNEL_GROUP_Z: 0x1
|
||||
40304000 HLSQ_LOAD_STATE_FRAG_CMD: 0x40304000
|
||||
8c415430 HLSQ_LOAD_STATE_FRAG_EXT_SRC_ADDR: 0x8c415430
|
||||
00000000 HLSQ_LOAD_STATE_FRAG_EXT_SRC_ADDR+0x1: 0
|
||||
00000000 HLSQ_LOAD_STATE_FRAG_EXT_SRC_ADDR_HI: 0
|
||||
00000000 HLSQ_CS_BINDLESS_BASE[0].ADDR: 0
|
||||
00000000 HLSQ_CS_BINDLESS_BASE[0].ADDR_HI: 0
|
||||
00000000 HLSQ_CS_BINDLESS_BASE[0x1].ADDR: 0
|
||||
|
|
@ -7336,7 +7336,7 @@ clusters:
|
|||
fcfcfcfc HLSQ_CONTROL_2_REG: { FACEREGID = r63.x | SAMPLEID = r63.x | SAMPLEMASK = r63.x | SIZE = r63.x }
|
||||
fcfcfcfc HLSQ_CONTROL_3_REG: { IJ_PERSP_PIXEL = r63.x | IJ_LINEAR_PIXEL = r63.x | IJ_PERSP_CENTROID = r63.x | IJ_LINEAR_CENTROID = r63.x }
|
||||
fcfcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | XYCOORDREGID = r63.x | ZWCOORDREGID = r63.x }
|
||||
000000fc HLSQ_CONTROL_5_REG: 0xfc
|
||||
000000fc HLSQ_CONTROL_5_REG: { UNK0 = r63.x }
|
||||
00000101 HLSQ_CS_CNTL: { CONSTLEN = 4 | ENABLED }
|
||||
000003fd HLSQ_CS_NDRANGE_0: { KERNELDIM = 1 | LOCALSIZEX = 255 | LOCALSIZEY = 0 | LOCALSIZEZ = 0 }
|
||||
00000200 HLSQ_CS_NDRANGE_1: { GLOBALSIZE_X = 512 }
|
||||
|
|
@ -7352,7 +7352,7 @@ clusters:
|
|||
00000001 HLSQ_CS_KERNEL_GROUP_Z: 0x1
|
||||
40304000 HLSQ_LOAD_STATE_FRAG_CMD: 0x40304000
|
||||
8c415430 HLSQ_LOAD_STATE_FRAG_EXT_SRC_ADDR: 0x8c415430
|
||||
00000000 HLSQ_LOAD_STATE_FRAG_EXT_SRC_ADDR+0x1: 0
|
||||
00000000 HLSQ_LOAD_STATE_FRAG_EXT_SRC_ADDR_HI: 0
|
||||
00000000 HLSQ_CS_BINDLESS_BASE[0].ADDR: 0
|
||||
00000000 HLSQ_CS_BINDLESS_BASE[0].ADDR_HI: 0
|
||||
00000000 HLSQ_CS_BINDLESS_BASE[0x1].ADDR: 0
|
||||
|
|
@ -7370,7 +7370,7 @@ clusters:
|
|||
deadbeef HLSQ_2D_EVENT_CMD: { STATE_ID = 0xbe | EVENT = 0x6f | 0xdead0080 }
|
||||
- cluster-name: CLUSTER_SP_PS
|
||||
- context: 0
|
||||
05100000 SP_FS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | PIXLODENABLE | 0x1000000 }
|
||||
05100000 SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | UNK24 | PIXLODENABLE }
|
||||
00000000 SP_FS_BRANCH_COND: 0
|
||||
00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
4bdb43d8 SP_FS_OBJ_START: 0x4bdb43d8
|
||||
|
|
@ -7411,9 +7411,9 @@ clusters:
|
|||
00000000 SP_FS_BINDLESS_PREFETCH[0x3].CMD: { SAMP_ID = 0 | TEX_ID = 0 }
|
||||
00000080 SP_FS_TEX_COUNT: 128
|
||||
0000f000 SP_UNKNOWN_A9A8: 0xf000
|
||||
00421800 SP_CS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 48 | BRANCHSTACK = 8 | THREADSIZE = THREAD64 | VARYING }
|
||||
0000001f SP_CS_UNKNOWN_A9B1: 31
|
||||
00000000 0xa9b2: 00000000
|
||||
00421800 SP_CS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 48 | BRANCHSTACK = 8 | THREADSIZE = THREAD64 | VARYING }
|
||||
0000001f SP_CS_UNKNOWN_A9B1: { SHARED_SIZE_2K | UNK1 = 0xf }
|
||||
00000000 SP_CS_BRANCH_COND: 0
|
||||
00000000 SP_CS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
8c415420 SP_CS_OBJ_START: 0x8c415420
|
||||
00000000 SP_CS_OBJ_START_HI: 0
|
||||
|
|
@ -7452,7 +7452,7 @@ clusters:
|
|||
00000000 0xaa30: 00000000
|
||||
00000000 0xaa31: 00000000
|
||||
- context: 1
|
||||
05100000 SP_FS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | PIXLODENABLE | 0x1000000 }
|
||||
05100000 SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | UNK24 | PIXLODENABLE }
|
||||
00000000 SP_FS_BRANCH_COND: 0
|
||||
00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
4bdb43d8 SP_FS_OBJ_START: 0x4bdb43d8
|
||||
|
|
@ -7493,9 +7493,9 @@ clusters:
|
|||
00000000 SP_FS_BINDLESS_PREFETCH[0x3].CMD: { SAMP_ID = 0 | TEX_ID = 0 }
|
||||
00000080 SP_FS_TEX_COUNT: 128
|
||||
0000f000 SP_UNKNOWN_A9A8: 0xf000
|
||||
00421800 SP_CS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 48 | BRANCHSTACK = 8 | THREADSIZE = THREAD64 | VARYING }
|
||||
0000001f SP_CS_UNKNOWN_A9B1: 31
|
||||
00000000 0xa9b2: 00000000
|
||||
00421800 SP_CS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 48 | BRANCHSTACK = 8 | THREADSIZE = THREAD64 | VARYING }
|
||||
0000001f SP_CS_UNKNOWN_A9B1: { SHARED_SIZE_2K | UNK1 = 0xf }
|
||||
00000000 SP_CS_BRANCH_COND: 0
|
||||
00000000 SP_CS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
8c415420 SP_CS_OBJ_START: 0x8c415420
|
||||
00000000 SP_CS_OBJ_START_HI: 0
|
||||
|
|
@ -7544,15 +7544,15 @@ clusters:
|
|||
00000000 SP_PS_TP_BORDER_COLOR_BASE_ADDR_HI: 0
|
||||
00000000 SP_UNKNOWN_B182: 0
|
||||
00000000 SP_UNKNOWN_B183: 0
|
||||
00000000 0xb190: 00000000
|
||||
00000000 0xb191: 00000000
|
||||
00000000 SP_UNKNOWN_B190: 0
|
||||
00000000 SP_UNKNOWN_B191: 0
|
||||
- context: 1
|
||||
00000000 SP_PS_TP_BORDER_COLOR_BASE_ADDR: 0
|
||||
00000000 SP_PS_TP_BORDER_COLOR_BASE_ADDR_HI: 0
|
||||
00000000 SP_UNKNOWN_B182: 0
|
||||
00000000 SP_UNKNOWN_B183: 0
|
||||
00000000 0xb190: 00000000
|
||||
00000000 0xb191: 00000000
|
||||
00000000 SP_UNKNOWN_B190: 0
|
||||
00000000 SP_UNKNOWN_B191: 0
|
||||
- cluster-name: CLUSTER_SP_PS
|
||||
- context: 0
|
||||
00000000 SP_PS_2D_SRC_INFO: { COLOR_FORMAT = 0 | TILE_MODE = TILE6_LINEAR | COLOR_SWAP = WZYX | SAMPLES = MSAA_ONE }
|
||||
|
|
@ -7560,18 +7560,18 @@ clusters:
|
|||
00000000 SP_PS_2D_SRC: 0
|
||||
00000000 SP_PS_2D_SRC_HI: 0
|
||||
00000000 SP_PS_2D_SRC_PITCH: { PITCH = 0 }
|
||||
00000000 0xb4c5: 00000000
|
||||
00000000 0xb4c6: 00000000
|
||||
00000000 0xb4c7: 00000000
|
||||
00000000 0xb4c8: 00000000
|
||||
00000000 0xb4c9: 00000000
|
||||
00000000 SP_PS_2D_SRC_PLANE1: 0
|
||||
00000000 SP_PS_2D_SRC_PLANE1_HI: 0
|
||||
00000000 SP_PS_2D_SRC_PLANE_PITCH: 0
|
||||
00000000 SP_PS_2D_SRC_PLANE2: 0
|
||||
00000000 SP_PS_2D_SRC_PLANE2_HI: 0
|
||||
00000000 SP_PS_2D_SRC_FLAGS: 0
|
||||
00000000 SP_PS_2D_SRC_FLAGS_HI: 0
|
||||
00000000 SP_PS_2D_SRC_FLAGS_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
|
||||
00000000 0xb4cd: 00000000
|
||||
00000000 0xb4ce: 00000000
|
||||
00000000 0xb4cf: 00000000
|
||||
00000000 0xb4d0: 00000000
|
||||
00000000 SP_PS_2D_SRC_FLAGS_PITCH: 0
|
||||
00000000 SP_PS_UNKNOWN_B4CD: 0
|
||||
00000000 SP_PS_UNKNOWN_B4CE: 0
|
||||
00000000 SP_PS_UNKNOWN_B4CF: 0
|
||||
00000000 SP_PS_UNKNOWN_B4D0: 0
|
||||
00000000 SP_WINDOW_OFFSET: { X = 0 | Y = 0 }
|
||||
- context: 1
|
||||
00000000 SP_PS_2D_SRC_INFO: { COLOR_FORMAT = 0 | TILE_MODE = TILE6_LINEAR | COLOR_SWAP = WZYX | SAMPLES = MSAA_ONE }
|
||||
|
|
@ -7579,18 +7579,18 @@ clusters:
|
|||
00000000 SP_PS_2D_SRC: 0
|
||||
00000000 SP_PS_2D_SRC_HI: 0
|
||||
00000000 SP_PS_2D_SRC_PITCH: { PITCH = 0 }
|
||||
00000000 0xb4c5: 00000000
|
||||
00000000 0xb4c6: 00000000
|
||||
00000000 0xb4c7: 00000000
|
||||
00000000 0xb4c8: 00000000
|
||||
00000000 0xb4c9: 00000000
|
||||
00000000 SP_PS_2D_SRC_PLANE1: 0
|
||||
00000000 SP_PS_2D_SRC_PLANE1_HI: 0
|
||||
00000000 SP_PS_2D_SRC_PLANE_PITCH: 0
|
||||
00000000 SP_PS_2D_SRC_PLANE2: 0
|
||||
00000000 SP_PS_2D_SRC_PLANE2_HI: 0
|
||||
00000000 SP_PS_2D_SRC_FLAGS: 0
|
||||
00000000 SP_PS_2D_SRC_FLAGS_HI: 0
|
||||
00000000 SP_PS_2D_SRC_FLAGS_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
|
||||
00000000 0xb4cd: 00000000
|
||||
00000000 0xb4ce: 00000000
|
||||
00000000 0xb4cf: 00000000
|
||||
00000000 0xb4d0: 00000000
|
||||
00000000 SP_PS_2D_SRC_FLAGS_PITCH: 0
|
||||
00000000 SP_PS_UNKNOWN_B4CD: 0
|
||||
00000000 SP_PS_UNKNOWN_B4CE: 0
|
||||
00000000 SP_PS_UNKNOWN_B4CF: 0
|
||||
00000000 SP_PS_UNKNOWN_B4D0: 0
|
||||
00000000 SP_WINDOW_OFFSET: { X = 0 | Y = 0 }
|
||||
- cluster-name: CLUSTER_SP_PS
|
||||
- context: 0
|
||||
|
|
@ -7664,7 +7664,7 @@ clusters:
|
|||
00000000 SP_TP_SAMPLE_LOCATION_0: { SAMPLE_0_X = 0.000000 | SAMPLE_0_Y = 0.000000 | SAMPLE_1_X = 0.000000 | SAMPLE_1_Y = 0.000000 | SAMPLE_2_X = 0.000000 | SAMPLE_2_Y = 0.000000 | SAMPLE_3_X = 0.000000 | SAMPLE_3_Y = 0.000000 }
|
||||
00000000 SP_TP_SAMPLE_LOCATION_1: { SAMPLE_0_X = 0.000000 | SAMPLE_0_Y = 0.000000 | SAMPLE_1_X = 0.000000 | SAMPLE_1_Y = 0.000000 | SAMPLE_2_X = 0.000000 | SAMPLE_2_Y = 0.000000 | SAMPLE_3_X = 0.000000 | SAMPLE_3_Y = 0.000000 }
|
||||
00000000 SP_TP_WINDOW_OFFSET: { X = 0 | Y = 0 }
|
||||
0000004c SP_TP_UNKNOWN_B309: 0x4c
|
||||
0000004c SP_TP_UNKNOWN_B309: 76
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
|
|
@ -7677,7 +7677,7 @@ clusters:
|
|||
00000000 SP_TP_SAMPLE_LOCATION_0: { SAMPLE_0_X = 0.000000 | SAMPLE_0_Y = 0.000000 | SAMPLE_1_X = 0.000000 | SAMPLE_1_Y = 0.000000 | SAMPLE_2_X = 0.000000 | SAMPLE_2_Y = 0.000000 | SAMPLE_3_X = 0.000000 | SAMPLE_3_Y = 0.000000 }
|
||||
00000000 SP_TP_SAMPLE_LOCATION_1: { SAMPLE_0_X = 0.000000 | SAMPLE_0_Y = 0.000000 | SAMPLE_1_X = 0.000000 | SAMPLE_1_Y = 0.000000 | SAMPLE_2_X = 0.000000 | SAMPLE_2_Y = 0.000000 | SAMPLE_3_X = 0.000000 | SAMPLE_3_Y = 0.000000 }
|
||||
00000000 SP_TP_WINDOW_OFFSET: { X = 0 | Y = 0 }
|
||||
0000004c SP_TP_UNKNOWN_B309: 0x4c
|
||||
0000004c SP_TP_UNKNOWN_B309: 76
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
|
|
|
|||
|
|
@ -27,11 +27,11 @@ t4 write SP_UNKNOWN_AE00 (ae00)
|
|||
t4 write SP_PERFCTR_ENABLE (ae0f)
|
||||
SP_PERFCTR_ENABLE: { VS | HS | DS | GS | FS | CS }
|
||||
0000000001058034: 0000: 40ae0f01 0000003f
|
||||
t4 write SP_UNKNOWN_B605 (b605)
|
||||
SP_UNKNOWN_B605: 0x44
|
||||
t4 write TPL1_UNKNOWN_B605 (b605)
|
||||
TPL1_UNKNOWN_B605: 68
|
||||
000000000105803c: 0000: 40b60501 00000044
|
||||
t4 write SP_UNKNOWN_B600 (b600)
|
||||
SP_UNKNOWN_B600: 0x100000
|
||||
t4 write TPL1_UNKNOWN_B600 (b600)
|
||||
TPL1_UNKNOWN_B600: 0x100000
|
||||
0000000001058044: 0000: 40b60001 00100000
|
||||
t4 write HLSQ_UNKNOWN_BE00 (be00)
|
||||
HLSQ_UNKNOWN_BE00: 0x80
|
||||
|
|
@ -76,7 +76,7 @@ t4 write SP_UNKNOWN_A9A8 (a9a8)
|
|||
SP_UNKNOWN_A9A8: 0
|
||||
00000000010580b4: 0000: 40a9a801 00000000
|
||||
t4 write SP_MODE_CONTROL (ab00)
|
||||
SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | 0x4 }
|
||||
SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | UNK2 }
|
||||
00000000010580bc: 0000: 40ab0001 00000005
|
||||
t4 write VFD_ADD_OFFSET (a009)
|
||||
VFD_ADD_OFFSET: { VERTEX }
|
||||
|
|
@ -175,10 +175,10 @@ t4 write PC_UNKNOWN_9E72 (9e72)
|
|||
PC_UNKNOWN_9E72: 0
|
||||
00000000010581bc: 0000: 409e7201 00000000
|
||||
t4 write SP_TP_UNKNOWN_B309 (b309)
|
||||
SP_TP_UNKNOWN_B309: 0xa2
|
||||
SP_TP_UNKNOWN_B309: 162
|
||||
00000000010581c4: 0000: 40b30901 000000a2
|
||||
t4 write HLSQ_CONTROL_5_REG (b986)
|
||||
HLSQ_CONTROL_5_REG: 0xfc
|
||||
HLSQ_CONTROL_5_REG: { UNK0 = r63.x }
|
||||
00000000010581cc: 0000: 48b98601 000000fc
|
||||
t4 write VFD_MODE_CNTL (a007)
|
||||
VFD_MODE_CNTL: { 0 }
|
||||
|
|
@ -195,10 +195,10 @@ t7 opcode: CP_SET_DRAW_STATE (43) (4 dwords)
|
|||
{ ADDR_HI = 0 }
|
||||
00000000010581ec: 0000: 70438003 00040000 00000000 00000000
|
||||
t4 write SP_HS_CTRL_REG0 (a830)
|
||||
SP_HS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
SP_HS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
00000000010581fc: 0000: 40a83001 00000000
|
||||
t4 write SP_GS_CTRL_REG0 (a870)
|
||||
SP_GS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
SP_GS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
0000000001058204: 0000: 48a87001 00000000
|
||||
t4 write GRAS_LRZ_CNTL (8100)
|
||||
GRAS_LRZ_CNTL: { 0 }
|
||||
|
|
@ -341,11 +341,11 @@ t7 opcode: CP_BLIT (2c) (2 dwords)
|
|||
+ 00000000 VFD_MULTIVIEW_CNTL: { VIEWS = 0 }
|
||||
!+ 00000001 VFD_ADD_OFFSET: { VERTEX }
|
||||
+ 00000000 SP_VS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
+ 00000000 SP_HS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
+ 00000000 SP_GS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
+ 00000000 SP_HS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
+ 00000000 SP_GS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 | THREADSIZE = THREAD64 }
|
||||
+ 00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
+ 00000000 SP_UNKNOWN_A9A8: 0
|
||||
!+ 00000005 SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | 0x4 }
|
||||
!+ 00000005 SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | UNK2 }
|
||||
+ 00000000 SP_IBO_COUNT: 0
|
||||
!+ 0000f180 SP_2D_DST_FORMAT: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
|
||||
+ 00000000 SP_UNKNOWN_AE00: 0
|
||||
|
|
@ -358,10 +358,10 @@ t7 opcode: CP_BLIT (2c) (2 dwords)
|
|||
+ 00000000 SP_UNKNOWN_B183: 0
|
||||
!+ 01011000 SP_TP_BORDER_COLOR_BASE_ADDR: 0x1011000
|
||||
+ 00000000 SP_TP_BORDER_COLOR_BASE_ADDR_HI: 0
|
||||
!+ 000000a2 SP_TP_UNKNOWN_B309: 0xa2
|
||||
!+ 00100000 SP_UNKNOWN_B600: 0x100000
|
||||
!+ 00000044 SP_UNKNOWN_B605: 0x44
|
||||
!+ 000000fc HLSQ_CONTROL_5_REG: 0xfc
|
||||
!+ 000000a2 SP_TP_UNKNOWN_B309: 162
|
||||
!+ 00100000 TPL1_UNKNOWN_B600: 0x100000
|
||||
!+ 00000044 TPL1_UNKNOWN_B605: 68
|
||||
!+ 000000fc HLSQ_CONTROL_5_REG: { UNK0 = r63.x }
|
||||
!+ 000fffff HLSQ_INVALIDATE_CMD: { VS_STATE | HS_STATE | DS_STATE | GS_STATE | FS_STATE | CS_STATE | CS_IBO | GFX_IBO | CS_SHARED_CONST | GFX_SHARED_CONST | CS_BINDLESS = 0x1f | GFX_BINDLESS = 0x1f }
|
||||
+ 00000000 HLSQ_SHARED_CONSTS: { 0 }
|
||||
!+ 00000080 HLSQ_UNKNOWN_BE00: 0x80
|
||||
|
|
@ -783,7 +783,7 @@ t4 write HLSQ_INVALIDATE_CMD (bb08)
|
|||
HLSQ_INVALIDATE_CMD: { VS_STATE | HS_STATE | DS_STATE | GS_STATE | FS_STATE | GFX_IBO | CS_BINDLESS = 0 | GFX_BINDLESS = 0 }
|
||||
0000000001054180: 0000: 40bb0801 0000009f
|
||||
t4 write SP_VS_CTRL_REG0 (a800)
|
||||
SP_VS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 3 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 3 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
0000000001054188: 0000: 40a80001 80100180
|
||||
t4 write SP_VS_CONFIG (a823)
|
||||
SP_VS_CONFIG: { ENABLED | NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
|
|
@ -863,7 +863,7 @@ t4 write HLSQ_GS_CNTL (b803)
|
|||
HLSQ_GS_CNTL: { CONSTLEN = 0 }
|
||||
0000000001054208: 0000: 48b80301 00000000
|
||||
t4 write SP_FS_CTRL_REG0 (a980)
|
||||
SP_FS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | VARYING | MERGEDREGS | 0x1000000 }
|
||||
SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | VARYING | UNK24 | MERGEDREGS }
|
||||
0000000001054210: 0000: 40a98001 81500100
|
||||
t4 write SP_FS_CONFIG (ab04)
|
||||
SP_FS_CONFIG: { ENABLED | NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
|
|
@ -926,9 +926,9 @@ t4 write SP_HS_WAVE_INPUT_SIZE (a831)
|
|||
t4 write VFD_CONTROL_1 (a001)
|
||||
VFD_CONTROL_1: { REGID4VTX = r2.y | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
|
||||
VFD_CONTROL_2: { REGID_HSPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
|
||||
VFD_CONTROL_3: { REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x | 0xfc }
|
||||
VFD_CONTROL_4: 0xfc
|
||||
VFD_CONTROL_5: { REGID_GSHEADER = r63.x | 0xfc00 }
|
||||
VFD_CONTROL_3: { UNK0 = r63.x | REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
|
||||
VFD_CONTROL_4: { UNK0 = r63.x }
|
||||
VFD_CONTROL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
|
||||
VFD_CONTROL_6: { 0 }
|
||||
0000000001054260: 0000: 40a00186 fcfcfc09 0000fcfc fcfcfcfc 000000fc 0000fcfc 00000000
|
||||
t4 write VPC_VAR[0].DISABLE (9212)
|
||||
|
|
@ -960,7 +960,7 @@ t4 write PC_VS_OUT_CNTL (9b01)
|
|||
PC_VS_OUT_CNTL: { STRIDE_IN_VPC = 8 | CLIP_MASK = 0 }
|
||||
00000000010542cc: 0000: 489b0101 00000008
|
||||
t4 write SP_VS_PRIMITIVE_CNTL (a802)
|
||||
SP_VS_PRIMITIVE_CNTL: { OUT = 2 }
|
||||
SP_VS_PRIMITIVE_CNTL: { OUT = 2 | FLAGS_REGID = r0.x }
|
||||
00000000010542d4: 0000: 48a80201 00000002
|
||||
t4 write VPC_VS_LAYER_CNTL (9104)
|
||||
VPC_VS_LAYER_CNTL: { LAYERLOC = 255 | VIEWLOC = 255 }
|
||||
|
|
@ -997,14 +997,14 @@ t4 write VPC_VARYING_PS_REPL[0].MODE (9208)
|
|||
0000000001054320: 0000: 48920808 00000000 00000000 00000000 00000000 00000000 00000000 00000000
|
||||
*
|
||||
t4 write SP_FS_PREFETCH_CNTL (a99e)
|
||||
SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | 0x7000 }
|
||||
SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | UNK12 = 0x7 }
|
||||
0000000001054344: 0000: 40a99e01 00007fc0
|
||||
t4 write HLSQ_CONTROL_1_REG (b982)
|
||||
HLSQ_CONTROL_1_REG: 0x7
|
||||
HLSQ_CONTROL_2_REG: { FACEREGID = r63.x | SAMPLEID = r63.x | SAMPLEMASK = r63.x | SIZE = r63.x }
|
||||
HLSQ_CONTROL_3_REG: { IJ_PERSP_PIXEL = r0.x | IJ_LINEAR_PIXEL = r63.x | IJ_PERSP_CENTROID = r63.x | IJ_LINEAR_CENTROID = r63.x }
|
||||
HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | XYCOORDREGID = r63.x | ZWCOORDREGID = r63.x }
|
||||
HLSQ_CONTROL_5_REG: 0xfc
|
||||
HLSQ_CONTROL_5_REG: { UNK0 = r63.x }
|
||||
000000000105434c: 0000: 40b98285 00000007 fcfcfcfc fcfcfc00 fcfcfcfc 000000fc
|
||||
t4 write HLSQ_FS_CNTL_0 (b980)
|
||||
HLSQ_FS_CNTL_0: { THREADSIZE = THREAD128 | VARYINGS }
|
||||
|
|
@ -1087,21 +1087,21 @@ t4 write VFD_FETCH[0].STRIDE (a013)
|
|||
0000000001054620: 0000: 40a01301 00000024
|
||||
t4 write VFD_DECODE[0].INSTR (a090)
|
||||
VFD_DECODE[0].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = FMT6_32_32_32_32_FLOAT | SWAP = WZYX | UNK30 | FLOAT }
|
||||
VFD_DECODE[0].STEP_RATE: 0x1
|
||||
VFD_DECODE[0].STEP_RATE: 1
|
||||
0000000001054628: 0000: 48a09002 c8200000 00000001
|
||||
t4 write VFD_DEST_CNTL[0].INSTR (a0d0)
|
||||
VFD_DEST_CNTL[0].INSTR: { WRITEMASK = 0xf | REGID = r0.x }
|
||||
0000000001054634: 0000: 40a0d001 0000000f
|
||||
t4 write VFD_DECODE[0x1].INSTR (a092)
|
||||
VFD_DECODE[0x1].INSTR: { IDX = 0 | OFFSET = 0x10 | FORMAT = FMT6_32_32_32_32_FLOAT | SWAP = WZYX | UNK30 | FLOAT }
|
||||
VFD_DECODE[0x1].STEP_RATE: 0x1
|
||||
VFD_DECODE[0x1].STEP_RATE: 1
|
||||
000000000105463c: 0000: 40a09202 c8200200 00000001
|
||||
t4 write VFD_DEST_CNTL[0x1].INSTR (a0d1)
|
||||
VFD_DEST_CNTL[0x1].INSTR: { WRITEMASK = 0xf | REGID = r1.x }
|
||||
0000000001054648: 0000: 48a0d101 0000004f
|
||||
t4 write VFD_DECODE[0x2].INSTR (a094)
|
||||
VFD_DECODE[0x2].INSTR: { IDX = 0 | OFFSET = 0x20 | FORMAT = FMT6_32_SINT | SWAP = WZYX | UNK30 }
|
||||
VFD_DECODE[0x2].STEP_RATE: 0x1
|
||||
VFD_DECODE[0x2].STEP_RATE: 1
|
||||
0000000001054650: 0000: 40a09402 44c00400 00000001
|
||||
t4 write VFD_DEST_CNTL[0x2].INSTR (a0d2)
|
||||
VFD_DEST_CNTL[0x2].INSTR: { WRITEMASK = 0x1 | REGID = r2.x }
|
||||
|
|
@ -1430,25 +1430,25 @@ t7 opcode: CP_DRAW_INDIRECT_MULTI (2a) (12 dwords)
|
|||
!+ 00000303 VFD_CONTROL_0: { FETCH_CNT = 3 | DECODE_CNT = 3 }
|
||||
!+ fcfcfc09 VFD_CONTROL_1: { REGID4VTX = r2.y | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
|
||||
!+ 0000fcfc VFD_CONTROL_2: { REGID_HSPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
|
||||
!+ fcfcfcfc VFD_CONTROL_3: { REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x | 0xfc }
|
||||
!+ 000000fc VFD_CONTROL_4: 0xfc
|
||||
!+ 0000fcfc VFD_CONTROL_5: { REGID_GSHEADER = r63.x | 0xfc00 }
|
||||
!+ fcfcfcfc VFD_CONTROL_3: { UNK0 = r63.x | REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
|
||||
!+ 000000fc VFD_CONTROL_4: { UNK0 = r63.x }
|
||||
!+ 0000fcfc VFD_CONTROL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
|
||||
+ 00000000 VFD_CONTROL_6: { 0 }
|
||||
!+ 01053000 VFD_FETCH[0].BASE: 0x1053000
|
||||
+ 00000000 VFD_FETCH[0].BASE_HI: 0
|
||||
!+ 00000318 VFD_FETCH[0].SIZE: 792
|
||||
!+ 00000024 VFD_FETCH[0].STRIDE: 36
|
||||
!+ c8200000 VFD_DECODE[0].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = FMT6_32_32_32_32_FLOAT | SWAP = WZYX | UNK30 | FLOAT }
|
||||
!+ 00000001 VFD_DECODE[0].STEP_RATE: 0x1
|
||||
!+ 00000001 VFD_DECODE[0].STEP_RATE: 1
|
||||
!+ c8200200 VFD_DECODE[0x1].INSTR: { IDX = 0 | OFFSET = 0x10 | FORMAT = FMT6_32_32_32_32_FLOAT | SWAP = WZYX | UNK30 | FLOAT }
|
||||
!+ 00000001 VFD_DECODE[0x1].STEP_RATE: 0x1
|
||||
!+ 00000001 VFD_DECODE[0x1].STEP_RATE: 1
|
||||
!+ 44c00400 VFD_DECODE[0x2].INSTR: { IDX = 0 | OFFSET = 0x20 | FORMAT = FMT6_32_SINT | SWAP = WZYX | UNK30 }
|
||||
!+ 00000001 VFD_DECODE[0x2].STEP_RATE: 0x1
|
||||
!+ 00000001 VFD_DECODE[0x2].STEP_RATE: 1
|
||||
!+ 0000000f VFD_DEST_CNTL[0].INSTR: { WRITEMASK = 0xf | REGID = r0.x }
|
||||
!+ 0000004f VFD_DEST_CNTL[0x1].INSTR: { WRITEMASK = 0xf | REGID = r1.x }
|
||||
!+ 00000081 VFD_DEST_CNTL[0x2].INSTR: { WRITEMASK = 0x1 | REGID = r2.x }
|
||||
!+ 80100180 SP_VS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 3 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
!+ 00000002 SP_VS_PRIMITIVE_CNTL: { OUT = 2 }
|
||||
!+ 80100180 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 3 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
!+ 00000002 SP_VS_PRIMITIVE_CNTL: { OUT = 2 | FLAGS_REGID = r0.x }
|
||||
!+ 0f000f08 SP_VS_OUT[0].REG: { A_REGID = r2.x | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0xf }
|
||||
!+ 00000400 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 0 | OUTLOC1 = 4 | OUTLOC2 = 0 | OUTLOC3 = 0 }
|
||||
!+ 01054000 SP_VS_OBJ_START: 0x1054000 base=1054000, offset=0, size=12288
|
||||
|
|
@ -1480,7 +1480,7 @@ t7 opcode: CP_DRAW_INDIRECT_MULTI (2a) (12 dwords)
|
|||
+ 00000000 SP_HS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
+ 00000000 SP_DS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
+ 00000000 SP_GS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
!+ 81500100 SP_FS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | VARYING | MERGEDREGS | 0x1000000 }
|
||||
!+ 81500100 SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | VARYING | UNK24 | MERGEDREGS }
|
||||
!+ 01054080 SP_FS_OBJ_START: 0x1054080 base=1054000, offset=128, size=12288
|
||||
0000000001054080: 0000: 00002000 47300002 00002001 47300003 00002002 47300004 00002003 47308005
|
||||
00000000010540a0: 0020: 00000000 03000000 00000000 00000000 00000000 00000000 00000000 00000000
|
||||
|
|
@ -1516,7 +1516,7 @@ t7 opcode: CP_DRAW_INDIRECT_MULTI (2a) (12 dwords)
|
|||
!+ 000000fc SP_FS_OUTPUT[0x6].REG: { REGID = r63.x }
|
||||
!+ 000000fc SP_FS_OUTPUT[0x7].REG: { REGID = r63.x }
|
||||
!+ 00000030 SP_FS_MRT[0].REG: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM }
|
||||
!+ 00007fc0 SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | 0x7000 }
|
||||
!+ 00007fc0 SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | UNK12 = 0x7 }
|
||||
+ 00000000 SP_CS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
!+ 00000100 SP_FS_CONFIG: { ENABLED | NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
!+ 00000001 SP_FS_INSTRLEN: 1
|
||||
|
|
@ -1532,7 +1532,7 @@ t7 opcode: CP_DRAW_INDIRECT_MULTI (2a) (12 dwords)
|
|||
!+ fcfcfcfc HLSQ_CONTROL_2_REG: { FACEREGID = r63.x | SAMPLEID = r63.x | SAMPLEMASK = r63.x | SIZE = r63.x }
|
||||
!+ fcfcfc00 HLSQ_CONTROL_3_REG: { IJ_PERSP_PIXEL = r0.x | IJ_LINEAR_PIXEL = r63.x | IJ_PERSP_CENTROID = r63.x | IJ_LINEAR_CENTROID = r63.x }
|
||||
!+ fcfcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | XYCOORDREGID = r63.x | ZWCOORDREGID = r63.x }
|
||||
+ 000000fc HLSQ_CONTROL_5_REG: 0xfc
|
||||
+ 000000fc HLSQ_CONTROL_5_REG: { UNK0 = r63.x }
|
||||
+ 00000000 HLSQ_CS_CNTL: { CONSTLEN = 0 }
|
||||
!+ 0000009f HLSQ_INVALIDATE_CMD: { VS_STATE | HS_STATE | DS_STATE | GS_STATE | FS_STATE | GFX_IBO | CS_BINDLESS = 0 | GFX_BINDLESS = 0 }
|
||||
!+ 00000100 HLSQ_FS_CNTL: { CONSTLEN = 0 | ENABLED }
|
||||
|
|
|
|||
|
|
@ -24,11 +24,11 @@ t4 write SP_UNKNOWN_AE00 (ae00)
|
|||
t4 write SP_PERFCTR_ENABLE (ae0f)
|
||||
SP_PERFCTR_ENABLE: { VS | HS | DS | GS | FS | CS }
|
||||
0000000001d9102c: 0000: 40ae0f01 0000003f
|
||||
t4 write SP_UNKNOWN_B605 (b605)
|
||||
SP_UNKNOWN_B605: 0x44
|
||||
t4 write TPL1_UNKNOWN_B605 (b605)
|
||||
TPL1_UNKNOWN_B605: 68
|
||||
0000000001d91034: 0000: 40b60501 00000044
|
||||
t4 write SP_UNKNOWN_B600 (b600)
|
||||
SP_UNKNOWN_B600: 0x100000
|
||||
t4 write TPL1_UNKNOWN_B600 (b600)
|
||||
TPL1_UNKNOWN_B600: 0x100000
|
||||
0000000001d9103c: 0000: 40b60001 00100000
|
||||
t4 write HLSQ_UNKNOWN_BE00 (be00)
|
||||
HLSQ_UNKNOWN_BE00: 0x80
|
||||
|
|
@ -67,7 +67,7 @@ t4 write RB_UNKNOWN_8E01 (8e01)
|
|||
RB_UNKNOWN_8E01: 0x1
|
||||
0000000001d9109c: 0000: 408e0101 00000001
|
||||
t4 write SP_MODE_CONTROL (ab00)
|
||||
SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | 0x4 }
|
||||
SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | UNK2 }
|
||||
0000000001d910a4: 0000: 40ab0001 00000005
|
||||
t4 write VFD_ADD_OFFSET (a009)
|
||||
VFD_ADD_OFFSET: { VERTEX }
|
||||
|
|
@ -175,7 +175,7 @@ t4 write SP_TP_SAMPLE_CONFIG (b304)
|
|||
SP_TP_SAMPLE_CONFIG: { 0 }
|
||||
0000000001d911bc: 0000: 48b30401 00000000
|
||||
t4 write SP_TP_UNKNOWN_B309 (b309)
|
||||
SP_TP_UNKNOWN_B309: 0xa2
|
||||
SP_TP_UNKNOWN_B309: 162
|
||||
0000000001d911c4: 0000: 40b30901 000000a2
|
||||
t4 write RB_SAMPLE_CONFIG (8804)
|
||||
RB_SAMPLE_CONFIG: { 0 }
|
||||
|
|
@ -202,7 +202,7 @@ t4 write RB_Z_BOUNDS_MAX (8879)
|
|||
RB_Z_BOUNDS_MAX: 0.000000
|
||||
0000000001d91204: 0000: 40887901 00000000
|
||||
t4 write HLSQ_CONTROL_5_REG (b986)
|
||||
HLSQ_CONTROL_5_REG: 0xfc
|
||||
HLSQ_CONTROL_5_REG: { UNK0 = r63.x }
|
||||
0000000001d9120c: 0000: 48b98601 000000fc
|
||||
t7 opcode: CP_WAIT_FOR_IDLE (26) (1 dwords)
|
||||
0000000001d91214: 0000: 70268000
|
||||
|
|
@ -607,19 +607,19 @@ t4 write SP_HS_OBJ_FIRST_EXEC_OFFSET (a833)
|
|||
SP_HS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
0000000001121000: 0000: 40a83301 00000000
|
||||
t4 write SP_FS_PREFETCH_CNTL (a99e)
|
||||
SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | 0x7000 }
|
||||
SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | UNK12 = 0x7 }
|
||||
0000000001121008: 0000: 40a99e01 00007fc0
|
||||
t4 write SP_UNKNOWN_A9A8 (a9a8)
|
||||
SP_UNKNOWN_A9A8: 0
|
||||
0000000001121010: 0000: 40a9a801 00000000
|
||||
t4 write SP_MODE_CONTROL (ab00)
|
||||
SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | 0x4 }
|
||||
SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | UNK2 }
|
||||
0000000001121018: 0000: 40ab0001 00000005
|
||||
t4 write SP_FS_OUTPUT_CNTL0 (a98c)
|
||||
SP_FS_OUTPUT_CNTL0: { DEPTH_REGID = r63.x | SAMPMASK_REGID = r63.x | STENCILREF_REGID = r63.x }
|
||||
0000000001121020: 0000: 40a98c01 fcfcfc00
|
||||
t4 write SP_VS_CTRL_REG0 (a800)
|
||||
SP_VS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
0000000001121028: 0000: 40a80001 80100080
|
||||
t4 write SP_VS_INSTRLEN (a824)
|
||||
SP_VS_INSTRLEN: 1
|
||||
|
|
@ -671,7 +671,7 @@ t4 write SP_HS_WAVE_INPUT_SIZE (a831)
|
|||
SP_HS_WAVE_INPUT_SIZE: 0
|
||||
0000000001121078: 0000: 48a83101 00000000
|
||||
t4 write SP_VS_PRIMITIVE_CNTL (a802)
|
||||
SP_VS_PRIMITIVE_CNTL: { OUT = 1 }
|
||||
SP_VS_PRIMITIVE_CNTL: { OUT = 1 | FLAGS_REGID = r0.x }
|
||||
0000000001121080: 0000: 48a80201 00000001
|
||||
t4 write VPC_CNTL_0 (9304)
|
||||
VPC_CNTL_0: { NUMNONPOSVAR = 0 | PRIMIDLOC = 255 | VIEWIDLOC = 255 }
|
||||
|
|
@ -687,13 +687,13 @@ t4 write HLSQ_CONTROL_1_REG (b982)
|
|||
HLSQ_CONTROL_2_REG: { FACEREGID = r63.x | SAMPLEID = r63.x | SAMPLEMASK = r63.x | SIZE = r63.x }
|
||||
HLSQ_CONTROL_3_REG: { IJ_PERSP_PIXEL = r63.x | IJ_LINEAR_PIXEL = r63.x | IJ_PERSP_CENTROID = r63.x | IJ_LINEAR_CENTROID = r63.x }
|
||||
HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | XYCOORDREGID = r63.x | ZWCOORDREGID = r63.x }
|
||||
HLSQ_CONTROL_5_REG: 0xfc
|
||||
HLSQ_CONTROL_5_REG: { UNK0 = r63.x }
|
||||
00000000011210a0: 0000: 40b98285 00000007 fcfcfcfc fcfcfcfc fcfcfcfc 000000fc
|
||||
t4 write HLSQ_FS_CNTL_0 (b980)
|
||||
HLSQ_FS_CNTL_0: { THREADSIZE = THREAD128 }
|
||||
00000000011210b8: 0000: 48b98001 00000001
|
||||
t4 write SP_FS_CTRL_REG0 (a980)
|
||||
SP_FS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS | 0x1000000 }
|
||||
SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | UNK24 | MERGEDREGS }
|
||||
00000000011210c0: 0000: 40a98001 81100080
|
||||
t4 write SP_FS_OBJ_FIRST_EXEC_OFFSET (a982)
|
||||
SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
|
|
@ -746,9 +746,9 @@ t4 write VPC_UNKNOWN_9107 (9107)
|
|||
t4 write VFD_CONTROL_1 (a001)
|
||||
VFD_CONTROL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
|
||||
VFD_CONTROL_2: { REGID_HSPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
|
||||
VFD_CONTROL_3: { REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x | 0xfc }
|
||||
VFD_CONTROL_4: 0xfc
|
||||
VFD_CONTROL_5: { REGID_GSHEADER = r63.x | 0xfc00 }
|
||||
VFD_CONTROL_3: { UNK0 = r63.x | REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
|
||||
VFD_CONTROL_4: { UNK0 = r63.x }
|
||||
VFD_CONTROL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
|
||||
VFD_CONTROL_6: { 0 }
|
||||
0000000001121150: 0000: 40a00186 fcfcfcfc 0000fcfc fcfcfcfc 000000fc 0000fcfc 00000000
|
||||
t4 write RB_DEPTH_PLANE_CNTL (8870)
|
||||
|
|
@ -786,7 +786,7 @@ t4 write VFD_FETCH[0].BASE (a010)
|
|||
0000000001116000: 0000: 40a01004 01016000 00000000 00100000 0000000c
|
||||
t4 write VFD_DECODE[0].INSTR (a090)
|
||||
VFD_DECODE[0].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = FMT6_32_32_32_FLOAT | SWAP = WZYX | UNK30 | FLOAT }
|
||||
VFD_DECODE[0].STEP_RATE: 0x1
|
||||
VFD_DECODE[0].STEP_RATE: 1
|
||||
0000000001116014: 0000: 48a09002 c7400000 00000001
|
||||
t4 write VFD_DEST_CNTL[0].INSTR (a0d0)
|
||||
VFD_DEST_CNTL[0].INSTR: { WRITEMASK = 0xf | REGID = r0.x }
|
||||
|
|
@ -1059,9 +1059,9 @@ t7 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
|
|||
!+ 00000101 VFD_CONTROL_0: { FETCH_CNT = 1 | DECODE_CNT = 1 }
|
||||
!+ fcfcfcfc VFD_CONTROL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
|
||||
!+ 0000fcfc VFD_CONTROL_2: { REGID_HSPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
|
||||
!+ fcfcfcfc VFD_CONTROL_3: { REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x | 0xfc }
|
||||
!+ 000000fc VFD_CONTROL_4: 0xfc
|
||||
!+ 0000fcfc VFD_CONTROL_5: { REGID_GSHEADER = r63.x | 0xfc00 }
|
||||
!+ fcfcfcfc VFD_CONTROL_3: { UNK0 = r63.x | REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
|
||||
!+ 000000fc VFD_CONTROL_4: { UNK0 = r63.x }
|
||||
!+ 0000fcfc VFD_CONTROL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
|
||||
+ 00000000 VFD_CONTROL_6: { 0 }
|
||||
!+ 00000001 VFD_MODE_CNTL: { BINNING_PASS }
|
||||
+ 00000000 VFD_MULTIVIEW_CNTL: { VIEWS = 0 }
|
||||
|
|
@ -1073,11 +1073,11 @@ t7 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
|
|||
!+ 00100000 VFD_FETCH[0].SIZE: 1048576
|
||||
!+ 0000000c VFD_FETCH[0].STRIDE: 12
|
||||
!+ c7400000 VFD_DECODE[0].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = FMT6_32_32_32_FLOAT | SWAP = WZYX | UNK30 | FLOAT }
|
||||
!+ 00000001 VFD_DECODE[0].STEP_RATE: 0x1
|
||||
!+ 00000001 VFD_DECODE[0].STEP_RATE: 1
|
||||
!+ 0000000f VFD_DEST_CNTL[0].INSTR: { WRITEMASK = 0xf | REGID = r0.x }
|
||||
!+ 00000001 SP_UNKNOWN_A0F8: 0x1
|
||||
!+ 80100080 SP_VS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
!+ 00000001 SP_VS_PRIMITIVE_CNTL: { OUT = 1 }
|
||||
!+ 80100080 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
!+ 00000001 SP_VS_PRIMITIVE_CNTL: { OUT = 1 | FLAGS_REGID = r0.x }
|
||||
!+ 00000f00 SP_VS_OUT[0].REG: { A_REGID = r0.x | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
+ 00000000 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 0 | OUTLOC1 = 0 | OUTLOC2 = 0 | OUTLOC3 = 0 }
|
||||
+ 00000000 SP_VS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
|
|
@ -1103,7 +1103,7 @@ t7 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
|
|||
+ 00000000 SP_DS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
+ 00000000 SP_GS_PRIM_SIZE: 0
|
||||
+ 00000000 SP_GS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
!+ 81100080 SP_FS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS | 0x1000000 }
|
||||
!+ 81100080 SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | UNK24 | MERGEDREGS }
|
||||
+ 00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
+ 00000000 SP_SRGB_CNTL: { 0 }
|
||||
!+ 0000000f SP_FS_RENDER_COMPONENTS: { RT0 = 0xf | RT1 = 0 | RT2 = 0 | RT3 = 0 | RT4 = 0 | RT5 = 0 | RT6 = 0 | RT7 = 0 }
|
||||
|
|
@ -1117,9 +1117,9 @@ t7 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
|
|||
!+ 000000fc SP_FS_OUTPUT[0x6].REG: { REGID = r63.x }
|
||||
!+ 000000fc SP_FS_OUTPUT[0x7].REG: { REGID = r63.x }
|
||||
!+ 00000031 SP_FS_MRT[0].REG: { COLOR_FORMAT = FMT6_8_8_8_X8_UNORM }
|
||||
!+ 00007fc0 SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | 0x7000 }
|
||||
!+ 00007fc0 SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | UNK12 = 0x7 }
|
||||
+ 00000000 SP_UNKNOWN_A9A8: 0
|
||||
!+ 00000005 SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | 0x4 }
|
||||
!+ 00000005 SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | UNK2 }
|
||||
!+ 00000100 SP_FS_CONFIG: { ENABLED | NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
+ 00000000 SP_IBO_COUNT: 0
|
||||
+ 00000000 SP_UNKNOWN_AE00: 0
|
||||
|
|
@ -1132,9 +1132,9 @@ t7 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
|
|||
!+ 00000004 SP_TP_DEST_MSAA_CNTL: { SAMPLES = MSAA_ONE | MSAA_DISABLE }
|
||||
+ 00000000 SP_TP_SAMPLE_CONFIG: { 0 }
|
||||
+ 00000000 SP_TP_WINDOW_OFFSET: { X = 0 | Y = 0 }
|
||||
!+ 000000a2 SP_TP_UNKNOWN_B309: 0xa2
|
||||
!+ 00100000 SP_UNKNOWN_B600: 0x100000
|
||||
!+ 00000044 SP_UNKNOWN_B605: 0x44
|
||||
!+ 000000a2 SP_TP_UNKNOWN_B309: 162
|
||||
!+ 00100000 TPL1_UNKNOWN_B600: 0x100000
|
||||
!+ 00000044 TPL1_UNKNOWN_B605: 68
|
||||
!+ 00000100 HLSQ_VS_CNTL: { CONSTLEN = 0 | ENABLED }
|
||||
+ 00000000 HLSQ_HS_CNTL: { CONSTLEN = 0 }
|
||||
+ 00000000 HLSQ_DS_CNTL: { CONSTLEN = 0 }
|
||||
|
|
@ -1144,7 +1144,7 @@ t7 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
|
|||
!+ fcfcfcfc HLSQ_CONTROL_2_REG: { FACEREGID = r63.x | SAMPLEID = r63.x | SAMPLEMASK = r63.x | SIZE = r63.x }
|
||||
!+ fcfcfcfc HLSQ_CONTROL_3_REG: { IJ_PERSP_PIXEL = r63.x | IJ_LINEAR_PIXEL = r63.x | IJ_PERSP_CENTROID = r63.x | IJ_LINEAR_CENTROID = r63.x }
|
||||
!+ fcfcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | XYCOORDREGID = r63.x | ZWCOORDREGID = r63.x }
|
||||
!+ 000000fc HLSQ_CONTROL_5_REG: 0xfc
|
||||
!+ 000000fc HLSQ_CONTROL_5_REG: { UNK0 = r63.x }
|
||||
!+ 000000ff HLSQ_INVALIDATE_CMD: { VS_STATE | HS_STATE | DS_STATE | GS_STATE | FS_STATE | CS_STATE | CS_IBO | GFX_IBO | CS_BINDLESS = 0 | GFX_BINDLESS = 0 }
|
||||
!+ 00000108 HLSQ_FS_CNTL: { CONSTLEN = 32 | ENABLED }
|
||||
+ 00000000 HLSQ_SHARED_CONSTS: { 0 }
|
||||
|
|
@ -1901,19 +1901,19 @@ t4 write SP_HS_OBJ_FIRST_EXEC_OFFSET (a833)
|
|||
SP_HS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
0000000001120000: 0000: 40a83301 00000000
|
||||
t4 write SP_FS_PREFETCH_CNTL (a99e)
|
||||
SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | 0x7000 }
|
||||
SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | UNK12 = 0x7 }
|
||||
0000000001120008: 0000: 40a99e01 00007fc0
|
||||
t4 write SP_UNKNOWN_A9A8 (a9a8)
|
||||
SP_UNKNOWN_A9A8: 0
|
||||
0000000001120010: 0000: 40a9a801 00000000
|
||||
t4 write SP_MODE_CONTROL (ab00)
|
||||
SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | 0x4 }
|
||||
SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | UNK2 }
|
||||
0000000001120018: 0000: 40ab0001 00000005
|
||||
t4 write SP_FS_OUTPUT_CNTL0 (a98c)
|
||||
SP_FS_OUTPUT_CNTL0: { DEPTH_REGID = r63.x | SAMPMASK_REGID = r63.x | STENCILREF_REGID = r63.x }
|
||||
0000000001120020: 0000: 40a98c01 fcfcfc00
|
||||
t4 write SP_VS_CTRL_REG0 (a800)
|
||||
SP_VS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
0000000001120028: 0000: 40a80001 80100080
|
||||
t4 write SP_VS_INSTRLEN (a824)
|
||||
SP_VS_INSTRLEN: 1
|
||||
|
|
@ -1965,7 +1965,7 @@ t4 write SP_HS_WAVE_INPUT_SIZE (a831)
|
|||
SP_HS_WAVE_INPUT_SIZE: 0
|
||||
0000000001120078: 0000: 48a83101 00000000
|
||||
t4 write SP_VS_PRIMITIVE_CNTL (a802)
|
||||
SP_VS_PRIMITIVE_CNTL: { OUT = 1 }
|
||||
SP_VS_PRIMITIVE_CNTL: { OUT = 1 | FLAGS_REGID = r0.x }
|
||||
0000000001120080: 0000: 48a80201 00000001
|
||||
t4 write VPC_CNTL_0 (9304)
|
||||
VPC_CNTL_0: { NUMNONPOSVAR = 0 | PRIMIDLOC = 255 | VIEWIDLOC = 255 }
|
||||
|
|
@ -1981,13 +1981,13 @@ t4 write HLSQ_CONTROL_1_REG (b982)
|
|||
HLSQ_CONTROL_2_REG: { FACEREGID = r63.x | SAMPLEID = r63.x | SAMPLEMASK = r63.x | SIZE = r63.x }
|
||||
HLSQ_CONTROL_3_REG: { IJ_PERSP_PIXEL = r63.x | IJ_LINEAR_PIXEL = r63.x | IJ_PERSP_CENTROID = r63.x | IJ_LINEAR_CENTROID = r63.x }
|
||||
HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | XYCOORDREGID = r4.w | ZWCOORDREGID = r5.y }
|
||||
HLSQ_CONTROL_5_REG: 0xfc
|
||||
HLSQ_CONTROL_5_REG: { UNK0 = r63.x }
|
||||
00000000011200a0: 0000: 40b98285 00000007 fcfcfcfc fcfcfcfc 1513fcfc 000000fc
|
||||
t4 write HLSQ_FS_CNTL_0 (b980)
|
||||
HLSQ_FS_CNTL_0: { THREADSIZE = THREAD128 }
|
||||
00000000011200b8: 0000: 48b98001 00000001
|
||||
t4 write SP_FS_CTRL_REG0 (a980)
|
||||
SP_FS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 19 | BRANCHSTACK = 2 | THREADSIZE = THREAD128 | VARYING | MERGEDREGS | 0x1000000 }
|
||||
SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 19 | BRANCHSTACK = 2 | THREADSIZE = THREAD128 | VARYING | UNK24 | MERGEDREGS }
|
||||
00000000011200c0: 0000: 40a98001 81508980
|
||||
t4 write SP_FS_OBJ_FIRST_EXEC_OFFSET (a982)
|
||||
SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
|
|
@ -4888,9 +4888,9 @@ t7 opcode: CP_LOAD_STATE6_FRAG (34) (4 dwords)
|
|||
t4 write VFD_CONTROL_1 (a001)
|
||||
VFD_CONTROL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
|
||||
VFD_CONTROL_2: { REGID_HSPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
|
||||
VFD_CONTROL_3: { REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x | 0xfc }
|
||||
VFD_CONTROL_4: 0xfc
|
||||
VFD_CONTROL_5: { REGID_GSHEADER = r63.x | 0xfc00 }
|
||||
VFD_CONTROL_3: { UNK0 = r63.x | REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
|
||||
VFD_CONTROL_4: { UNK0 = r63.x }
|
||||
VFD_CONTROL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
|
||||
VFD_CONTROL_6: { 0 }
|
||||
0000000001120174: 0000: 40a00186 fcfcfcfc 0000fcfc fcfcfcfc 000000fc 0000fcfc 00000000
|
||||
t4 write RB_DEPTH_PLANE_CNTL (8870)
|
||||
|
|
@ -5001,7 +5001,7 @@ t4 write VFD_FETCH[0].BASE (a010)
|
|||
0000000001116000: 0000: 40a01004 01016000 00000000 00100000 0000000c
|
||||
t4 write VFD_DECODE[0].INSTR (a090)
|
||||
VFD_DECODE[0].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = FMT6_32_32_32_FLOAT | SWAP = WZYX | UNK30 | FLOAT }
|
||||
VFD_DECODE[0].STEP_RATE: 0x1
|
||||
VFD_DECODE[0].STEP_RATE: 1
|
||||
0000000001116014: 0000: 48a09002 c7400000 00000001
|
||||
t4 write VFD_DEST_CNTL[0].INSTR (a0d0)
|
||||
VFD_DEST_CNTL[0].INSTR: { WRITEMASK = 0xf | REGID = r0.x }
|
||||
|
|
@ -5260,9 +5260,9 @@ t7 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
|
|||
+ 00000101 VFD_CONTROL_0: { FETCH_CNT = 1 | DECODE_CNT = 1 }
|
||||
+ fcfcfcfc VFD_CONTROL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
|
||||
+ 0000fcfc VFD_CONTROL_2: { REGID_HSPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
|
||||
+ fcfcfcfc VFD_CONTROL_3: { REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x | 0xfc }
|
||||
+ 000000fc VFD_CONTROL_4: 0xfc
|
||||
+ 0000fcfc VFD_CONTROL_5: { REGID_GSHEADER = r63.x | 0xfc00 }
|
||||
+ fcfcfcfc VFD_CONTROL_3: { UNK0 = r63.x | REGID_DSPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
|
||||
+ 000000fc VFD_CONTROL_4: { UNK0 = r63.x }
|
||||
+ 0000fcfc VFD_CONTROL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
|
||||
+ 00000000 VFD_CONTROL_6: { 0 }
|
||||
+ 00000000 VFD_INDEX_OFFSET: 0
|
||||
+ 00000000 VFD_INSTANCE_START_OFFSET: 0
|
||||
|
|
@ -5271,10 +5271,10 @@ t7 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
|
|||
+ 00100000 VFD_FETCH[0].SIZE: 1048576
|
||||
+ 0000000c VFD_FETCH[0].STRIDE: 12
|
||||
+ c7400000 VFD_DECODE[0].INSTR: { IDX = 0 | OFFSET = 0 | FORMAT = FMT6_32_32_32_FLOAT | SWAP = WZYX | UNK30 | FLOAT }
|
||||
+ 00000001 VFD_DECODE[0].STEP_RATE: 0x1
|
||||
+ 00000001 VFD_DECODE[0].STEP_RATE: 1
|
||||
+ 0000000f VFD_DEST_CNTL[0].INSTR: { WRITEMASK = 0xf | REGID = r0.x }
|
||||
+ 80100080 SP_VS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
+ 00000001 SP_VS_PRIMITIVE_CNTL: { OUT = 1 }
|
||||
+ 80100080 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 | THREADSIZE = THREAD128 | MERGEDREGS }
|
||||
+ 00000001 SP_VS_PRIMITIVE_CNTL: { OUT = 1 | FLAGS_REGID = r0.x }
|
||||
+ 00000f00 SP_VS_OUT[0].REG: { A_REGID = r0.x | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
|
||||
+ 00000000 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 0 | OUTLOC1 = 0 | OUTLOC2 = 0 | OUTLOC3 = 0 }
|
||||
!+ 01012000 SP_VS_OBJ_START: 0x1012000 base=1012000, offset=0, size=128
|
||||
|
|
@ -5299,7 +5299,7 @@ t7 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
|
|||
+ 00000000 SP_DS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
+ 00000000 SP_GS_PRIM_SIZE: 0
|
||||
+ 00000000 SP_GS_CONFIG: { NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
!+ 81508980 SP_FS_CTRL_REG0: { HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 19 | BRANCHSTACK = 2 | THREADSIZE = THREAD128 | VARYING | MERGEDREGS | 0x1000000 }
|
||||
!+ 81508980 SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 19 | BRANCHSTACK = 2 | THREADSIZE = THREAD128 | VARYING | UNK24 | MERGEDREGS }
|
||||
+ 00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
|
||||
!+ 01013000 SP_FS_OBJ_START: 0x1013000 base=1013000, offset=0, size=11264
|
||||
0000000001013000: 0000: 40400000 204cc000 00000000 204cc006 3e99999a 204cc004 20080014 42700008
|
||||
|
|
@ -6736,9 +6736,9 @@ t7 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
|
|||
!+ 00000004 SP_FS_OUTPUT[0x5].REG: { REGID = r1.x }
|
||||
!+ 00000004 SP_FS_OUTPUT[0x6].REG: { REGID = r1.x }
|
||||
!+ 00000004 SP_FS_OUTPUT[0x7].REG: { REGID = r1.x }
|
||||
+ 00007fc0 SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | 0x7000 }
|
||||
+ 00007fc0 SP_FS_PREFETCH_CNTL: { COUNT = 0 | UNK4 = r63.x | UNK12 = 0x7 }
|
||||
+ 00000000 SP_UNKNOWN_A9A8: 0
|
||||
+ 00000005 SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | 0x4 }
|
||||
+ 00000005 SP_MODE_CONTROL: { CONSTANT_DEMOTION_ENABLE | UNK2 }
|
||||
+ 00000100 SP_FS_CONFIG: { ENABLED | NTEX = 0 | NSAMP = 0 | NIBO = 0 }
|
||||
!+ 00000058 SP_FS_INSTRLEN: 88
|
||||
!+ 011160a0 SP_IBO: 0x11160a0 base=1116000, offset=160, size=388
|
||||
|
|
@ -6753,7 +6753,7 @@ t7 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
|
|||
+ fcfcfcfc HLSQ_CONTROL_2_REG: { FACEREGID = r63.x | SAMPLEID = r63.x | SAMPLEMASK = r63.x | SIZE = r63.x }
|
||||
+ fcfcfcfc HLSQ_CONTROL_3_REG: { IJ_PERSP_PIXEL = r63.x | IJ_LINEAR_PIXEL = r63.x | IJ_PERSP_CENTROID = r63.x | IJ_LINEAR_CENTROID = r63.x }
|
||||
!+ 1513fcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | XYCOORDREGID = r4.w | ZWCOORDREGID = r5.y }
|
||||
+ 000000fc HLSQ_CONTROL_5_REG: 0xfc
|
||||
+ 000000fc HLSQ_CONTROL_5_REG: { UNK0 = r63.x }
|
||||
+ 000000ff HLSQ_INVALIDATE_CMD: { VS_STATE | HS_STATE | DS_STATE | GS_STATE | FS_STATE | CS_STATE | CS_IBO | GFX_IBO | CS_BINDLESS = 0 | GFX_BINDLESS = 0 }
|
||||
+ 00000108 HLSQ_FS_CNTL: { CONSTLEN = 32 | ENABLED }
|
||||
0000000001d8f130: 0000: 70388003 00000186 00000001 00000004
|
||||
|
|
|
|||
|
|
@ -1358,10 +1358,8 @@ to upconvert to 32b float internally?
|
|||
<reg32 offset="0x062f" name="DBGC_CFG_DBGBUS_TRACE_BUF1"/>
|
||||
<reg32 offset="0x0630" name="DBGC_CFG_DBGBUS_TRACE_BUF2"/>
|
||||
<array offset="0x0CD8" name="VSC_PERFCTR_VSC_SEL" stride="1" length="2"/>
|
||||
<reg32 offset="0xBE05" name="HLSQ_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
|
||||
<reg32 offset="0xC800" name="HLSQ_DBG_AHB_READ_APERTURE"/>
|
||||
<reg32 offset="0xD000" name="HLSQ_DBG_READ_SEL"/>
|
||||
<reg32 offset="0xA601" name="VFD_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
|
||||
<reg32 offset="0x0E00" name="UCHE_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
|
||||
<reg32 offset="0x0E01" name="UCHE_MODE_CNTL"/>
|
||||
<reg32 offset="0x0E05" name="UCHE_WRITE_RANGE_MAX_LO"/>
|
||||
|
|
@ -1380,15 +1378,6 @@ to upconvert to 32b float internally?
|
|||
<bitfield high="7" low="0" name="PERFSEL"/>
|
||||
</reg32>
|
||||
<array offset="0x0E1C" name="UCHE_PERFCTR_UCHE_SEL" stride="1" length="12"/>
|
||||
<reg32 offset="0xAE01" name="SP_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
|
||||
<reg32 offset="0xAE02" name="SP_NC_MODE_CNTL"/>
|
||||
<reg32 offset="0xB601" name="TPL1_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
|
||||
<reg32 offset="0xB604" name="TPL1_NC_MODE_CNTL"/>
|
||||
<reg32 offset="0xB608" name="TPL1_BICUBIC_WEIGHTS_TABLE_0"/>
|
||||
<reg32 offset="0xB609" name="TPL1_BICUBIC_WEIGHTS_TABLE_1"/>
|
||||
<reg32 offset="0xB60A" name="TPL1_BICUBIC_WEIGHTS_TABLE_2"/>
|
||||
<reg32 offset="0xB60B" name="TPL1_BICUBIC_WEIGHTS_TABLE_3"/>
|
||||
<reg32 offset="0xB60C" name="TPL1_BICUBIC_WEIGHTS_TABLE_4"/>
|
||||
<reg32 offset="0x3000" name="VBIF_VERSION"/>
|
||||
<reg32 offset="0x3001" name="VBIF_CLKON">
|
||||
<bitfield pos="1" name="FORCE_ON_TESTBUS" type="boolean"/>
|
||||
|
|
@ -1453,11 +1442,6 @@ to upconvert to 32b float internally?
|
|||
<reg32 offset="0x3cd0" name="GBIF_PWR_CNT_HIGH1"/>
|
||||
<reg32 offset="0x3cd1" name="GBIF_PWR_CNT_HIGH2"/>
|
||||
|
||||
<!-- move/rename these.. -->
|
||||
|
||||
<reg32 offset="0xb4d1" name="SP_WINDOW_OFFSET" type="adreno_reg_xy"/>
|
||||
<reg32 offset="0xb307" name="SP_TP_WINDOW_OFFSET" type="adreno_reg_xy"/>
|
||||
|
||||
<reg32 offset="0x0c02" name="VSC_BIN_SIZE">
|
||||
<bitfield name="WIDTH" low="0" high="7" shr="5" type="uint"/>
|
||||
<bitfield name="HEIGHT" low="8" high="16" shr="4" type="uint"/>
|
||||
|
|
@ -2199,9 +2183,14 @@ to upconvert to 32b float internally?
|
|||
<!-- the rest is only for src -->
|
||||
<bitfield name="SAMPLES" low="14" high="15" type="a3xx_msaa_samples"/>
|
||||
<bitfield name="FILTER" pos="16" type="boolean"/>
|
||||
<bitfield name="UNK17" pos="17" type="boolean"/>
|
||||
<bitfield name="SAMPLES_AVERAGE" pos="18" type="boolean"/>
|
||||
<bitfield name="UNK19" pos="19" type="boolean"/>
|
||||
<bitfield name="UNK20" pos="20" type="boolean"/>
|
||||
<bitfield name="UNK21" pos="21" type="boolean"/>
|
||||
<bitfield name="UNK22" pos="22" type="boolean"/>
|
||||
<bitfield name="UNK23" low="23" high="26"/>
|
||||
<bitfield name="UNK28" pos="28" type="boolean"/>
|
||||
</bitset>
|
||||
|
||||
<!-- 0x8c02-0x8c16 invalid -->
|
||||
|
|
@ -2618,14 +2607,17 @@ to upconvert to 32b float internally?
|
|||
<bitfield name="REGID_INVOCATIONID" low="8" high="15" type="a3xx_regid"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xa003" name="VFD_CONTROL_3">
|
||||
<bitfield name="UNK0" low="0" high="7" type="a3xx_regid"/>
|
||||
<bitfield name="REGID_DSPATCHID" low="8" high="15" type="a3xx_regid"/>
|
||||
<bitfield name="REGID_TESSX" low="16" high="23" type="a3xx_regid"/>
|
||||
<bitfield name="REGID_TESSY" low="24" high="31" type="a3xx_regid"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xa004" name="VFD_CONTROL_4">
|
||||
<bitfield name="UNK0" low="0" high="7" type="a3xx_regid"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xa005" name="VFD_CONTROL_5">
|
||||
<bitfield name="REGID_GSHEADER" low="0" high="7" type="a3xx_regid"/>
|
||||
<bitfield name="UNK8" low="8" high="15" type="a3xx_regid"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xa006" name="VFD_CONTROL_6">
|
||||
<!--
|
||||
|
|
@ -2638,6 +2630,8 @@ to upconvert to 32b float internally?
|
|||
|
||||
<reg32 offset="0xa007" name="VFD_MODE_CNTL">
|
||||
<bitfield name="BINNING_PASS" pos="0" type="boolean"/>
|
||||
<bitfield name="UNK1" pos="1" type="boolean"/>
|
||||
<bitfield name="UNK2" pos="2" type="boolean"/>
|
||||
</reg32>
|
||||
|
||||
<reg32 offset="0xa008" name="VFD_MULTIVIEW_CNTL" type="a6xx_multiview_cntl"/>
|
||||
|
|
@ -2653,7 +2647,7 @@ to upconvert to 32b float internally?
|
|||
<array offset="0xa010" name="VFD_FETCH" stride="4" length="32">
|
||||
<reg64 offset="0x0" name="BASE" type="address" align="1"/>
|
||||
<reg32 offset="0x2" name="SIZE" type="uint"/>
|
||||
<reg32 offset="0x3" name="STRIDE" type="uint"/>
|
||||
<reg32 offset="0x3" name="STRIDE" low="0" high="11" type="uint"/>
|
||||
</array>
|
||||
<array offset="0xa090" name="VFD_DECODE" stride="2" length="32">
|
||||
<reg32 offset="0x0" name="INSTR">
|
||||
|
|
@ -2666,7 +2660,7 @@ to upconvert to 32b float internally?
|
|||
<bitfield name="UNK30" pos="30" type="boolean"/>
|
||||
<bitfield name="FLOAT" pos="31" type="boolean"/>
|
||||
</reg32>
|
||||
<reg32 offset="0x1" name="STEP_RATE"/>
|
||||
<reg32 offset="0x1" name="STEP_RATE" type="uint"/>
|
||||
</array>
|
||||
<array offset="0xa0d0" name="VFD_DEST_CNTL" stride="1" length="32">
|
||||
<reg32 offset="0x0" name="INSTR">
|
||||
|
|
@ -2675,8 +2669,8 @@ to upconvert to 32b float internally?
|
|||
</reg32>
|
||||
</array>
|
||||
|
||||
<!-- always 0x1 ? -->
|
||||
<reg32 offset="0xa0f8" name="SP_UNKNOWN_A0F8"/>
|
||||
<!-- 0 on 618, 1 on 630/640, 2 on a650? (SP count - 1) ? -->
|
||||
<reg32 offset="0xa0f8" name="SP_UNKNOWN_A0F8" low="0" high="2"/>
|
||||
|
||||
<!--
|
||||
Note: this seems to always be paired with another bit in another
|
||||
|
|
@ -2686,9 +2680,12 @@ to upconvert to 32b float internally?
|
|||
<value value="0" name="THREAD64"/>
|
||||
<value value="1" name="THREAD128"/>
|
||||
</enum>
|
||||
<reg32 offset="0xa601" name="VFD_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
|
||||
<array offset="0xa610" name="VFD_PERFCTR_VFD_SEL" stride="1" length="8"/>
|
||||
|
||||
<bitset name="a6xx_sp_xs_ctrl_reg0" inline="yes">
|
||||
<!-- if set to SINGLE, only use 1 concurrent wave on each SP -->
|
||||
<bitfield name="THREADMODE" pos="0" type="a3xx_threadmode"/>
|
||||
<!--
|
||||
When b31 set we just see FULLREGFOOTPRINT set. The pattern of
|
||||
used registers is a bit odd too:
|
||||
|
|
@ -2705,13 +2702,29 @@ to upconvert to 32b float internally?
|
|||
-->
|
||||
<bitfield name="HALFREGFOOTPRINT" low="1" high="6" type="uint"/>
|
||||
<bitfield name="FULLREGFOOTPRINT" low="7" high="12" type="uint"/>
|
||||
<!-- could it be a low bit of branchstack? -->
|
||||
<bitfield name="UNK13" pos="13" type="boolean"/>
|
||||
<!-- seems to be nesting level for flow control:.. -->
|
||||
<bitfield name="BRANCHSTACK" low="14" high="19" type="uint"/>
|
||||
<!-- note: THREADSIZE known to work for at least FS/CS -->
|
||||
<bitfield name="THREADSIZE" pos="20" type="a6xx_threadsize"/>
|
||||
<!-- no more fields for HS/DS/GS
|
||||
VS has bit21, CS has bit21-bit23, FS has all bits except bit29/bit30 -->
|
||||
<!-- VS: ??? (blob has it set)
|
||||
CS: seems to make SP use less concurrent threads when possible?
|
||||
FS: ??? -->
|
||||
<bitfield name="UNK21" pos="21" type="boolean"/>
|
||||
<!-- CS: has a small impact on performance, not clear what it does
|
||||
FS: set to true when varyings are used -->
|
||||
<bitfield name="VARYING" pos="22" type="boolean"/>
|
||||
<!-- set when dFdxFine/dFdyFine is used -->
|
||||
<!-- CS: separate prologue-only threads?
|
||||
FS: set when fine derivates are used -->
|
||||
<bitfield name="DIFF_FINE" pos="23" type="boolean"/>
|
||||
<!-- note: vk blob uses bit24 -->
|
||||
<bitfield name="UNK24" pos="24" type="boolean"/>
|
||||
<bitfield name="UNK25" pos="25" type="boolean"/>
|
||||
<bitfield name="PIXLODENABLE" pos="26" type="boolean"/>
|
||||
<bitfield name="UNK27" low="27" high="28"/>
|
||||
<bitfield name="MERGEDREGS" pos="31" type="boolean"/>
|
||||
</bitset>
|
||||
|
||||
|
|
@ -2732,20 +2745,22 @@ to upconvert to 32b float internally?
|
|||
-->
|
||||
<bitfield name="NTEX" low="9" high="16" type="uint"/>
|
||||
<bitfield name="NSAMP" low="17" high="21" type="uint"/>
|
||||
<bitfield name="NIBO" low="22" high="29" type="uint"/>
|
||||
<bitfield name="NIBO" low="22" high="28" type="uint"/>
|
||||
</bitset>
|
||||
|
||||
<bitset name="a6xx_sp_xs_prim_cntl" inline="yes">
|
||||
<!-- # of VS outputs including pos/psize -->
|
||||
<bitfield name="OUT" low="0" high="5" type="uint"/>
|
||||
<!-- FLAGS_REGID only for GS -->
|
||||
<bitfield name="FLAGS_REGID" low="6" high="13" type="a3xx_regid"/>
|
||||
</bitset>
|
||||
|
||||
<reg32 offset="0xa800" name="SP_VS_CTRL_REG0" type="a6xx_sp_xs_ctrl_reg0"/>
|
||||
<reg32 offset="0xa801" name="SP_VS_BRANCH_COND" type="hex">
|
||||
<!--
|
||||
bitmask of true/false conditions for VS brac.N instructions,
|
||||
bit N corresponds to brac.N
|
||||
-->
|
||||
</reg32>
|
||||
<reg32 offset="0xa802" name="SP_VS_PRIMITIVE_CNTL">
|
||||
<!-- # of VS outputs including pos/psize -->
|
||||
<bitfield name="OUT" low="0" high="5" type="uint"/>
|
||||
</reg32>
|
||||
<!-- bitmask of true/false conditions for VS brac.N instructions,
|
||||
bit N corresponds to brac.N -->
|
||||
<reg32 offset="0xa801" name="SP_VS_BRANCH_COND" type="hex"/>
|
||||
<!-- # of VS outputs including pos/psize -->
|
||||
<reg32 offset="0xa802" name="SP_VS_PRIMITIVE_CNTL" type="a6xx_sp_xs_prim_cntl"/>
|
||||
<array offset="0xa803" name="SP_VS_OUT" stride="1" length="16">
|
||||
<reg32 offset="0x0" name="REG">
|
||||
<bitfield name="A_REGID" low="0" high="7" type="a3xx_regid"/>
|
||||
|
|
@ -2835,9 +2850,9 @@ to upconvert to 32b float internally?
|
|||
<reg32 offset="0xa81e" name="SP_VS_PVT_MEM_PARAM" type="a6xx_sp_xs_pvt_mem_param"/>
|
||||
<reg64 offset="0xa81f" name="SP_VS_PVT_MEM_ADDR" type="waddress" align="32"/>
|
||||
<reg32 offset="0xa821" name="SP_VS_PVT_MEM_SIZE" type="a6xx_sp_xs_pvt_mem_size"/>
|
||||
<reg32 offset="0xa822" name="SP_VS_TEX_COUNT" type="uint"/>
|
||||
<reg32 offset="0xa822" name="SP_VS_TEX_COUNT" low="0" high="7" type="uint"/>
|
||||
<reg32 offset="0xa823" name="SP_VS_CONFIG" type="a6xx_sp_xs_config"/>
|
||||
<reg32 offset="0xa824" name="SP_VS_INSTRLEN" type="uint"/>
|
||||
<reg32 offset="0xa824" name="SP_VS_INSTRLEN" low="0" high="27" type="uint"/>
|
||||
<reg32 offset="0xa825" name="SP_VS_PVT_MEM_HW_STACK_OFFSET" low="0" high="18" shr="11"/>
|
||||
|
||||
<reg32 offset="0xa830" name="SP_HS_CTRL_REG0" type="a6xx_sp_xs_ctrl_reg0"/>
|
||||
|
|
@ -2848,22 +2863,24 @@ to upconvert to 32b float internally?
|
|||
64 (wavesize) * 64 (SP_HS_WAVE_INPUT_SIZE) * 4 = 16k
|
||||
-->
|
||||
<reg32 offset="0xa831" name="SP_HS_WAVE_INPUT_SIZE" low="0" high="7" type="uint"/>
|
||||
<reg32 offset="0xa832" name="SP_HS_BRANCH_COND" type="hex"/>
|
||||
|
||||
<!-- TODO: exact same layout as 0xa81b-0xa825 -->
|
||||
<reg32 offset="0xa833" name="SP_HS_OBJ_FIRST_EXEC_OFFSET" type="uint"/>
|
||||
<reg64 offset="0xa834" name="SP_HS_OBJ_START" type="address" align="32"/>
|
||||
<reg32 offset="0xa836" name="SP_HS_PVT_MEM_PARAM" type="a6xx_sp_xs_pvt_mem_param"/>
|
||||
<reg64 offset="0xa837" name="SP_HS_PVT_MEM_ADDR" type="waddress" align="32"/>
|
||||
<reg32 offset="0xa839" name="SP_HS_PVT_MEM_SIZE" type="a6xx_sp_xs_pvt_mem_size"/>
|
||||
<reg32 offset="0xa83a" name="SP_HS_TEX_COUNT" type="uint"/>
|
||||
<reg32 offset="0xa83a" name="SP_HS_TEX_COUNT" low="0" high="7" type="uint"/>
|
||||
<reg32 offset="0xa83b" name="SP_HS_CONFIG" type="a6xx_sp_xs_config"/>
|
||||
<reg32 offset="0xa83c" name="SP_HS_INSTRLEN" type="uint"/>
|
||||
<reg32 offset="0xa83c" name="SP_HS_INSTRLEN" low="0" high="27" type="uint"/>
|
||||
<reg32 offset="0xa83d" name="SP_HS_PVT_MEM_HW_STACK_OFFSET" low="0" high="18" shr="11"/>
|
||||
|
||||
<reg32 offset="0xa840" name="SP_DS_CTRL_REG0" type="a6xx_sp_xs_ctrl_reg0"/>
|
||||
<reg32 offset="0xa842" name="SP_DS_PRIMITIVE_CNTL">
|
||||
<!-- # of DS outputs including pos/psize -->
|
||||
<bitfield name="OUT" low="0" high="5" type="uint"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xa841" name="SP_DS_BRANCH_COND" type="hex"/>
|
||||
|
||||
<!-- TODO: exact same layout as 0xa802-0xa81a -->
|
||||
<reg32 offset="0xa842" name="SP_DS_PRIMITIVE_CNTL" type="a6xx_sp_xs_prim_cntl"/>
|
||||
<array offset="0xa843" name="SP_DS_OUT" stride="1" length="16">
|
||||
<reg32 offset="0x0" name="REG">
|
||||
<bitfield name="A_REGID" low="0" high="7" type="a3xx_regid"/>
|
||||
|
|
@ -2881,33 +2898,23 @@ to upconvert to 32b float internally?
|
|||
</reg32>
|
||||
</array>
|
||||
|
||||
<!-- TODO: exact same layout as 0xa81b-0xa825 -->
|
||||
<reg32 offset="0xa85b" name="SP_DS_OBJ_FIRST_EXEC_OFFSET" type="uint"/>
|
||||
<reg64 offset="0xa85c" name="SP_DS_OBJ_START" type="address" align="32"/>
|
||||
<reg32 offset="0xa85e" name="SP_DS_PVT_MEM_PARAM" type="a6xx_sp_xs_pvt_mem_param"/>
|
||||
<reg64 offset="0xa85f" name="SP_DS_PVT_MEM_ADDR" type="waddress" align="32"/>
|
||||
<reg32 offset="0xa861" name="SP_DS_PVT_MEM_SIZE" type="a6xx_sp_xs_pvt_mem_size"/>
|
||||
<reg32 offset="0xa862" name="SP_DS_TEX_COUNT" type="uint"/>
|
||||
<reg32 offset="0xa862" name="SP_DS_TEX_COUNT" low="0" high="7" type="uint"/>
|
||||
<reg32 offset="0xa863" name="SP_DS_CONFIG" type="a6xx_sp_xs_config"/>
|
||||
<reg32 offset="0xa864" name="SP_DS_INSTRLEN" type="uint"/>
|
||||
<reg32 offset="0xa864" name="SP_DS_INSTRLEN" low="0" high="27" type="uint"/>
|
||||
<reg32 offset="0xa865" name="SP_DS_PVT_MEM_HW_STACK_OFFSET" low="0" high="18" shr="11"/>
|
||||
|
||||
<reg32 offset="0xa870" name="SP_GS_CTRL_REG0" type="a6xx_sp_xs_ctrl_reg0"/>
|
||||
<reg32 offset="0xa871" name="SP_GS_PRIM_SIZE">
|
||||
<!-- size of output of previous stage -->
|
||||
</reg32>
|
||||
<reg32 offset="0xa872" name="SP_GS_BRANCH_COND" type="hex">
|
||||
<!--
|
||||
bitmask of true/false conditions for FS brac.N instructions,
|
||||
bit N corresponds to brac.N
|
||||
-->
|
||||
</reg32>
|
||||
|
||||
<reg32 offset="0xa873" name="SP_GS_PRIMITIVE_CNTL">
|
||||
<!-- # of VS outputs including pos/psize -->
|
||||
<bitfield name="OUT" low="0" high="5" type="uint"/>
|
||||
<bitfield name="FLAGS_REGID" low="6" high="13" type="a3xx_regid"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xa871" name="SP_GS_PRIM_SIZE" low="0" high="7" type="uint"/> <!-- size of output of previous stage -->
|
||||
<reg32 offset="0xa872" name="SP_GS_BRANCH_COND" type="hex"/>
|
||||
|
||||
<!-- TODO: exact same layout as 0xa802-0xa81a -->
|
||||
<reg32 offset="0xa873" name="SP_GS_PRIMITIVE_CNTL" type="a6xx_sp_xs_prim_cntl"/>
|
||||
<array offset="0xa874" name="SP_GS_OUT" stride="1" length="16">
|
||||
<reg32 offset="0x0" name="REG">
|
||||
<bitfield name="A_REGID" low="0" high="7" type="a3xx_regid"/>
|
||||
|
|
@ -2926,14 +2933,15 @@ to upconvert to 32b float internally?
|
|||
</reg32>
|
||||
</array>
|
||||
|
||||
<!-- TODO: exact same layout as 0xa81b-0xa825 -->
|
||||
<reg32 offset="0xa88c" name="SP_GS_OBJ_FIRST_EXEC_OFFSET" type="uint"/>
|
||||
<reg64 offset="0xa88d" name="SP_GS_OBJ_START" type="address" align="32"/>
|
||||
<reg32 offset="0xa88f" name="SP_GS_PVT_MEM_PARAM" type="a6xx_sp_xs_pvt_mem_param"/>
|
||||
<reg64 offset="0xa890" name="SP_GS_PVT_MEM_ADDR" type="waddress" align="32"/>
|
||||
<reg32 offset="0xa892" name="SP_GS_PVT_MEM_SIZE" type="a6xx_sp_xs_pvt_mem_size"/>
|
||||
<reg32 offset="0xa893" name="SP_GS_TEX_COUNT" type="uint"/>
|
||||
<reg32 offset="0xa893" name="SP_GS_TEX_COUNT" low="0" high="7" type="uint"/>
|
||||
<reg32 offset="0xa894" name="SP_GS_CONFIG" type="a6xx_sp_xs_config"/>
|
||||
<reg32 offset="0xa895" name="SP_GS_INSTRLEN" type="uint"/>
|
||||
<reg32 offset="0xa895" name="SP_GS_INSTRLEN" low="0" high="27" type="uint"/>
|
||||
<reg32 offset="0xa896" name="SP_GS_PVT_MEM_HW_STACK_OFFSET" low="0" high="18" shr="11"/>
|
||||
|
||||
<reg64 offset="0xa8a0" name="SP_VS_TEX_SAMP" type="address" align="16"/>
|
||||
|
|
@ -2945,14 +2953,10 @@ to upconvert to 32b float internally?
|
|||
<reg64 offset="0xa8ac" name="SP_DS_TEX_CONST" type="address" align="64"/>
|
||||
<reg64 offset="0xa8ae" name="SP_GS_TEX_CONST" type="address" align="64"/>
|
||||
|
||||
<reg32 offset="0xa980" name="SP_FS_CTRL_REG0" type="a6xx_sp_xs_ctrl_reg0"/>
|
||||
<reg32 offset="0xa981" name="SP_FS_BRANCH_COND" type="hex">
|
||||
<!--
|
||||
bitmask of true/false conditions for FS brac.N instructions,
|
||||
bit N corresponds to brac.N
|
||||
-->
|
||||
</reg32>
|
||||
<!-- TODO: 4 unknown bool registers 0xa8c0-0xa8c3 -->
|
||||
|
||||
<reg32 offset="0xa980" name="SP_FS_CTRL_REG0" type="a6xx_sp_xs_ctrl_reg0"/>
|
||||
<reg32 offset="0xa981" name="SP_FS_BRANCH_COND" type="hex"/>
|
||||
<reg32 offset="0xa982" name="SP_FS_OBJ_FIRST_EXEC_OFFSET" type="uint"/>
|
||||
<reg64 offset="0xa983" name="SP_FS_OBJ_START" type="address" align="32"/>
|
||||
<reg32 offset="0xa985" name="SP_FS_PVT_MEM_PARAM" type="a6xx_sp_xs_pvt_mem_param"/>
|
||||
|
|
@ -2996,11 +3000,20 @@ to upconvert to 32b float internally?
|
|||
<bitfield name="MRT" low="0" high="3" type="uint"/>
|
||||
</reg32>
|
||||
|
||||
<array offset="0xa98e" name="SP_FS_OUTPUT" stride="1" length="8">
|
||||
<doc>per MRT</doc>
|
||||
<reg32 offset="0x0" name="REG">
|
||||
<bitfield name="REGID" low="0" high="7" type="a3xx_regid"/>
|
||||
<bitfield name="HALF_PRECISION" pos="8" type="boolean"/>
|
||||
</reg32>
|
||||
</array>
|
||||
|
||||
<array offset="0xa996" name="SP_FS_MRT" stride="1" length="8">
|
||||
<reg32 offset="0" name="REG">
|
||||
<bitfield name="COLOR_FORMAT" low="0" high="7" type="a6xx_format"/>
|
||||
<bitfield name="COLOR_SINT" pos="8" type="boolean"/>
|
||||
<bitfield name="COLOR_UINT" pos="9" type="boolean"/>
|
||||
<bitfield name="UNK10" pos="10" type="boolean"/>
|
||||
</reg32>
|
||||
</array>
|
||||
|
||||
|
|
@ -3010,6 +3023,7 @@ to upconvert to 32b float internally?
|
|||
<!-- b3 set if no other use of varyings in the shader itself.. maybe alternative to dummy bary.f? -->
|
||||
<bitfield name="UNK3" pos="3" type="boolean"/>
|
||||
<bitfield name="UNK4" low="4" high="11" type="a3xx_regid"/>
|
||||
<bitfield name="UNK12" low="12" high="14"/>
|
||||
</reg32>
|
||||
<array offset="0xa99f" name="SP_FS_PREFETCH" stride="1" length="4">
|
||||
<reg32 offset="0" name="CMD">
|
||||
|
|
@ -3029,24 +3043,24 @@ to upconvert to 32b float internally?
|
|||
<bitfield name="CMD" low="27" high="31"/>
|
||||
</reg32>
|
||||
</array>
|
||||
|
||||
<!-- TODO confirm that this is actually an array -->
|
||||
<array offset="0xa9a3" name="SP_FS_BINDLESS_PREFETCH" stride="1" length="4">
|
||||
<reg32 offset="0" name="CMD">
|
||||
<bitfield name="SAMP_ID" low="0" high="7" type="uint"/>
|
||||
<bitfield name="TEX_ID" low="16" high="23" type="uint"/>
|
||||
<bitfield name="SAMP_ID" low="0" high="15" type="uint"/>
|
||||
<bitfield name="TEX_ID" low="16" high="31" type="uint"/>
|
||||
</reg32>
|
||||
</array>
|
||||
|
||||
<reg32 offset="0xa9a7" name="SP_FS_TEX_COUNT" type="uint"/>
|
||||
|
||||
<!-- always 0x0 ? -->
|
||||
<reg32 offset="0xa9a8" name="SP_UNKNOWN_A9A8"/>
|
||||
|
||||
<reg32 offset="0xa9a7" name="SP_FS_TEX_COUNT" low="0" high="7" type="uint"/>
|
||||
<reg32 offset="0xa9a8" name="SP_UNKNOWN_A9A8" low="0" high="16" /> <!-- always 0x0 ? -->
|
||||
<reg32 offset="0xa9a9" name="SP_FS_PVT_MEM_HW_STACK_OFFSET" low="0" high="18" shr="11"/>
|
||||
|
||||
<!-- TODO: unknown bool register at 0xa9aa, likely same as 0xa8c0-0xa8c3 but for FS -->
|
||||
|
||||
|
||||
|
||||
|
||||
<reg32 offset="0xa9b0" name="SP_CS_CTRL_REG0" type="a6xx_sp_xs_ctrl_reg0"/>
|
||||
<!-- set for compute shaders, always 0x41 -->
|
||||
<reg32 offset="0xa9b1" name="SP_CS_UNKNOWN_A9B1" type="uint">
|
||||
<reg32 offset="0xa9b1" name="SP_CS_UNKNOWN_A9B1">
|
||||
<doc>
|
||||
bit 0 seems to toggle between 2k and 32k of shared storage
|
||||
the ldl/stl offset seems to be rewritten to 0 when it is beyond
|
||||
|
|
@ -3054,31 +3068,18 @@ to upconvert to 32b float internally?
|
|||
64k (and has 36k of storage on A640 - reads between 36k-64k
|
||||
always return 0)
|
||||
</doc>
|
||||
<bitfield name="SHARED_SIZE_2K" pos="0" type="uint"/>
|
||||
<bitfield name="SHARED_SIZE_2K" pos="0" type="boolean"/>
|
||||
<bitfield name="UNK1" low="1" high="6" type="uint"/>
|
||||
</reg32>
|
||||
|
||||
<reg32 offset="0xa9ba" name="SP_CS_TEX_COUNT" type="uint"/>
|
||||
|
||||
<array offset="0xa9e8" name="SP_CS_BINDLESS_BASE" stride="2" length="5">
|
||||
<reg64 offset="0" name="ADDR" type="waddress"/>
|
||||
</array>
|
||||
|
||||
<array offset="0xa98e" name="SP_FS_OUTPUT" stride="1" length="8">
|
||||
<doc>per MRT</doc>
|
||||
<reg32 offset="0x0" name="REG">
|
||||
<bitfield name="REGID" low="0" high="7" type="a3xx_regid"/>
|
||||
<bitfield name="HALF_PRECISION" pos="8" type="boolean"/>
|
||||
</reg32>
|
||||
</array>
|
||||
|
||||
<reg32 offset="0xa9b0" name="SP_CS_CTRL_REG0" type="a6xx_sp_xs_ctrl_reg0"/>
|
||||
<reg32 offset="0xa9b2" name="SP_CS_BRANCH_COND" type="hex"/>
|
||||
<reg32 offset="0xa9b3" name="SP_CS_OBJ_FIRST_EXEC_OFFSET" type="uint"/>
|
||||
<reg64 offset="0xa9b4" name="SP_CS_OBJ_START" type="address" align="32"/>
|
||||
<reg32 offset="0xa9b6" name="SP_CS_PVT_MEM_PARAM" type="a6xx_sp_xs_pvt_mem_param"/>
|
||||
<reg64 offset="0xa9b7" name="SP_CS_PVT_MEM_ADDR" align="32"/>
|
||||
<reg32 offset="0xa9b9" name="SP_CS_PVT_MEM_SIZE" type="a6xx_sp_xs_pvt_mem_size"/>
|
||||
<reg32 offset="0xa9ba" name="SP_CS_TEX_COUNT" low="0" high="7" type="uint"/>
|
||||
<reg32 offset="0xa9bb" name="SP_CS_CONFIG" type="a6xx_sp_xs_config"/>
|
||||
<reg32 offset="0xa9bc" name="SP_CS_INSTRLEN" type="uint"/>
|
||||
<reg32 offset="0xa9bc" name="SP_CS_INSTRLEN" low="0" high="27" type="uint"/>
|
||||
<reg32 offset="0xa9bd" name="SP_CS_PVT_MEM_HW_STACK_OFFSET" low="0" high="18" shr="11">
|
||||
<doc>
|
||||
This seems to be be the equivalent of HWSTACKOFFSET in
|
||||
|
|
@ -3089,17 +3090,24 @@ to upconvert to 32b float internally?
|
|||
</doc>
|
||||
</reg32>
|
||||
|
||||
<!-- TODO: two 64kb aligned addresses at a9d0/a9d2 -->
|
||||
|
||||
<reg64 offset="0xa9e0" name="SP_FS_TEX_SAMP" type="address" align="16"/>
|
||||
<reg64 offset="0xa9e2" name="SP_CS_TEX_SAMP" type="address" align="16"/>
|
||||
<reg64 offset="0xa9e4" name="SP_FS_TEX_CONST" type="address" align="64"/>
|
||||
<reg64 offset="0xa9e6" name="SP_CS_TEX_CONST" type="address" align="64"/>
|
||||
|
||||
<array offset="0xa9e8" name="SP_CS_BINDLESS_BASE" stride="2" length="5">
|
||||
<!-- TODO: probably align=64 with 6 flags bits in the low bits ? -->
|
||||
<reg64 offset="0" name="ADDR" type="address"/>
|
||||
</array>
|
||||
|
||||
<!--
|
||||
IBO state for compute shader:
|
||||
-->
|
||||
<reg64 offset="0xa9f2" name="SP_CS_IBO" type="address" align="16"/>
|
||||
<reg32 offset="0xaa00" name="SP_CS_IBO_COUNT" type="uint"/>
|
||||
<reg32 offset="0xaa00" name="SP_CS_IBO_COUNT" low="0" high="6" type="uint"/>
|
||||
|
||||
<!-- always 0x5 ? -->
|
||||
<reg32 offset="0xab00" name="SP_MODE_CONTROL">
|
||||
<!--
|
||||
When set, half register loads from the constant file will
|
||||
|
|
@ -3110,13 +3118,17 @@ to upconvert to 32b float internally?
|
|||
file (so hc0.y loads the top 16 bits of the value of c0.x)
|
||||
-->
|
||||
<bitfield name="CONSTANT_DEMOTION_ENABLE" pos="0" type="boolean"/>
|
||||
<bitfield name="UNK1" pos="1" type="boolean"/> <!-- never set by VK blob -->
|
||||
<bitfield name="UNK2" pos="2" type="boolean"/> <!-- always set by VK blob -->
|
||||
<bitfield name="SHARED_CONSTS_ENABLE" pos="3" type="boolean"/> <!-- see HLSQ_SHARED_CONSTS -->
|
||||
</reg32>
|
||||
|
||||
<reg32 offset="0xab04" name="SP_FS_CONFIG" type="a6xx_sp_xs_config"/>
|
||||
<reg32 offset="0xab05" name="SP_FS_INSTRLEN" type="uint"/>
|
||||
<reg32 offset="0xab05" name="SP_FS_INSTRLEN" low="0" high="27" type="uint"/>
|
||||
|
||||
<array offset="0xab10" name="SP_BINDLESS_BASE" stride="2" length="5">
|
||||
<reg64 offset="0" name="ADDR" type="waddress"/>
|
||||
<!-- TODO: probably align=64 with 6 flags bits in the low bits? -->
|
||||
<reg64 offset="0" name="ADDR" type="address"/>
|
||||
</array>
|
||||
|
||||
<!--
|
||||
|
|
@ -3124,7 +3136,7 @@ to upconvert to 32b float internally?
|
|||
instructions VS/HS/DS/GS/FS. See SP_CS_IBO_* for compute shaders.
|
||||
-->
|
||||
<reg64 offset="0xab1a" name="SP_IBO" type="address" align="16"/>
|
||||
<reg32 offset="0xab20" name="SP_IBO_COUNT" type="uint"/>
|
||||
<reg32 offset="0xab20" name="SP_IBO_COUNT" low="0" high="6" type="uint"/>
|
||||
|
||||
<reg32 offset="0xacc0" name="SP_2D_DST_FORMAT">
|
||||
<bitfield name="NORM" pos="0" type="boolean"/>
|
||||
|
|
@ -3139,11 +3151,14 @@ to upconvert to 32b float internally?
|
|||
<bitfield name="MASK" low="12" high="15"/>
|
||||
</reg32>
|
||||
|
||||
<!-- always 0x0 -->
|
||||
<reg32 offset="0xae00" name="SP_UNKNOWN_AE00"/>
|
||||
|
||||
<reg32 offset="0xae01" name="SP_ADDR_MODE_CNTL" pos="0" type="a5xx_address_mode"/>
|
||||
<reg32 offset="0xae02" name="SP_NC_MODE_CNTL">
|
||||
<!-- TODO: valid bits 0x3c3f, see kernel -->
|
||||
</reg32>
|
||||
<reg32 offset="0xae03" name="SP_UNKNOWN_AE03"/>
|
||||
<reg32 offset="0xae04" name="SP_UNKNOWN_AE04"/>
|
||||
<reg32 offset="0xae04" name="SP_UNKNOWN_AE04" low="0" high="3"/> <!-- 0x8 or 0 ? -->
|
||||
|
||||
<reg32 offset="0xae0f" name="SP_PERFCTR_ENABLE">
|
||||
<!-- some perfcntrs are affected by a per-stage enable bit
|
||||
(PERF_SP_ALU_WORKING_CYCLES for example)
|
||||
|
|
@ -3156,6 +3171,8 @@ to upconvert to 32b float internally?
|
|||
<bitfield name="CS" pos="5" type="boolean"/>
|
||||
</reg32>
|
||||
<array offset="0xae10" name="SP_PERFCTR_SP_SEL" stride="1" length="24"/>
|
||||
<!-- TODO: there are 4 more percntr select registers (0xae28-0xae2b) -->
|
||||
<!-- TODO: there are a few unknown registers in the 0xae30-0xae52 range -->
|
||||
|
||||
<!--
|
||||
The downstream kernel calls the debug cluster of registers
|
||||
|
|
@ -3163,14 +3180,17 @@ to upconvert to 32b float internally?
|
|||
color base for compute shaders.
|
||||
-->
|
||||
<reg64 offset="0xb180" name="SP_PS_TP_BORDER_COLOR_BASE_ADDR" type="address" align="128"/>
|
||||
<!-- always 0x0 ? -->
|
||||
<reg32 offset="0xb182" name="SP_UNKNOWN_B182"/>
|
||||
<reg32 offset="0xb183" name="SP_UNKNOWN_B183"/>
|
||||
<reg32 offset="0xb182" name="SP_UNKNOWN_B182" low="0" high="2"/>
|
||||
<reg32 offset="0xb183" name="SP_UNKNOWN_B183" low="0" high="23"/>
|
||||
|
||||
<reg32 offset="0xb190" name="SP_UNKNOWN_B190"/>
|
||||
<reg32 offset="0xb191" name="SP_UNKNOWN_B191"/>
|
||||
|
||||
<!-- could be all the stuff below here is actually TPL1?? -->
|
||||
|
||||
<reg32 offset="0xb300" name="SP_TP_RAS_MSAA_CNTL">
|
||||
<bitfield name="SAMPLES" low="0" high="1" type="a3xx_msaa_samples"/>
|
||||
<bitfield name="UNK2" low="2" high="3"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xb301" name="SP_TP_DEST_MSAA_CNTL">
|
||||
<bitfield name="SAMPLES" low="0" high="1" type="a3xx_msaa_samples"/>
|
||||
|
|
@ -3182,8 +3202,8 @@ to upconvert to 32b float internally?
|
|||
<reg32 offset="0xb304" name="SP_TP_SAMPLE_CONFIG" type="a6xx_sample_config"/>
|
||||
<reg32 offset="0xb305" name="SP_TP_SAMPLE_LOCATION_0" type="a6xx_sample_locations"/>
|
||||
<reg32 offset="0xb306" name="SP_TP_SAMPLE_LOCATION_1" type="a6xx_sample_locations"/>
|
||||
|
||||
<reg32 offset="0xb309" name="SP_TP_UNKNOWN_B309"/>
|
||||
<reg32 offset="0xb307" name="SP_TP_WINDOW_OFFSET" type="a6xx_reg_xy"/>
|
||||
<reg32 offset="0xb309" name="SP_TP_UNKNOWN_B309" low="0" high="7" type="uint"/>
|
||||
|
||||
<!--
|
||||
Equiv to corresponding RB_2D_SRC_* regs on a5xx.. which were either
|
||||
|
|
@ -3195,24 +3215,47 @@ to upconvert to 32b float internally?
|
|||
<bitfield name="WIDTH" low="0" high="14" type="uint"/>
|
||||
<bitfield name="HEIGHT" low="15" high="29" type="uint"/>
|
||||
</reg32>
|
||||
<reg64 offset="0xb4c2" name="SP_PS_2D_SRC" type="waddress"/>
|
||||
<reg64 offset="0xb4c2" name="SP_PS_2D_SRC" type="address" align="16"/>
|
||||
<reg32 offset="0xb4c4" name="SP_PS_2D_SRC_PITCH">
|
||||
<bitfield name="PITCH" low="9" high="24" shr="6" type="uint"/>
|
||||
<bitfield name="UNK0" low="0" high="8"/>
|
||||
<bitfield name="PITCH" low="9" high="23" shr="6" type="uint"/>
|
||||
</reg32>
|
||||
|
||||
<reg64 offset="0xb4ca" name="SP_PS_2D_SRC_FLAGS" type="waddress"/>
|
||||
<reg32 offset="0xb4cc" name="SP_PS_2D_SRC_FLAGS_PITCH">
|
||||
<bitfield name="PITCH" low="0" high="10" shr="6" type="uint"/>
|
||||
<bitfield name="ARRAY_PITCH" low="11" high="21" shr="7" type="uint"/>
|
||||
<!-- planes for NV12, etc. (TODO: not tested) -->
|
||||
<reg64 offset="0xb4c5" name="SP_PS_2D_SRC_PLANE1" type="address" align="16"/>
|
||||
<reg32 offset="0xb4c7" name="SP_PS_2D_SRC_PLANE_PITCH" low="0" high="11" shr="6" type="uint"/>
|
||||
<reg64 offset="0xb4c8" name="SP_PS_2D_SRC_PLANE2" type="address" align="16"/>
|
||||
|
||||
<reg64 offset="0xb4ca" name="SP_PS_2D_SRC_FLAGS" type="address" align="16"/>
|
||||
<reg32 offset="0xb4cc" name="SP_PS_2D_SRC_FLAGS_PITCH" low="0" high="7" shr="6" type="uint"/>
|
||||
|
||||
<reg32 offset="0xb4cd" name="SP_PS_UNKNOWN_B4CD" low="6" high="31"/>
|
||||
<reg32 offset="0xb4ce" name="SP_PS_UNKNOWN_B4CE" low="0" high="31"/>
|
||||
<reg32 offset="0xb4cf" name="SP_PS_UNKNOWN_B4CF" low="0" high="30"/>
|
||||
<reg32 offset="0xb4d0" name="SP_PS_UNKNOWN_B4D0" low="0" high="29"/>
|
||||
<reg32 offset="0xb4d1" name="SP_WINDOW_OFFSET" type="a6xx_reg_xy"/>
|
||||
|
||||
<!-- always 0x100000 or 0x1000000? -->
|
||||
<reg32 offset="0xb600" name="TPL1_UNKNOWN_B600" low="0" high="25"/>
|
||||
<reg32 offset="0xb601" name="TPL1_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
|
||||
<reg32 offset="0xb602" name="TPL1_UNKNOWN_B602" low="0" high="7" type="uint"/>
|
||||
<reg32 offset="0xb604" name="TPL1_NC_MODE_CNTL">
|
||||
<bitfield name="MODE" pos="0" type="boolean"/>
|
||||
<bitfield name="LOWER_BIT" low="1" high="2" type="uint"/>
|
||||
<bitfield name="MIN_ACCESS_LENGTH" pos="3" type="boolean"/> <!-- true=64b false=32b -->
|
||||
<bitfield name="UPPER_BIT" pos="4" type="uint"/>
|
||||
<bitfield name="UNK6" low="6" high="7"/>
|
||||
</reg32>
|
||||
|
||||
<!-- always 0x00100000 ? -->
|
||||
<reg32 offset="0xb600" name="SP_UNKNOWN_B600"/>
|
||||
|
||||
<!-- always 0x44 ? -->
|
||||
<reg32 offset="0xb605" name="SP_UNKNOWN_B605"/>
|
||||
<reg32 offset="0xb605" name="TPL1_UNKNOWN_B605" low="0" high="7" type="uint"/> <!-- always 0x0 or 0x44 ? -->
|
||||
<reg32 offset="0xb608" name="TPL1_BICUBIC_WEIGHTS_TABLE_0" low="0" high="29"/>
|
||||
<reg32 offset="0xb609" name="TPL1_BICUBIC_WEIGHTS_TABLE_1" low="0" high="29"/>
|
||||
<reg32 offset="0xb60a" name="TPL1_BICUBIC_WEIGHTS_TABLE_2" low="0" high="29"/>
|
||||
<reg32 offset="0xb60b" name="TPL1_BICUBIC_WEIGHTS_TABLE_3" low="0" high="29"/>
|
||||
<reg32 offset="0xb60c" name="TPL1_BICUBIC_WEIGHTS_TABLE_4" low="0" high="29"/>
|
||||
<array offset="0xb610" name="TPL1_PERFCTR_TP_SEL" stride="1" length="12"/>
|
||||
|
||||
<!-- TODO: 4 more perfcntr sel at 0xb620 ? -->
|
||||
|
||||
<bitset name="a6xx_hlsq_xs_cntl" inline="yes">
|
||||
<bitfield name="CONSTLEN" low="0" high="7" shr="2" type="uint"/>
|
||||
<bitfield name="ENABLED" pos="8" type="boolean"/>
|
||||
|
|
@ -3224,17 +3267,19 @@ to upconvert to 32b float internally?
|
|||
<reg32 offset="0xb803" name="HLSQ_GS_CNTL" type="a6xx_hlsq_xs_cntl"/>
|
||||
|
||||
<reg32 offset="0xb820" name="HLSQ_LOAD_STATE_GEOM_CMD"/>
|
||||
<reg64 offset="0xb821" name="HLSQ_LOAD_STATE_GEOM_EXT_SRC_ADDR"/>
|
||||
<reg64 offset="0xb821" name="HLSQ_LOAD_STATE_GEOM_EXT_SRC_ADDR" align="16" type="address"/>
|
||||
<reg32 offset="0xb823" name="HLSQ_LOAD_STATE_GEOM_DATA"/>
|
||||
|
||||
<reg32 offset="0xb980" name="HLSQ_FS_CNTL_0">
|
||||
<!-- must match SP_CS_CNTL -->
|
||||
<!-- must match SP_FS_CTRL -->
|
||||
<bitfield name="THREADSIZE" pos="0" type="a6xx_threadsize"/>
|
||||
<bitfield name="VARYINGS" pos="1" type="boolean"/>
|
||||
<bitfield name="UNK2" low="2" high="11"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xb981" name="HLSQ_UNKNOWN_B981" pos="0" type="boolean"/> <!-- never used by blob -->
|
||||
|
||||
<reg32 offset="0xb982" name="HLSQ_CONTROL_1_REG">
|
||||
<!-- always 0x7 ? -->
|
||||
<reg32 offset="0xb982" name="HLSQ_CONTROL_1_REG" low="0" high="2">
|
||||
<!-- TODO: have test cases with either 0x3 or 0x7 -->
|
||||
</reg32>
|
||||
<reg32 offset="0xb983" name="HLSQ_CONTROL_2_REG">
|
||||
<bitfield name="FACEREGID" low="0" high="7" type="a3xx_regid"/>
|
||||
|
|
@ -3262,10 +3307,12 @@ to upconvert to 32b float internally?
|
|||
<bitfield name="ZWCOORDREGID" low="24" high="31" type="a3xx_regid"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xb986" name="HLSQ_CONTROL_5_REG">
|
||||
<!-- unknown regid in low 8b -->
|
||||
<bitfield name="UNK0" low="0" high="7" type="a3xx_regid"/>
|
||||
<bitfield name="UNK8" low="8" high="15" type="a3xx_regid"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xb987" name="HLSQ_CS_CNTL" type="a6xx_hlsq_xs_cntl"/>
|
||||
|
||||
<!-- TODO: what does KERNELDIM do exactly (blob sets it differently from turnip) -->
|
||||
<reg32 offset="0xb990" name="HLSQ_CS_NDRANGE_0">
|
||||
<bitfield name="KERNELDIM" low="0" high="1" type="uint"/>
|
||||
<!-- localsize is value minus one: -->
|
||||
|
|
@ -3292,26 +3339,38 @@ to upconvert to 32b float internally?
|
|||
<bitfield name="GLOBALOFF_Z" low="0" high="31" type="uint"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xb997" name="HLSQ_CS_CNTL_0">
|
||||
<!-- these are all vec3. first 3 need to be high regs
|
||||
WGSIZECONSTID is the local size (from HLSQ_CS_NDRANGE_0)
|
||||
WGOFFSETCONSTID is WGIDCONSTID*WGSIZECONSTID
|
||||
-->
|
||||
<bitfield name="WGIDCONSTID" low="0" high="7" type="a3xx_regid"/>
|
||||
<bitfield name="WGSIZECONSTID" low="8" high="15" type="a3xx_regid"/>
|
||||
<bitfield name="WGOFFSETCONSTID" low="16" high="23" type="a3xx_regid"/>
|
||||
<bitfield name="LOCALIDREGID" low="24" high="31" type="a3xx_regid"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xb998" name="HLSQ_CS_CNTL_1">
|
||||
<!-- gl_LocalInvocationIndex -->
|
||||
<bitfield name="LINEARLOCALIDREGID" low="0" high="7" type="a3xx_regid"/>
|
||||
<!-- Must match SP_CS_CNTL -->
|
||||
<!-- a650 has 6 "SP cores" (but 3 "SP"). this makes it use only
|
||||
one of those 6 "SP cores" -->
|
||||
<bitfield name="SINGLE_SP_CORE" pos="8" type="boolean"/>
|
||||
<!-- Must match SP_CS_CTRL -->
|
||||
<bitfield name="THREADSIZE" pos="9" type="a6xx_threadsize"/>
|
||||
<!-- 1 thread per wave (ignored if bit9 set) -->
|
||||
<bitfield name="THREADSIZE_SCALAR" pos="10" type="boolean"/>
|
||||
</reg32>
|
||||
<!--note: vulkan blob doesn't use these -->
|
||||
<reg32 offset="0xb999" name="HLSQ_CS_KERNEL_GROUP_X"/>
|
||||
<reg32 offset="0xb99a" name="HLSQ_CS_KERNEL_GROUP_Y"/>
|
||||
<reg32 offset="0xb99b" name="HLSQ_CS_KERNEL_GROUP_Z"/>
|
||||
|
||||
<reg32 offset="0xb9a0" name="HLSQ_LOAD_STATE_FRAG_CMD"/>
|
||||
<reg64 offset="0xb9a1" name="HLSQ_LOAD_STATE_FRAG_EXT_SRC_ADDR"/>
|
||||
<reg64 offset="0xb9a1" name="HLSQ_LOAD_STATE_FRAG_EXT_SRC_ADDR" align="16" type="address"/>
|
||||
<reg32 offset="0xb9a3" name="HLSQ_LOAD_STATE_FRAG_DATA"/>
|
||||
|
||||
<!-- mirror of SP_CS_BINDLESS_BASE -->
|
||||
<array offset="0xb9c0" name="HLSQ_CS_BINDLESS_BASE" stride="2" length="5">
|
||||
<!-- 64 alignment, 2 low bits for unknown flags (always 0x3 when enabled?) -->
|
||||
<reg64 offset="0" name="ADDR" type="waddress"/>
|
||||
</array>
|
||||
|
||||
|
|
@ -3382,7 +3441,8 @@ to upconvert to 32b float internally?
|
|||
|
||||
<!-- mirror of SP_BINDLESS_BASE -->
|
||||
<array offset="0xbb20" name="HLSQ_BINDLESS_BASE" stride="2" length="5">
|
||||
<reg64 offset="0" name="ADDR" type="waddress"/>
|
||||
<!-- align 64 with two LSB for unknown flags (always 0x3 enabled) -->
|
||||
<reg64 offset="0" name="ADDR" type="address"/>
|
||||
</array>
|
||||
|
||||
<reg32 offset="0xbd80" name="HLSQ_2D_EVENT_CMD">
|
||||
|
|
@ -3390,14 +3450,15 @@ to upconvert to 32b float internally?
|
|||
<bitfield name="EVENT" low="0" high="6" type="vgt_event_type"/>
|
||||
</reg32>
|
||||
|
||||
<!-- always 0x80 ? -->
|
||||
<reg32 offset="0xbe00" name="HLSQ_UNKNOWN_BE00"/>
|
||||
<!-- always 0x0 ? -->
|
||||
<reg32 offset="0xbe01" name="HLSQ_UNKNOWN_BE01"/>
|
||||
<!-- always 0x0 ? -->
|
||||
<reg32 offset="0xbe00" name="HLSQ_UNKNOWN_BE00"/> <!-- all bits valid except bit 29 -->
|
||||
<reg32 offset="0xbe01" name="HLSQ_UNKNOWN_BE01" low="4" high="6"/>
|
||||
<reg32 offset="0xbe04" name="HLSQ_UNKNOWN_BE04"/>
|
||||
<reg32 offset="0xbe05" name="HLSQ_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
|
||||
<reg32 offset="0xbe08" name="HLSQ_UNKNOWN_BE08" low="0" high="15"/>
|
||||
<array offset="0xbe10" name="HLSQ_PERFCTR_HLSQ_SEL" stride="1" length="6"/>
|
||||
|
||||
<!-- TODO: some valid registers between 0xbe20 and 0xbe33 -->
|
||||
|
||||
<!--
|
||||
These special registers signal the beginning/end of an event
|
||||
sequence. The sequence used internally for an event looks like:
|
||||
|
|
|
|||
|
|
@ -746,8 +746,8 @@ tu6_init_hw(struct tu_cmd_buffer *cmd, struct tu_cs *cs)
|
|||
tu_cs_emit_write_reg(cs, REG_A6XX_SP_UNKNOWN_AE04, 0x8);
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_SP_UNKNOWN_AE00, 0);
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_SP_PERFCTR_ENABLE, 0x3f);
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_SP_UNKNOWN_B605, 0x44);
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_SP_UNKNOWN_B600, 0x100000);
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_TPL1_UNKNOWN_B605, 0x44);
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_TPL1_UNKNOWN_B600, 0x100000);
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_HLSQ_UNKNOWN_BE00, 0x80);
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_HLSQ_UNKNOWN_BE01, 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -1222,8 +1222,8 @@ fd6_emit_restore(struct fd_batch *batch, struct fd_ringbuffer *ring)
|
|||
WRITE(REG_A6XX_SP_UNKNOWN_AE04, 0x8);
|
||||
WRITE(REG_A6XX_SP_UNKNOWN_AE00, 0);
|
||||
WRITE(REG_A6XX_SP_PERFCTR_ENABLE, 0x3f);
|
||||
WRITE(REG_A6XX_SP_UNKNOWN_B605, 0x44);
|
||||
WRITE(REG_A6XX_SP_UNKNOWN_B600, 0x100000);
|
||||
WRITE(REG_A6XX_TPL1_UNKNOWN_B605, 0x44);
|
||||
WRITE(REG_A6XX_TPL1_UNKNOWN_B600, 0x100000);
|
||||
WRITE(REG_A6XX_HLSQ_UNKNOWN_BE00, 0x80);
|
||||
WRITE(REG_A6XX_HLSQ_UNKNOWN_BE01, 0);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue