freedreno: Name GS/DS ViewID register fields

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40153>
This commit is contained in:
Connor Abbott 2026-02-27 18:10:16 -05:00 committed by Marge Bot
parent 31ddfe26eb
commit 2d4bb4cdc6
8 changed files with 40 additions and 40 deletions

View file

@ -3519,11 +3519,11 @@ by a particular renderpass/blit.
<bitfield name="REGID_TESSY" low="24" high="31" type="a3xx_regid"/>
</reg32>
<reg32 offset="0xa004" name="VFD_CNTL_4" usage="draw">
<bitfield name="UNK0" low="0" high="7" type="a3xx_regid"/>
<bitfield name="REGID_DSVIEWID" low="0" high="7" type="a3xx_regid"/>
</reg32>
<reg32 offset="0xa005" name="VFD_CNTL_5" usage="draw">
<bitfield name="REGID_GSHEADER" low="0" high="7" type="a3xx_regid"/>
<bitfield name="UNK8" low="8" high="15" type="a3xx_regid"/>
<bitfield name="REGID_GSVIEWID" low="8" high="15" type="a3xx_regid"/>
</reg32>
<reg32 offset="0xa006" name="VFD_CNTL_6" usage="draw">
<!--

View file

@ -6169,8 +6169,8 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
000000fc VFD_CNTL_4: { UNK0 = r63.x }
0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
00000000 VFD_CNTL_6: { 0 }
00000000 VFD_RENDER_MODE: { RENDER_MODE = RENDERING_PASS }
00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }
@ -6397,8 +6397,8 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
000000fc VFD_CNTL_4: { UNK0 = r63.x }
0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
00000000 VFD_CNTL_6: { 0 }
00000000 VFD_RENDER_MODE: { RENDER_MODE = RENDERING_PASS }
00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }

View file

@ -6776,8 +6776,8 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
000000fc VFD_CNTL_4: { UNK0 = r63.x }
0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
00000000 VFD_CNTL_6: { 0 }
00000000 VFD_RENDER_MODE: { RENDER_MODE = RENDERING_PASS }
00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }
@ -7004,8 +7004,8 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
000000fc VFD_CNTL_4: { UNK0 = r63.x }
0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
00000000 VFD_CNTL_6: { 0 }
00000000 VFD_RENDER_MODE: { RENDER_MODE = RENDERING_PASS }
00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }
@ -8860,8 +8860,8 @@ got cmdszdw=38
!+ fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
!+ 0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
!+ fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
!+ 000000fc VFD_CNTL_4: { UNK0 = r63.x }
!+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
!+ 000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
!+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
+ 00000000 VFD_CNTL_6: { 0 }
+ 00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }
+ 00000000 VFD_INDEX_OFFSET: 0
@ -9569,8 +9569,8 @@ got cmdszdw=38
+ fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
+ 0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
+ fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
+ 000000fc VFD_CNTL_4: { UNK0 = r63.x }
+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
+ 000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
+ 00000000 VFD_CNTL_6: { 0 }
+ 00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }
+ 00000000 VFD_INDEX_OFFSET: 0
@ -10293,8 +10293,8 @@ got cmdszdw=38
+ fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
+ 0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
+ fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
+ 000000fc VFD_CNTL_4: { UNK0 = r63.x }
+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
+ 000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
+ 00000000 VFD_CNTL_6: { 0 }
+ 00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }
+ 00000000 VFD_INDEX_OFFSET: 0
@ -10924,8 +10924,8 @@ ESTIMATED CRASH LOCATION!
+ fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
+ 0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
+ fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
+ 000000fc VFD_CNTL_4: { UNK0 = r63.x }
+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
+ 000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
+ 00000000 VFD_CNTL_6: { 0 }
+ 00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }
+ 00000000 VFD_INDEX_OFFSET: 0

View file

