diff --git a/src/freedreno/common/freedreno_devices.py b/src/freedreno/common/freedreno_devices.py index 19244c0ad5e..6823c6f9494 100644 --- a/src/freedreno/common/freedreno_devices.py +++ b/src/freedreno/common/freedreno_devices.py @@ -873,7 +873,7 @@ a730_raw_magic_regs = [ [A6XXRegs.REG_A7XX_UCHE_UNKNOWN_0E11, 0x00000040], [A6XXRegs.REG_A7XX_SP_HLSQ_DBG_ECO_CNTL, 0x00008000], [A6XXRegs.REG_A6XX_SP_DBG_ECO_CNTL, 0x10000000], - [A6XXRegs.REG_A6XX_PC_MODE_CNTL, 0x0000003f], # 0x00001f1f in some tests + [A6XXRegs.REG_A6XX_PC_MODE_CNTL, 0x1f1f], [A6XXRegs.REG_A6XX_PC_DBG_ECO_CNTL, 0x20080000], [A6XXRegs.REG_A7XX_PC_UNKNOWN_9E24, 0x21fc7f00], [A6XXRegs.REG_A7XX_VFD_DBG_ECO_CNTL, 0x00000000], @@ -922,9 +922,7 @@ a740_raw_magic_regs = [ [A6XXRegs.REG_A7XX_UCHE_UNKNOWN_0E11, 0x00000000], [A6XXRegs.REG_A7XX_SP_HLSQ_DBG_ECO_CNTL, 0x00000000], [A6XXRegs.REG_A6XX_SP_DBG_ECO_CNTL, 0x10000000], - # Blob uses 0x1f or 0x1f1f, however these values cause vertices - # corruption in some tests. - [A6XXRegs.REG_A6XX_PC_MODE_CNTL, 0x0000003f], + [A6XXRegs.REG_A6XX_PC_MODE_CNTL, 0x1f1f], [A6XXRegs.REG_A6XX_PC_DBG_ECO_CNTL, 0x00100000], [A6XXRegs.REG_A7XX_PC_UNKNOWN_9E24, 0x21585600], [A6XXRegs.REG_A7XX_VFD_DBG_ECO_CNTL, 0x00008000], @@ -1028,7 +1026,7 @@ add_gpus([ [A6XXRegs.REG_A7XX_UCHE_UNKNOWN_0E11, 0x00000000], [A6XXRegs.REG_A7XX_SP_HLSQ_DBG_ECO_CNTL, 0x00000000], [A6XXRegs.REG_A6XX_SP_DBG_ECO_CNTL, 0x10000000], - [A6XXRegs.REG_A6XX_PC_MODE_CNTL, 0x1f], + [A6XXRegs.REG_A6XX_PC_MODE_CNTL, 0x1f1f], [A6XXRegs.REG_A6XX_PC_DBG_ECO_CNTL, 0x00100000], [A6XXRegs.REG_A7XX_PC_UNKNOWN_9E24, 0x01585600], [A6XXRegs.REG_A7XX_VFD_DBG_ECO_CNTL, 0x00008000], @@ -1111,9 +1109,7 @@ add_gpus([ [A6XXRegs.REG_A7XX_UCHE_UNKNOWN_0E11, 0x00000080], [A6XXRegs.REG_A7XX_SP_HLSQ_DBG_ECO_CNTL, 0x00000000], [A6XXRegs.REG_A6XX_SP_DBG_ECO_CNTL, 0x10000000], - # Blob uses 0x1f or 0x1f1f, however these values cause vertices - # corruption in some tests. - [A6XXRegs.REG_A6XX_PC_MODE_CNTL, 0x0000003f], + [A6XXRegs.REG_A6XX_PC_MODE_CNTL, 0x1f1f], [A6XXRegs.REG_A6XX_PC_DBG_ECO_CNTL, 0x00100000], [A6XXRegs.REG_A7XX_PC_UNKNOWN_9E24, 0x21585600], [A6XXRegs.REG_A7XX_VFD_DBG_ECO_CNTL, 0x00008000], diff --git a/src/freedreno/registers/adreno/a6xx.xml b/src/freedreno/registers/adreno/a6xx.xml index 3349c01646e..3144b53e8c8 100644 --- a/src/freedreno/registers/adreno/a6xx.xml +++ b/src/freedreno/registers/adreno/a6xx.xml @@ -3286,7 +3286,29 @@ by a particular renderpass/blit. - + + + + + + + + + + + + diff --git a/src/freedreno/tests/reference/crash.log b/src/freedreno/tests/reference/crash.log index f083f132dae..3acce636e17 100644 --- a/src/freedreno/tests/reference/crash.log +++ b/src/freedreno/tests/reference/crash.log @@ -6154,7 +6154,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d) 00000000 PC_HS_PARAM_1: { SIZE = 0 } 00000000 PC_DS_PARAM: { SPACING = TESS_EQUAL | OUTPUT = TESS_POINTS } ffffffff PC_RESTART_INDEX: 4294967295 - 0000001f PC_MODE_CNTL: 0x1f + 0000001f PC_MODE_CNTL: { COUNT1 = 31 } 00000001 PC_POWER_CNTL: 0x1 00000000 PC_PS_CNTL: { 0 } 00000002 PC_CNTL: { PROVOKING_VTX_LAST } @@ -6382,7 +6382,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d) 00000000 PC_HS_PARAM_1: { SIZE = 0 } 00000000 PC_DS_PARAM: { SPACING = TESS_EQUAL | OUTPUT = TESS_POINTS } ffffffff PC_RESTART_INDEX: 4294967295 - 0000001f PC_MODE_CNTL: 0x1f + 0000001f PC_MODE_CNTL: { COUNT1 = 31 } 00000001 PC_POWER_CNTL: 0x1 00000000 PC_PS_CNTL: { 0 } 00000002 PC_CNTL: { PROVOKING_VTX_LAST } diff --git a/src/freedreno/tests/reference/crash_prefetch.log b/src/freedreno/tests/reference/crash_prefetch.log index d6394ddfb86..b2c934b21ca 100644 --- a/src/freedreno/tests/reference/crash_prefetch.log +++ b/src/freedreno/tests/reference/crash_prefetch.log @@ -6761,7 +6761,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d) 00000000 PC_HS_PARAM_1: { SIZE = 0 } 00000000 PC_DS_PARAM: { SPACING = TESS_EQUAL | OUTPUT = TESS_POINTS } ffffffff PC_RESTART_INDEX: 4294967295 - 0000001f PC_MODE_CNTL: 0x1f + 0000001f PC_MODE_CNTL: { COUNT1 = 31 } 00000001 PC_POWER_CNTL: 0x1 00000000 PC_PS_CNTL: { 0 } 00000000 PC_CNTL: { 0 } @@ -6989,7 +6989,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d) 00000000 PC_HS_PARAM_1: { SIZE = 0 } 00000000 PC_DS_PARAM: { SPACING = TESS_EQUAL | OUTPUT = TESS_POINTS } ffffffff PC_RESTART_INDEX: 4294967295 - 0000001f PC_MODE_CNTL: 0x1f + 0000001f PC_MODE_CNTL: { COUNT1 = 31 } 00000001 PC_POWER_CNTL: 0x1 00000000 PC_PS_CNTL: { 0 } 00000000 PC_CNTL: { 0 } @@ -8019,7 +8019,7 @@ got cmdszdw=38 !+? 00000001 VPC_SO_OVERRIDE: { DISABLE } +? 00000000 VPC_DBG_ECO_CNTL: 0 +? 00000000 VPC_LB_MODE_CNTL: FALSE -!+? 0000001f PC_MODE_CNTL: 0x1f +!+? 0000001f PC_MODE_CNTL: { COUNT1 = 31 } +? 00000000 PC_CONTEXT_SWITCH_GFX_PREEMPTION_MODE: 0 +? 00000000 VFD_RENDER_MODE: { RENDER_MODE = RENDERING_PASS } !+? 00000001 VFD_MODE_CNTL: { VERTEX } @@ -8328,7 +8328,7 @@ got cmdszdw=38 +? 00000001 VPC_SO_OVERRIDE: { DISABLE } +? 00000000 VPC_DBG_ECO_CNTL: 0 +? 00000000 VPC_LB_MODE_CNTL: FALSE - +? 0000001f PC_MODE_CNTL: 0x1f + +? 0000001f PC_MODE_CNTL: { COUNT1 = 31 } +? 00000000 PC_CONTEXT_SWITCH_GFX_PREEMPTION_MODE: 0 +? 00000000 VFD_RENDER_MODE: { RENDER_MODE = RENDERING_PASS } +? 00000001 VFD_MODE_CNTL: { VERTEX } @@ -8849,7 +8849,7 @@ got cmdszdw=38 !+ ff00ff00 VPC_PS_CNTL: { NUMNONPOSVAR = 0 | PRIMIDLOC = 255 | VIEWIDLOC = 255 } + 00000000 VPC_SO_CNTL: { BUF0_STREAM = 0 | BUF1_STREAM = 0 | BUF2_STREAM = 0 | BUF3_STREAM = 0 | STREAM_ENABLE = 0 } 00000001 VPC_SO_OVERRIDE: { DISABLE } - 0000001f PC_MODE_CNTL: 0x1f + 0000001f PC_MODE_CNTL: { COUNT1 = 31 } + 00000000 PC_PS_CNTL: { 0 } + 00000000 VPC_RAST_STREAM_CNTL: { STREAM = 0 } !+ 00000003 PC_DGEN_RAST_CNTL: { MODE = POLYMODE6_TRIANGLES } @@ -9558,7 +9558,7 @@ got cmdszdw=38 + ff00ff00 VPC_PS_CNTL: { NUMNONPOSVAR = 0 | PRIMIDLOC = 255 | VIEWIDLOC = 255 } + 00000000 VPC_SO_CNTL: { BUF0_STREAM = 0 | BUF1_STREAM = 0 | BUF2_STREAM = 0 | BUF3_STREAM = 0 | STREAM_ENABLE = 0 } 00000001 VPC_SO_OVERRIDE: { DISABLE } - 0000001f PC_MODE_CNTL: 0x1f + 0000001f PC_MODE_CNTL: { COUNT1 = 31 } + 00000000 PC_PS_CNTL: { 0 } + 00000000 VPC_RAST_STREAM_CNTL: { STREAM = 0 } + 00000003 PC_DGEN_RAST_CNTL: { MODE = POLYMODE6_TRIANGLES } @@ -10282,7 +10282,7 @@ got cmdszdw=38 + ff00ff00 VPC_PS_CNTL: { NUMNONPOSVAR = 0 | PRIMIDLOC = 255 | VIEWIDLOC = 255 } + 00000000 VPC_SO_CNTL: { BUF0_STREAM = 0 | BUF1_STREAM = 0 | BUF2_STREAM = 0 | BUF3_STREAM = 0 | STREAM_ENABLE = 0 } 00000001 VPC_SO_OVERRIDE: { DISABLE } - 0000001f PC_MODE_CNTL: 0x1f + 0000001f PC_MODE_CNTL: { COUNT1 = 31 } + 00000000 PC_PS_CNTL: { 0 } + 00000000 VPC_RAST_STREAM_CNTL: { STREAM = 0 } + 00000003 PC_DGEN_RAST_CNTL: { MODE = POLYMODE6_TRIANGLES } @@ -10913,7 +10913,7 @@ ESTIMATED CRASH LOCATION! + ff00ff00 VPC_PS_CNTL: { NUMNONPOSVAR = 0 | PRIMIDLOC = 255 | VIEWIDLOC = 255 } + 00000000 VPC_SO_CNTL: { BUF0_STREAM = 0 | BUF1_STREAM = 0 | BUF2_STREAM = 0 | BUF3_STREAM = 0 | STREAM_ENABLE = 0 } 00000001 VPC_SO_OVERRIDE: { DISABLE } - 0000001f PC_MODE_CNTL: 0x1f + 0000001f PC_MODE_CNTL: { COUNT1 = 31 } + 00000000 PC_PS_CNTL: { 0 } + 00000000 VPC_RAST_STREAM_CNTL: { STREAM = 0 } + 00000003 PC_DGEN_RAST_CNTL: { MODE = POLYMODE6_TRIANGLES } @@ -11179,7 +11179,7 @@ ESTIMATED CRASH LOCATION! +? 00000001 VPC_SO_OVERRIDE: { DISABLE } +? 00000000 VPC_DBG_ECO_CNTL: 0 +? 00000000 VPC_LB_MODE_CNTL: FALSE - +? 0000001f PC_MODE_CNTL: 0x1f + +? 0000001f PC_MODE_CNTL: { COUNT1 = 31 } +? 00000000 PC_CONTEXT_SWITCH_GFX_PREEMPTION_MODE: 0 +? 00000000 VFD_RENDER_MODE: { RENDER_MODE = RENDERING_PASS } +? 00000001 VFD_MODE_CNTL: { VERTEX } diff --git a/src/freedreno/tests/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log b/src/freedreno/tests/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log index f7d52f9207e..a058185a452 100644 --- a/src/freedreno/tests/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log +++ b/src/freedreno/tests/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log @@ -84,7 +84,7 @@ cmdstream[0]: 265 dwords RB_MODE_CNTL: 0x1 00000000010580cc: 0000: 48881101 00000010 write PC_MODE_CNTL (9804) - PC_MODE_CNTL: 0x1f + PC_MODE_CNTL: { COUNT1 = 31 } 00000000010580d4: 0000: 48980401 0000001f write RB_SRGB_CNTL (880f) RB_SRGB_CNTL: { 0 } @@ -186,7 +186,7 @@ cmdstream[0]: 265 dwords VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 } 00000000010581dc: 0000: 40a00801 00000000 write PC_MODE_CNTL (9804) - PC_MODE_CNTL: 0x1f + PC_MODE_CNTL: { COUNT1 = 31 } 00000000010581e4: 0000: 48980401 0000001f opcode: CP_SET_DRAW_STATE (43) (4 dwords) { COUNT = 0 | DISABLE_ALL_GROUPS | GROUP_ID = 0 } @@ -317,7 +317,7 @@ cmdstream[0]: 265 dwords !+? 00000001 VPC_SO_OVERRIDE: { DISABLE } +? 00000000 VPC_DBG_ECO_CNTL: 0 +? 00000000 VPC_LB_MODE_CNTL: FALSE -!+? 0000001f PC_MODE_CNTL: 0x1f +!+? 0000001f PC_MODE_CNTL: { COUNT1 = 31 } +? 00000000 VPC_RAST_STREAM_CNTL: { STREAM = 0 } +? 00000000 PC_PRIMITIVE_CNTL_6: { STRIDE_IN_VPC = 0 } +? 00000000 PC_STEREO_RENDERING_CNTL: { VIEWS = 0 } @@ -1359,7 +1359,7 @@ cmdstream[0]: 265 dwords + 00000000 VPC_SO_CNTL: { BUF0_STREAM = 0 | BUF1_STREAM = 0 | BUF2_STREAM = 0 | BUF3_STREAM = 0 | STREAM_ENABLE = 0 } 00000000 VPC_SO_OVERRIDE: { 0 } !+ ffffffff PC_RESTART_INDEX: 4294967295 - 0000001f PC_MODE_CNTL: 0x1f + 0000001f PC_MODE_CNTL: { COUNT1 = 31 } + 00000000 PC_PS_CNTL: { 0 } 00000000 VPC_RAST_STREAM_CNTL: { STREAM = 0 } !+ 00000003 PC_DGEN_RAST_CNTL: { MODE = POLYMODE6_TRIANGLES } diff --git a/src/freedreno/tests/reference/dEQP-VK.ycbcr.plane_view.image_view.g8_b8_r8_3plane_420_unorm_plane_0_fragment-a750.log b/src/freedreno/tests/reference/dEQP-VK.ycbcr.plane_view.image_view.g8_b8_r8_3plane_420_unorm_plane_0_fragment-a750.log index cc924f75051..79d547ded5a 100644 --- a/src/freedreno/tests/reference/dEQP-VK.ycbcr.plane_view.image_view.g8_b8_r8_3plane_420_unorm_plane_0_fragment-a750.log +++ b/src/freedreno/tests/reference/dEQP-VK.ycbcr.plane_view.image_view.g8_b8_r8_3plane_420_unorm_plane_0_fragment-a750.log @@ -953,7 +953,7 @@ + 00ffffff VPC_VS_SIV_CNTL_V2: { LAYERLOC = 255 | VIEWLOC = 255 | SHADINGRATELOC = 255 } + 00000000 VPC_RAST_STREAM_CNTL_V2: { STREAM = 0 } + 00000000 PC_RESTART_INDEX: 0 - 00003f1f PC_MODE_CNTL: 0x1f | 0x3f00 + 00003f1f PC_MODE_CNTL: { COUNT1 = 31 | COUNT2 = 0 } + 00000000 PC_PS_CNTL: { 0 } 00000000 PC_DGEN_SO_CNTL: { STREAM_ENABLE = 0 } + 00000003 PC_DGEN_RAST_CNTL: { MODE = POLYMODE6_TRIANGLES } diff --git a/src/freedreno/tests/reference/fd-clouds.log b/src/freedreno/tests/reference/fd-clouds.log index 47dced8e79e..2def75e4ed8 100644 --- a/src/freedreno/tests/reference/fd-clouds.log +++ b/src/freedreno/tests/reference/fd-clouds.log @@ -75,7 +75,7 @@ cmdstream[0]: 1023 dwords RB_MODE_CNTL: 0x1 0000000001d910b4: 0000: 48881101 00000010 write PC_MODE_CNTL (9804) - PC_MODE_CNTL: 0x1f + PC_MODE_CNTL: { COUNT1 = 31 } 0000000001d910bc: 0000: 48980401 0000001f write RB_SRGB_CNTL (880f) RB_SRGB_CNTL: { 0 } @@ -216,7 +216,7 @@ cmdstream[0]: 1023 dwords VFD_STEREO_RENDERING_CNTL: { VIEWS = 0 } 0000000001d91228: 0000: 40a00801 00000000 write PC_MODE_CNTL (9804) - PC_MODE_CNTL: 0x1f + PC_MODE_CNTL: { COUNT1 = 31 } 0000000001d91230: 0000: 48980401 0000001f opcode: CP_SET_DRAW_STATE (43) (4 dwords) { COUNT = 0 | DISABLE_ALL_GROUPS | GROUP_ID = 0 } @@ -1021,7 +1021,7 @@ cmdstream[0]: 1023 dwords +? 00000000 VPC_DBG_ECO_CNTL: 0 +? 00000000 VPC_LB_MODE_CNTL: FALSE !+ ffffffff PC_RESTART_INDEX: 4294967295 -!+ 0000001f PC_MODE_CNTL: 0x1f +!+ 0000001f PC_MODE_CNTL: { COUNT1 = 31 } !+ 00000001 PC_POWER_CNTL: 0x1 + 00000000 PC_PS_CNTL: { 0 } + 00000000 VPC_RAST_STREAM_CNTL: { STREAM = 0 } @@ -5210,7 +5210,7 @@ cmdstream[0]: 1023 dwords 00000000 VPC_SO_CNTL: { BUF0_STREAM = 0 | BUF1_STREAM = 0 | BUF2_STREAM = 0 | BUF3_STREAM = 0 | STREAM_ENABLE = 0 } 00000001 VPC_SO_OVERRIDE: { DISABLE } + ffffffff PC_RESTART_INDEX: 4294967295 - 0000001f PC_MODE_CNTL: 0x1f + 0000001f PC_MODE_CNTL: { COUNT1 = 31 } 00000001 PC_POWER_CNTL: 0x1 00000000 PC_PS_CNTL: { 0 } 00000000 VPC_RAST_STREAM_CNTL: { STREAM = 0 }