freedreno/registers: add useful A6XX_SP_TP_MODE_CNTL bitfields
Add additional bitfields for the A6XX_SP_TP_MODE_CNTL registers, ones that we already use and the texcoord rounding mode bitfield that we'll need for D3D-over-Vulkan implementations. Signed-off-by: Zan Dobersek <zdobersek@igalia.com> Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33987>
This commit is contained in:
@@ -7066,7 +7066,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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_MODE_CNTL: { ISAMMODE = 0 | UNK3 = 0x13 }
|
||||
0000004c SP_TP_MODE_CNTL: { ISAMMODE = 0 | TEXCOORDROUNDMODE = COORD_ROUND_NEAREST_EVEN | NEARESTMIPSNAP = ROUND_CLAMP_TRUNCATE | 0x48 }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
@@ -7078,7 +7078,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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_MODE_CNTL: { ISAMMODE = 0 | UNK3 = 0x13 }
|
||||
0000004c SP_TP_MODE_CNTL: { ISAMMODE = 0 | TEXCOORDROUNDMODE = COORD_ROUND_NEAREST_EVEN | NEARESTMIPSNAP = ROUND_CLAMP_TRUNCATE | 0x48 }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
@@ -7377,7 +7377,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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_MODE_CNTL: { ISAMMODE = 0 | UNK3 = 0x13 }
|
||||
0000004c SP_TP_MODE_CNTL: { ISAMMODE = 0 | TEXCOORDROUNDMODE = COORD_ROUND_NEAREST_EVEN | NEARESTMIPSNAP = ROUND_CLAMP_TRUNCATE | 0x48 }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
@@ -7389,7 +7389,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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_MODE_CNTL: { ISAMMODE = 0 | UNK3 = 0x13 }
|
||||
0000004c SP_TP_MODE_CNTL: { ISAMMODE = 0 | TEXCOORDROUNDMODE = COORD_ROUND_NEAREST_EVEN | NEARESTMIPSNAP = ROUND_CLAMP_TRUNCATE | 0x48 }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
|
||||
@@ -2000,7 +2000,7 @@ got cmdszdw=38
|
||||
+ 00000000 SP_UNKNOWN_B182: 0
|
||||
+ 00000000 SP_UNKNOWN_B183: 0
|
||||
!+ 100001100 SP_TP_BORDER_COLOR_BASE_ADDR: 0x100001100 base=100000000, offset=4352, size=532480
|
||||
!+ 000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
!+ 000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
!+ 00108000 TPL1_DBG_ECO_CNTL: 0x108000
|
||||
!+ 00000044 TPL1_UNKNOWN_B605: 68
|
||||
!+ 000000fc HLSQ_CONTROL_5_REG: { LINELENGTHREGID = r63.x | FOVEATIONQUALITYREGID = r0.x }
|
||||
@@ -2310,7 +2310,7 @@ got cmdszdw=38
|
||||
+ 00000000 SP_UNKNOWN_B183: 0
|
||||
+ 100001100 SP_TP_BORDER_COLOR_BASE_ADDR: 0x100001100 base=100000000, offset=4352, size=532480
|
||||
+ 00000000 SP_TP_WINDOW_OFFSET: { X = 0 | Y = 0 }
|
||||
+ 000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
+ 000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
+ 00000000 SP_WINDOW_OFFSET: { X = 0 | Y = 0 }
|
||||
+ 00108000 TPL1_DBG_ECO_CNTL: 0x108000
|
||||
+ 00000044 TPL1_UNKNOWN_B605: 68
|
||||
@@ -5190,7 +5190,7 @@ ESTIMATED CRASH LOCATION!
|
||||
+ 00000000 SP_UNKNOWN_B182: 0
|
||||
+ 00000000 SP_UNKNOWN_B183: 0
|
||||
+ 100001100 SP_TP_BORDER_COLOR_BASE_ADDR: 0x100001100 base=100000000, offset=4352, size=532480
|
||||
+ 000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
+ 000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
!+ 00500360 SP_PS_2D_SRC_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | SAMPLES = MSAA_ONE | UNK20 | UNK22 }
|
||||
!+ 0020803f SP_PS_2D_SRC_SIZE: { WIDTH = 63 | HEIGHT = 65 }
|
||||
!+ 100082000 SP_PS_2D_SRC: 0x100082000
|
||||
@@ -18842,7 +18842,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
@@ -18854,7 +18854,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
@@ -19153,7 +19153,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
@@ -19165,7 +19165,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
|
||||
@@ -174,7 +174,7 @@ cmdstream[0]: 265 dwords
|
||||
PC_UNKNOWN_9E72: 0
|
||||
00000000010581bc: 0000: 409e7201 00000000
|
||||
write SP_TP_MODE_CNTL (b309)
|
||||
SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
00000000010581c4: 0000: 40b30901 000000a2
|
||||
write HLSQ_CONTROL_5_REG (b986)
|
||||
HLSQ_CONTROL_5_REG: { LINELENGTHREGID = r63.x | FOVEATIONQUALITYREGID = r0.x }
|
||||
@@ -343,7 +343,7 @@ cmdstream[0]: 265 dwords
|
||||
+ 00000000 SP_UNKNOWN_B182: 0
|
||||
+ 00000000 SP_UNKNOWN_B183: 0
|
||||
!+ 01011000 SP_TP_BORDER_COLOR_BASE_ADDR: 0x1011000
|
||||
!+ 000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
!+ 000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
!+ 00100000 TPL1_DBG_ECO_CNTL: 0x100000
|
||||
!+ 00000044 TPL1_UNKNOWN_B605: 68
|
||||
!+ 000000fc HLSQ_CONTROL_5_REG: { LINELENGTHREGID = r63.x | FOVEATIONQUALITYREGID = r0.x }
|
||||
|
||||
@@ -174,7 +174,7 @@ cmdstream[0]: 1023 dwords
|
||||
SP_TP_SAMPLE_CONFIG: { 0 }
|
||||
0000000001d911bc: 0000: 48b30401 00000000
|
||||
write SP_TP_MODE_CNTL (b309)
|
||||
SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
0000000001d911c4: 0000: 40b30901 000000a2
|
||||
write RB_SAMPLE_CONFIG (8804)
|
||||
RB_SAMPLE_CONFIG: { 0 }
|
||||
@@ -1113,7 +1113,7 @@ cmdstream[0]: 1023 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_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
!+ 000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
!+ 00100000 TPL1_DBG_ECO_CNTL: 0x100000
|
||||
!+ 00000044 TPL1_UNKNOWN_B605: 68
|
||||
!+ 00000100 HLSQ_VS_CNTL: { CONSTLEN = 0 | ENABLED }
|
||||
|
||||
@@ -2616,7 +2616,7 @@ got cmdszdw=416
|
||||
+ 00000000 SP_UNKNOWN_B183: 0
|
||||
+ 00000000 SP_TP_SAMPLE_CONFIG: { 0 }
|
||||
+ 00000000 SP_TP_WINDOW_OFFSET: { X = 0 | Y = 0 }
|
||||
!+ 000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
!+ 000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
+ 00000000 SP_WINDOW_OFFSET: { X = 0 | Y = 0 }
|
||||
!+ 00108000 TPL1_DBG_ECO_CNTL: 0x108000
|
||||
!+ 00000044 TPL1_UNKNOWN_B605: 68
|
||||
@@ -152837,7 +152837,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
@@ -152849,7 +152849,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
@@ -153148,7 +153148,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
@@ -153160,7 +153160,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
|
||||
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 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | UNK3 = 0x28 }
|
||||
000000a2 SP_TP_MODE_CNTL: { ISAMMODE = ISAMMODE_GL | TEXCOORDROUNDMODE = COORD_TRUNCATE | NEARESTMIPSNAP = CLAMP_ROUND_TRUNCATE | DESTDATATYPEOVERRIDE }
|
||||
deadbeef 0xb380: deadbeef
|
||||
deadbeef 0xb381: deadbeef
|
||||
deadbeef 0xb382: deadbeef
|
||||
|
||||
@@ -5402,9 +5402,22 @@ to upconvert to 32b float internally?
|
||||
<reg32 offset="0xb305" name="SP_TP_SAMPLE_LOCATION_0" type="a6xx_sample_locations" usage="rp_blit"/>
|
||||
<reg32 offset="0xb306" name="SP_TP_SAMPLE_LOCATION_1" type="a6xx_sample_locations" usage="rp_blit"/>
|
||||
<reg32 offset="0xb307" name="SP_TP_WINDOW_OFFSET" type="a6xx_reg_xy" usage="rp_blit"/>
|
||||
|
||||
<enum name="a6xx_coord_round">
|
||||
<value value="0" name="COORD_TRUNCATE"/>
|
||||
<value value="1" name="COORD_ROUND_NEAREST_EVEN"/>
|
||||
</enum>
|
||||
|
||||
<enum name="a6xx_nearest_mode">
|
||||
<value value="0" name="ROUND_CLAMP_TRUNCATE"/>
|
||||
<value value="1" name="CLAMP_ROUND_TRUNCATE"/>
|
||||
</enum>
|
||||
|
||||
<reg32 offset="0xb309" name="SP_TP_MODE_CNTL" usage="cmd">
|
||||
<bitfield name="ISAMMODE" low="0" high="1" type="a6xx_isam_mode"/>
|
||||
<bitfield name="UNK3" low="2" high="7"/>
|
||||
<bitfield name="TEXCOORDROUNDMODE" pos="2" type="a6xx_coord_round"/>
|
||||
<bitfield name="NEARESTMIPSNAP" pos="5" type="a6xx_nearest_mode"/>
|
||||
<bitfield name="DESTDATATYPEOVERRIDE" pos="7" type="boolean"/>
|
||||
</reg32>
|
||||
<reg32 offset="0xb310" name="SP_UNKNOWN_B310" variants="A7XX-" usage="cmd"/>
|
||||
|
||||
|
||||
@@ -1527,9 +1527,10 @@ tu6_init_static_regs(struct tu_device *dev, struct tu_cs *cs)
|
||||
}
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_VPC_UNKNOWN_9602, 0);
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_PC_UNKNOWN_9E72, 0);
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_SP_TP_MODE_CNTL,
|
||||
0x000000a0 |
|
||||
A6XX_SP_TP_MODE_CNTL_ISAMMODE(ISAMMODE_GL));
|
||||
tu_cs_emit_regs(cs, A6XX_SP_TP_MODE_CNTL(.isammode = ISAMMODE_GL,
|
||||
.texcoordroundmode = COORD_TRUNCATE,
|
||||
.nearestmipsnap = CLAMP_ROUND_TRUNCATE,
|
||||
.destdatatypeoverride = true));
|
||||
tu_cs_emit_regs(cs, HLSQ_CONTROL_5_REG(CHIP, .dword = 0xfc));
|
||||
|
||||
tu_cs_emit_write_reg(cs, REG_A6XX_VFD_MODE_CNTL, 0x00000000);
|
||||
|
||||
@@ -977,8 +977,12 @@ fd6_emit_static_regs(struct fd_context *ctx, struct fd_ringbuffer *ring)
|
||||
/* NOTE blob seems to (mostly?) use 0xb2 for SP_TP_MODE_CNTL
|
||||
* but this seems to kill texture gather offsets.
|
||||
*/
|
||||
WRITE(REG_A6XX_SP_TP_MODE_CNTL, 0xa0 |
|
||||
A6XX_SP_TP_MODE_CNTL_ISAMMODE(ISAMMODE_GL));
|
||||
OUT_REG(ring,
|
||||
A6XX_SP_TP_MODE_CNTL(
|
||||
.isammode = ISAMMODE_GL,
|
||||
.texcoordroundmode = COORD_TRUNCATE,
|
||||
.nearestmipsnap = CLAMP_ROUND_TRUNCATE,
|
||||
.destdatatypeoverride = true));
|
||||
|
||||
OUT_REG(ring, HLSQ_CONTROL_5_REG(
|
||||
CHIP,
|
||||
|
||||
Reference in New Issue
Block a user