@ -856,8 +856,8 @@ cmdstream[0]: 265 dwords
VFD_CNTL_1: { REGID4VTX = r2.y | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
VFD_CNTL_4: { UNK0 = r63.x }
VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
VFD_CNTL_6: { 0 }
0000000001054260: 0000: 40a00186 fcfcfc09 0000fcfc fcfcfcfc 000000fc 0000fcfc 00000000
write VPC_VARYING_LM_TRANSFER_CNTL[0].DISABLE (9212)
@ -1371,8 +1371,8 @@ cmdstream[0]: 265 dwords
!+ fcfcfc09 VFD_CNTL_1: { REGID4VTX = r2.y | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
!+ 0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
!+ fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
!+ 000000fc VFD_CNTL_4: { UNK0 = r63.x }
!+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
!+ 000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
!+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
+ 00000000 VFD_CNTL_6: { 0 }
00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }
!+ 01053000 VFD_VERTEX_BUFFER[0].BASE: 0x1053000

View file

@ -347,7 +347,7 @@
0000000100085080: 0000: 48a00302 fcfcfcfc 000000fc
write VFD_CNTL_3 (a003)
VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
VFD_CNTL_4: { UNK0 = r63.x }
VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
0000000100085080: 0000: 48a00302 fcfcfcfc 000000fc
group_id: 5
count: 2
@ -356,7 +356,7 @@
enable_mask: 0x7
0000000100085100: 0000: 48a00501 0000fcfc
write VFD_CNTL_5 (a005)
VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
0000000100085100: 0000: 48a00501 0000fcfc
group_id: 7
count: 32
@ -1059,8 +1059,8 @@
!+ fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
!+ 0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
!+ fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
!+ 000000fc VFD_CNTL_4: { UNK0 = r63.x }
!+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
!+ 000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
!+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
+ 00000000 VFD_CNTL_6: { 0 }
!+ 00000006 VFD_STEREO_RENDERING_CNTL: { DISABLEMULTIPOS | VIEWS = 1 }
+ 00000000 VFD_INDEX_OFFSET: 0

View file

@ -246,8 +246,8 @@
VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
VFD_CNTL_4: { UNK0 = r63.x }
VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
VFD_CNTL_6: { 0 }
00000040000029a0: 0000: 40a00186 fcfcfcfc 0000fcfc fcfcfcfc 000000fc 0000fcfc 00000000
write PC_VS_CNTL (9b01)
@ -968,8 +968,8 @@
!+ fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
+ 0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
+ fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
+ 000000fc VFD_CNTL_4: { UNK0 = r63.x }
+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
+ 000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
+ 00000000 VFD_CNTL_6: { 0 }
+ 00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }
!+? 00000003 VFD_MODE_CNTL: { VERTEX | INSTANCE }

View file

@ -727,8 +727,8 @@ cmdstream[0]: 1023 dwords
VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
VFD_CNTL_4: { UNK0 = r63.x }
VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
VFD_CNTL_6: { 0 }
0000000001121150: 0000: 40a00186 fcfcfcfc 0000fcfc fcfcfcfc 000000fc 0000fcfc 00000000
write RB_DEPTH_PLANE_CNTL (8870)
@ -1037,8 +1037,8 @@ cmdstream[0]: 1023 dwords
!+ fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
!+ 0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
!+ fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
!+ 000000fc VFD_CNTL_4: { UNK0 = r63.x }
!+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
!+ 000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
!+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
+ 00000000 VFD_CNTL_6: { 0 }
!+? 00000001 VFD_RENDER_MODE: { RENDER_MODE = BINNING_PASS }
+ 00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }
@ -4801,8 +4801,8 @@ cmdstream[0]: 1023 dwords
VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
VFD_CNTL_4: { UNK0 = r63.x }
VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
VFD_CNTL_6: { 0 }
0000000001120174: 0000: 40a00186 fcfcfcfc 0000fcfc fcfcfcfc 000000fc 0000fcfc 00000000
write RB_DEPTH_PLANE_CNTL (8870)
@ -5224,8 +5224,8 @@ cmdstream[0]: 1023 dwords
+ fcfcfcfc VFD_CNTL_1: { REGID4VTX = r63.x | REGID4INST = r63.x | REGID4PRIMID = r63.x | REGID4VIEWID = r63.x }
+ 0000fcfc VFD_CNTL_2: { REGID_HSRELPATCHID = r63.x | REGID_INVOCATIONID = r63.x }
+ fcfcfcfc VFD_CNTL_3: { REGID_DSPRIMID = r63.x | REGID_DSRELPATCHID = r63.x | REGID_TESSX = r63.x | REGID_TESSY = r63.x }
+ 000000fc VFD_CNTL_4: { UNK0 = r63.x }
+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | UNK8 = r63.x }
+ 000000fc VFD_CNTL_4: { REGID_DSVIEWID = r63.x }
+ 0000fcfc VFD_CNTL_5: { REGID_GSHEADER = r63.x | REGID_GSVIEWID = r63.x }
+ 00000000 VFD_CNTL_6: { 0 }
00000000 VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 }
+ 00000000 VFD_INDEX_OFFSET: 0

View file

@ -594,10 +594,10 @@ emit_vs_system_values(fd_crb &crb, const struct program_builder *b)
.regid_tessx = tess_coord_x_regid,
.regid_tessy = tess_coord_y_regid,
));
crb.add(A6XX_VFD_CNTL_4(.unk0 = INVALID_REG));
crb.add(A6XX_VFD_CNTL_4(.regid_dsviewid = INVALID_REG));
crb.add(A6XX_VFD_CNTL_5(
.regid_gsheader = gsheader_regid,
.unk8 = INVALID_REG,
.regid_gsviewid = INVALID_REG,
));
crb.add(A6XX_VFD_CNTL_6(.primid4psen = b->fs->reads_primid));
}