tu,freedreno/a6xx: Give the FS_CTRL UNK24 bit a name: INOUTREGOVERLAP.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34991>
This commit is contained in:
Emma Anholt 2025-05-16 16:03:27 -07:00 committed by Marge Bot
parent 7fe18b147d
commit 7714480c79
8 changed files with 23 additions and 23 deletions

View file

@ -7144,7 +7144,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
deadbeef HLSQ_2D_EVENT_CMD: { STATE_ID = 0xbe | EVENT = 0x6f | 0xdead0080 }
- cluster-name: CLUSTER_SP_PS
- context: 0
05100000 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | UNK24 | PIXLODENABLE | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 }
05100000 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | INOUTREGOVERLAP | PIXLODENABLE | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 }
00000000 SP_FS_BRANCH_COND: 0
00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
1af864bdb43d8 SP_FS_OBJ_START: 0x1af864bdb43d8
@ -7212,7 +7212,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
00000000 0xaa30: 00000000
00000000 0xaa31: 00000000
- context: 1
05100000 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | UNK24 | PIXLODENABLE | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 }
05100000 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | INOUTREGOVERLAP | PIXLODENABLE | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 0 | BRANCHSTACK = 0 }
00000000 SP_FS_BRANCH_COND: 0
00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
1af864bdb43d8 SP_FS_OBJ_START: 0x1af864bdb43d8

View file

@ -2874,7 +2874,7 @@ got cmdszdw=38
+ 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 }
!+ 81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
!+ 81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
+ 00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
!+ 1001e7080 SP_FS_OBJ_START: 0x1001e7080 base=1001e7000, offset=128, size=131072
00000001001e7080: 0000: 00000000 200c4000 00000001 200c4001 00000000 00000100 10000000 40700000
@ -3588,7 +3588,7 @@ got cmdszdw=38
+ 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 }
+ 81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
+ 81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
+ 00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
!+ 1001e8580 SP_FS_OBJ_START: 0x1001e8580 base=1001e7000, offset=5504, size=131072
00000001001e8580: 0000: 00000000 200c4000 00000001 200c4001 00000000 00000100 10000000 40700000
@ -4313,7 +4313,7 @@ got cmdszdw=38
+ 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 }
+ 81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
+ 81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
+ 00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
!+ 1001e9a80 SP_FS_OBJ_START: 0x1001e9a80 base=1001e7000, offset=10880, size=131072
00000001001e9a80: 0000: 00000000 200c4000 00000001 200c4001 00000000 00000100 10000000 40700000
@ -4963,7 +4963,7 @@ ESTIMATED CRASH LOCATION!
+ 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 }
+ 81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
+ 81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
+ 00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
!+ 1001eaf80 SP_FS_OBJ_START: 0x1001eaf80 base=1001e7000, offset=16256, size=131072
00000001001eaf80: 0000: 00000000 200c4000 00000001 200c4001 00000000 00000100 10000000 40700000
@ -18920,7 +18920,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
deadbeef HLSQ_2D_EVENT_CMD: { STATE_ID = 0xbe | EVENT = 0x6f | 0xdead0080 }
- cluster-name: CLUSTER_SP_PS
- context: 0
81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
00000000 SP_FS_BRANCH_COND: 0
00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
1001e8580 SP_FS_OBJ_START: 0x1001e8580 base=1001e7000, offset=5504, size=131072
@ -18988,7 +18988,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
00000000 0xaa30: 00000000
00000000 0xaa31: 00000000
- context: 1
81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
81100300 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 6 | BRANCHSTACK = 0 }
00000000 SP_FS_BRANCH_COND: 0
00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
1001e8580 SP_FS_OBJ_START: 0x1001e8580 base=1001e7000, offset=5504, size=131072

View file

@ -840,7 +840,7 @@ cmdstream[0]: 265 dwords
HLSQ_GS_CNTL: { CONSTLEN = 0 }
0000000001054208: 0000: 48b80301 00000000
write SP_FS_CTRL_REG0 (a980)
SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | BRANCHSTACK = 0 }
SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | BRANCHSTACK = 0 }
0000000001054210: 0000: 40a98001 81500100
write SP_FS_CONFIG (ab04)
SP_FS_CONFIG: { ENABLED | NTEX = 0 | NSAMP = 0 | NIBO = 0 }
@ -1448,7 +1448,7 @@ cmdstream[0]: 265 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: { THREADSIZE = THREAD128 | VARYING | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | BRANCHSTACK = 0 }
!+ 81500100 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | BRANCHSTACK = 0 }
!+ 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

View file

@ -685,7 +685,7 @@ cmdstream[0]: 1023 dwords
HLSQ_FS_CNTL_0: { THREADSIZE = THREAD128 }
00000000011210b8: 0000: 48b98001 00000001
write SP_FS_CTRL_REG0 (a980)
SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 }
SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 }
00000000011210c0: 0000: 40a98001 81100080
write SP_FS_OBJ_FIRST_EXEC_OFFSET (a982)
SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
@ -1084,7 +1084,7 @@ cmdstream[0]: 1023 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: { THREADSIZE = THREAD128 | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 }
!+ 81100080 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | BRANCHSTACK = 0 }
+ 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 }
@ -1969,7 +1969,7 @@ cmdstream[0]: 1023 dwords
HLSQ_FS_CNTL_0: { THREADSIZE = THREAD128 }
00000000011200b8: 0000: 48b98001 00000001
write SP_FS_CTRL_REG0 (a980)
SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 19 | BRANCHSTACK = 2 }
SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 19 | BRANCHSTACK = 2 }
00000000011200c0: 0000: 40a98001 81508980
write SP_FS_OBJ_FIRST_EXEC_OFFSET (a982)
SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
@ -5278,7 +5278,7 @@ cmdstream[0]: 1023 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: { THREADSIZE = THREAD128 | VARYING | UNK24 | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 19 | BRANCHSTACK = 2 }
!+ 81508980 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | INOUTREGOVERLAP | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 19 | BRANCHSTACK = 2 }
+ 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

View file

@ -3204,7 +3204,7 @@ got cmdszdw=416
+ 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 }
!+ 85508180 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | UNK24 | PIXLODENABLE | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 3 | BRANCHSTACK = 2 }
!+ 85508180 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | INOUTREGOVERLAP | PIXLODENABLE | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 3 | BRANCHSTACK = 2 }
+ 00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
!+ 10372c000 SP_FS_OBJ_START: 0x10372c000 base=10372c000, offset=0, size=4096
000000010372c000: 0000: 00002000 473080fc 0000000e 03820000 0000000d 02820000 0000b800 20488007
@ -152915,7 +152915,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
deadbeef HLSQ_2D_EVENT_CMD: { STATE_ID = 0xbe | EVENT = 0x6f | 0xdead0080 }
- cluster-name: CLUSTER_SP_PS
- context: 0
85508180 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | UNK24 | PIXLODENABLE | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 3 | BRANCHSTACK = 2 }
85508180 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | INOUTREGOVERLAP | PIXLODENABLE | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 3 | BRANCHSTACK = 2 }
00000000 SP_FS_BRANCH_COND: 0
00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
10372c000 SP_FS_OBJ_START: 0x10372c000 base=10372c000, offset=0, size=4096
@ -152983,7 +152983,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
00000000 0xaa30: 00000000
00000000 0xaa31: 00000000
- context: 1
85508180 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | UNK24 | PIXLODENABLE | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 3 | BRANCHSTACK = 2 }
85508180 SP_FS_CTRL_REG0: { THREADSIZE = THREAD128 | VARYING | INOUTREGOVERLAP | PIXLODENABLE | MERGEDREGS | THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 3 | BRANCHSTACK = 2 }
00000000 SP_FS_BRANCH_COND: 0
00000000 SP_FS_OBJ_FIRST_EXEC_OFFSET: 0
10372c000 SP_FS_OBJ_START: 0x10372c000 base=10372c000, offset=0, size=4096

View file

@ -4964,8 +4964,7 @@ to upconvert to 32b float internally?
fine derivatives and quad subgroup ops.
</doc>
</bitfield>
<!-- note: vk blob uses bit24 -->
<bitfield name="UNK24" pos="24" type="boolean"/>
<bitfield name="INOUTREGOVERLAP" pos="24" type="boolean"/>
<bitfield name="UNK25" pos="25" type="boolean"/>
<bitfield name="PIXLODENABLE" pos="26" type="boolean">
<doc>

View file

@ -1338,8 +1338,10 @@ tu6_emit_xs(struct tu_cs *cs,
.threadsize = thrsz,
.varying = xs->total_in != 0,
.lodpixmask = xs->need_full_quad,
/* unknown bit, seems unnecessary */
.unk24 = true,
/* inoutregoverlap had no effect on perf in anholt's testing:
* https://gitlab.freedesktop.org/anholt/mesa/-/commits/tu-inout-reg
*/
.inoutregoverlap = true,
.pixlodenable = xs->need_pixlod,
.earlypreamble = xs->early_preamble,
.mergedregs = xs->mergedregs,

View file

@ -163,8 +163,7 @@ fd6_emit_shader(struct fd_context *ctx, struct fd_ringbuffer *ring,
.threadsize = thrsz,
.varying = so->total_in != 0,
.lodpixmask = so->need_full_quad,
/* unknown bit, seems unnecessary */
.unk24 = true,
.inoutregoverlap = true,
.pixlodenable = so->need_pixlod,
.earlypreamble = so->early_preamble,
.mergedregs = so->mergedregs,