blob: 2abe7e8d2c5913a3f3e4f6bd568f5902a596be58 [file] [log] [blame]
Reading src/freedreno/.gitlab-ci/traces/glxgears-a420.rd.gz...
gpu_id: 420
cmd: X/23360: fence=1029603
cmd: glxgears/23375: fence=1029604
############################################################
cmdstream: 414 dwords
t0 write RBBM_PERFCTR_CTL (0170)
RBBM_PERFCTR_CTL: 0x1
108ce000: 0000: 00000170 00000001
t0 write GRAS_DEBUG_ECO_CONTROL (0c81)
GRAS_DEBUG_ECO_CONTROL: 0
108ce008: 0000: 00000c81 00000000
t0 write SP_MODE_CONTROL (0ec3)
SP_MODE_CONTROL: 0x6
108ce010: 0000: 00000ec3 00000006
t0 write TPL1_TP_MODE_CONTROL (0f03)
TPL1_TP_MODE_CONTROL: 0x3a
108ce018: 0000: 00000f03 0000003a
t0 write UNKNOWN_0D01 (0d01)
UNKNOWN_0D01: 0x1
108ce020: 0000: 00000d01 00000001
t0 write UNKNOWN_0E42 (0e42)
UNKNOWN_0E42: 0
108ce028: 0000: 00000e42 00000000
t0 write UCHE_CACHE_WAYS_VFD (0e8c)
UCHE_CACHE_WAYS_VFD: 0x7
108ce030: 0000: 00000e8c 00000007
t0 write UCHE_CACHE_MODE_CONTROL (0e80)
UCHE_CACHE_MODE_CONTROL: 0
108ce038: 0000: 00000e80 00000000
t0 write UCHE_INVALIDATE0 (0e8a)
UCHE_INVALIDATE0: 0
UCHE_INVALIDATE1: 0x12
108ce040: 0000: 00010e8a 00000000 00000012
t0 write HLSQ_MODE_CONTROL (0e05)
HLSQ_MODE_CONTROL: 0
108ce04c: 0000: 00000e05 00000000
t0 write UNKNOWN_0CC5 (0cc5)
UNKNOWN_0CC5: 0x6
108ce054: 0000: 00000cc5 00000006
t0 write UNKNOWN_0CC6 (0cc6)
UNKNOWN_0CC6: 0
108ce05c: 0000: 00000cc6 00000000
t0 write UNKNOWN_0EC2 (0ec2)
UNKNOWN_0EC2: 0x40000
108ce064: 0000: 00000ec2 00040000
t0 write UNKNOWN_2001 (2001)
UNKNOWN_2001: 0
108ce06c: 0000: 00002001 00000000
t3 opcode: CP_INVALIDATE_STATE (3b) (2 dwords)
108ce074: 0000: c0003b00 00001000
t0 write UNKNOWN_20EF (20ef)
UNKNOWN_20EF: 0
108ce07c: 0000: 000020ef 00000000
t0 write RB_BLEND_RED (20f0)
RB_BLEND_RED: { UINT = 0 | SINT = 0 | FLOAT = 0.000000 }
RB_BLEND_RED_F32: 0.000000
RB_BLEND_GREEN: { UINT = 0 | SINT = 0 | FLOAT = 0.000000 }
RB_BLEND_GREEN_F32: 0.007813
108ce084: 0000: 000320f0 00000000 00000000 00000000 3c0000ff
t0 write UNKNOWN_2152 (2152)
UNKNOWN_2152: 0
108ce098: 0000: 00002152 00000000
t0 write UNKNOWN_2153 (2153)
UNKNOWN_2153: 0
108ce0a0: 0000: 00002153 00000000
t0 write UNKNOWN_2154 (2154)
UNKNOWN_2154: 0
108ce0a8: 0000: 00002154 00000000
t0 write UNKNOWN_2155 (2155)
UNKNOWN_2155: 0
108ce0b0: 0000: 00002155 00000000
t0 write UNKNOWN_2156 (2156)
UNKNOWN_2156: 0
108ce0b8: 0000: 00002156 00000000
t0 write UNKNOWN_2157 (2157)
UNKNOWN_2157: 0
108ce0c0: 0000: 00002157 00000000
t0 write UNKNOWN_21C3 (21c3)
UNKNOWN_21C3: 0x1d
108ce0c8: 0000: 000021c3 0000001d
t0 write PC_GS_PARAM (21e5)
PC_GS_PARAM: { MAX_VERTICES = 0 | INVOCATIONS = 0 | PRIMTYPE = PC_DRAW_POINTS }
108ce0d0: 0000: 000021e5 00000000
t0 write UNKNOWN_21E6 (21e6)
UNKNOWN_21E6: 0x1
108ce0d8: 0000: 000021e6 00000001
t0 write PC_HS_PARAM (21e7)
PC_HS_PARAM: { VERTICES_OUT = 0 | SPACING = EQUAL_SPACING }
108ce0e0: 0000: 000021e7 00000000
t0 write UNKNOWN_22D7 (22d7)
UNKNOWN_22D7: 0
108ce0e8: 0000: 000022d7 00000000
t0 write TPL1_TP_TEX_OFFSET (2380)
TPL1_TP_TEX_OFFSET: 0
108ce0f0: 0000: 00002380 00000000
t0 write TPL1_TP_TEX_COUNT (2381)
TPL1_TP_TEX_COUNT: { VS = 16 | HS = 0 | DS = 0 | GS = 0 }
108ce0f8: 0000: 00002381 00000010
t0 write TPL1_TP_FS_TEX_COUNT (23a0)
TPL1_TP_FS_TEX_COUNT: 0x10
108ce100: 0000: 000023a0 00000010
t3 opcode: CP_SET_DRAW_STATE (43) (3 dwords)
{ COUNT = 0 | DISABLE_ALL_GROUPS | GROUP_ID = 0 }
{ ADDR_LO = 0 }
108ce108: 0000: c0014300 00040000 00000000
t0 write SP_VS_PVT_MEM_PARAM (22e2)
SP_VS_PVT_MEM_PARAM: 0x8000001
SP_VS_PVT_MEM_ADDR: 0x10cd7000
108ce114: 0000: 000122e2 08000001 10cd7000
t0 write SP_FS_PVT_MEM_PARAM (22ec)
SP_FS_PVT_MEM_PARAM: 0x8000001
SP_FS_PVT_MEM_ADDR: 0x10cd9000
108ce120: 0000: 000122ec 08000001 10cd9000
t0 write GRAS_SC_CONTROL (207b)
GRAS_SC_CONTROL: { RENDER_MODE = RB_RENDERING_PASS | MSAA_SAMPLES = 0 | MSAA_DISABLE | RASTER_MODE = 0 }
108ce12c: 0000: 0000207b 00000800
t0 write RB_MSAA_CONTROL (20a2)
RB_MSAA_CONTROL: { DISABLE | SAMPLES = 0 }
108ce134: 0000: 000020a2 00001000
t0 write GRAS_CL_GB_CLIP_ADJ (2004)
GRAS_CL_GB_CLIP_ADJ: { HORZ = 0 | VERT = 0 }
108ce13c: 0000: 00002004 00000000
t0 write RB_ALPHA_CONTROL (20f8)
RB_ALPHA_CONTROL: { ALPHA_REF = 0 | ALPHA_TEST_FUNC = FUNC_ALWAYS }
108ce144: 0000: 000020f8 00000e00
t0 write RB_FS_OUTPUT (20f9)
RB_FS_OUTPUT: { ENABLE_BLEND = 0 | SAMPLE_MASK = 0xffff }
108ce14c: 0000: 000020f9 ffff0000
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0 }
108ce154: 0000: 00002073 00000000
t0 write VSC_BIN_SIZE (0c00)
VSC_BIN_SIZE: { WIDTH = 320 | HEIGHT = 320 }
108ce15c: 0000: 00000c00 0000014a
t0 write VSC_SIZE_ADDRESS (0c01)
VSC_SIZE_ADDRESS: 0x10cdb000
108ce164: 0000: 00000c01 10cdb000
t0 write VSC_PIPE_CONFIG[0].REG (0c08)
VSC_PIPE_CONFIG[0].REG: { X = 0 | Y = 0 | W = 1 | H = 1 }
VSC_PIPE_CONFIG[0x1].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
VSC_PIPE_CONFIG[0x2].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
VSC_PIPE_CONFIG[0x3].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
VSC_PIPE_CONFIG[0x4].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
VSC_PIPE_CONFIG[0x5].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
VSC_PIPE_CONFIG[0x6].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
VSC_PIPE_CONFIG[0x7].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
108ce16c: 0000: 00070c08 01100000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VSC_PIPE_DATA_ADDRESS[0].REG (0c10)
VSC_PIPE_DATA_ADDRESS[0].REG: 0x10cdc000
VSC_PIPE_DATA_ADDRESS[0x1].REG: 0x10d1c000
VSC_PIPE_DATA_ADDRESS[0x2].REG: 0x10d5c000
VSC_PIPE_DATA_ADDRESS[0x3].REG: 0x10d9c000
VSC_PIPE_DATA_ADDRESS[0x4].REG: 0x10ddc000
VSC_PIPE_DATA_ADDRESS[0x5].REG: 0x10e1c000
VSC_PIPE_DATA_ADDRESS[0x6].REG: 0x10e5c000
VSC_PIPE_DATA_ADDRESS[0x7].REG: 0x10e9c000
108ce190: 0000: 00070c10 10cdc000 10d1c000 10d5c000 10d9c000 10ddc000 10e1c000 10e5c000
108ce1b0: 0020: 10e9c000
t0 write VSC_PIPE_DATA_LENGTH[0].REG (0c18)
VSC_PIPE_DATA_LENGTH[0].REG: 0x3ffe0
VSC_PIPE_DATA_LENGTH[0x1].REG: 0x3ffe0
VSC_PIPE_DATA_LENGTH[0x2].REG: 0x3ffe0
VSC_PIPE_DATA_LENGTH[0x3].REG: 0x3ffe0
VSC_PIPE_DATA_LENGTH[0x4].REG: 0x3ffe0
VSC_PIPE_DATA_LENGTH[0x5].REG: 0x3ffe0
VSC_PIPE_DATA_LENGTH[0x6].REG: 0x3ffe0
VSC_PIPE_DATA_LENGTH[0x7].REG: 0x3ffe0
108ce1b4: 0000: 00070c18 0003ffe0 0003ffe0 0003ffe0 0003ffe0 0003ffe0 0003ffe0 0003ffe0
108ce1d4: 0020: 0003ffe0
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
108ce1d8: 0000: c0002600 00000000
t0 write RB_FRAME_BUFFER_DIMENSION (0ce0)
RB_FRAME_BUFFER_DIMENSION: { WIDTH = 300 | HEIGHT = 300 }
108ce1e0: 0000: 00000ce0 012c012c
t0 write RB_MODE_CONTROL (20a0)
RB_MODE_CONTROL: { WIDTH = 320 | HEIGHT = 320 | ENABLE_GMEM }
108ce1e8: 0000: 000020a0 00010a0a
t0 write RB_DEPTH_INFO (2103)
RB_DEPTH_INFO: { DEPTH_FORMAT = DEPTH4_24_8 | DEPTH_BASE = 0x64000 }
RB_DEPTH_PITCH: 1280
RB_DEPTH_PITCH2: 1280
108ce1f0: 0000: 00022103 00064002 00000028 00000028
t0 write RB_STENCIL_INFO (2108)
RB_STENCIL_INFO: { STENCIL_BASE = 0 }
RB_STENCIL_PITCH: 0
108ce200: 0000: 00012108 00000000 00000000
t0 write GRAS_DEPTH_CONTROL (2077)
GRAS_DEPTH_CONTROL: { FORMAT = DEPTH4_24_8 }
108ce20c: 0000: 00002077 00000002
t0 write PC_VSTREAM_CONTROL (21c2)
PC_VSTREAM_CONTROL: { SIZE = 0 | N = 0 }
108ce214: 0000: 000021c2 00000000
t3 opcode: (null) (4c) (4 dwords)
108ce21c: 0000: c0024c00 00000000 00000000 012b012b
t0 write RB_MRT[0].BUF_INFO (20a5)
RB_MRT[0].BUF_INFO: { COLOR_FORMAT = RB4_R8G8B8A8_UNORM | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WXYZ | COLOR_BUF_PITCH = 1280 }
RB_MRT[0].BASE: 0
RB_MRT[0].CONTROL3: { STRIDE = 1280 }
108ce22c: 0000: 000220a5 0014089a 00000000 00002800
t0 write RB_MRT[0x1].BUF_INFO (20aa)
RB_MRT[0x1].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
RB_MRT[0x1].BASE: 0
RB_MRT[0x1].CONTROL3: { STRIDE = 0 }
108ce23c: 0000: 000220aa 00000080 00000000 00000000
t0 write RB_MRT[0x2].BUF_INFO (20af)
RB_MRT[0x2].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
RB_MRT[0x2].BASE: 0
RB_MRT[0x2].CONTROL3: { STRIDE = 0 }
108ce24c: 0000: 000220af 00000080 00000000 00000000
t0 write RB_MRT[0x3].BUF_INFO (20b4)
RB_MRT[0x3].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
RB_MRT[0x3].BASE: 0
RB_MRT[0x3].CONTROL3: { STRIDE = 0 }
108ce25c: 0000: 000220b4 00000080 00000000 00000000
t0 write RB_MRT[0x4].BUF_INFO (20b9)
RB_MRT[0x4].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
RB_MRT[0x4].BASE: 0
RB_MRT[0x4].CONTROL3: { STRIDE = 0 }
108ce26c: 0000: 000220b9 00000080 00000000 00000000
t0 write RB_MRT[0x5].BUF_INFO (20be)
RB_MRT[0x5].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
RB_MRT[0x5].BASE: 0
RB_MRT[0x5].CONTROL3: { STRIDE = 0 }
108ce27c: 0000: 000220be 00000080 00000000 00000000
t0 write RB_MRT[0x6].BUF_INFO (20c3)
RB_MRT[0x6].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
RB_MRT[0x6].BASE: 0
RB_MRT[0x6].CONTROL3: { STRIDE = 0 }
108ce28c: 0000: 000220c3 00000080 00000000 00000000
t0 write RB_MRT[0x7].BUF_INFO (20c8)
RB_MRT[0x7].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
RB_MRT[0x7].BASE: 0
RB_MRT[0x7].CONTROL3: { STRIDE = 0 }
108ce29c: 0000: 000220c8 00000080 00000000 00000000
t0 write RB_BIN_OFFSET (210d)
RB_BIN_OFFSET: { X = 0 | Y = 0 }
108ce2ac: 0000: 0000210d 00000000
t0 write GRAS_SC_SCREEN_SCISSOR_TL (207c)
GRAS_SC_SCREEN_SCISSOR_TL: { X = 0 | Y = 0 }
GRAS_SC_SCREEN_SCISSOR_BR: { X = 299 | Y = 299 }
108ce2b4: 0000: 0001207c 00000000 012b012b
t0 write RB_RENDER_CONTROL (20a1)
RB_RENDER_CONTROL: { 0x8 }
108ce2c0: 0000: 000020a1 00000008
t0 write CP_SCRATCH[0x6].REG (057e)
CP_SCRATCH[0x6].REG: 0x73
:0,0,115,0
108ce2c8: 0000: 0000057e 00000073
t3 opcode: CP_INDIRECT_BUFFER (3f) (3 dwords)
ibaddr:109ce000
ibsize:00000f2e
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x1
:0,1,115,0
109ce000: 0000: 0000057d 00000001
t0 write RB_RENDER_COMPONENTS (20fb)
RB_RENDER_COMPONENTS: { RT0 = 0xf | RT1 = 0 | RT2 = 0 | RT3 = 0 | RT4 = 0 | RT5 = 0 | RT6 = 0 | RT7 = 0 }
109ce008: 0000: 000020fb 0000000f
t0 write RB_ALPHA_CONTROL (20f8)
RB_ALPHA_CONTROL: { ALPHA_REF = 0 | ALPHA_TEST_FUNC = FUNC_NEVER }
109ce010: 0000: 000020f8 00000000
t0 write RB_STENCIL_CONTROL (2106)
RB_STENCIL_CONTROL: { FUNC = FUNC_NEVER | FAIL = STENCIL_KEEP | ZPASS = STENCIL_KEEP | ZFAIL = STENCIL_KEEP | FUNC_BF = FUNC_NEVER | FAIL_BF = STENCIL_KEEP | ZPASS_BF = STENCIL_KEEP | ZFAIL_BF = STENCIL_KEEP }
RB_STENCIL_CONTROL2: { 0 }
109ce018: 0000: 00012106 00000000 00000000
t0 write RB_STENCILREFMASK (210b)
RB_STENCILREFMASK: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0 }
RB_STENCILREFMASK_BF: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0 }
109ce024: 0000: 0001210b 00000000 00000000
t0 write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_ALWAYS | Z_TEST_ENABLE }
109ce030: 0000: 00002101 80000076
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0 }
109ce038: 0000: 00002073 00000000
t0 write GRAS_SU_MODE_CONTROL (2078)
GRAS_SU_MODE_CONTROL: { FRONT_CW | LINEHALFWIDTH = 0.000000 | RENDERING_PASS }
109ce040: 0000: 00002078 00100004
t0 write GRAS_SU_POINT_MINMAX (2070)
GRAS_SU_POINT_MINMAX: { MIN = 0.000000 | MAX = 0.000000 }
GRAS_SU_POINT_SIZE: 0.000000
109ce048: 0000: 00012070 00000000 00000000
t0 write GRAS_SU_POLY_OFFSET_SCALE (2074)
GRAS_SU_POLY_OFFSET_SCALE: 0.000000
GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
109ce054: 0000: 00022074 00000000 00000000 00000000
t0 write GRAS_CL_CLIP_CNTL (2000)
GRAS_CL_CLIP_CNTL: { 0x80000 }
109ce064: 0000: 00002000 00080000
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 0 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109ce06c: 0000: 000121c4 02000000 00000012
t0 write GRAS_SC_WINDOW_SCISSOR_BR (209c)
GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
109ce078: 0000: 0001209c 012b012b 00000000
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109ce084: 0000: c0002600 00000000
t0 write GRAS_CL_VPORT_XOFFSET_0 (2008)
GRAS_CL_VPORT_XOFFSET_0: 150.000000
GRAS_CL_VPORT_XSCALE_0: 150.000000
GRAS_CL_VPORT_YOFFSET_0: 150.000000
GRAS_CL_VPORT_YSCALE_0: -150.000000
GRAS_CL_VPORT_ZOFFSET_0: 0.000000
GRAS_CL_VPORT_ZSCALE_0: 1.000000
109ce08c: 0000: 00052008 43160000 43160000 43160000 c3160000 00000000 3f800000
t0 write RB_VPORT_Z_CLAMP[0].MIN (2120)
RB_VPORT_Z_CLAMP[0].MIN: 0
RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
109ce0a8: 0000: 00012120 00000000 00ffffff
t0 write HLSQ_UPDATE_CONTROL (23db)
HLSQ_UPDATE_CONTROL: 0x3
109ce0b4: 0000: 000023db 00000003
t0 write HLSQ_CONTROL_0_REG (23c0)
HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 | 0xfc0000 }
109ce0bc: 0000: 000423c0 28000250 fcfc0100 fff3f3f0 fcfcfcfc 00fcfcfc
t0 write HLSQ_VS_CONTROL_REG (23c5)
HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 1 }
HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
109ce0d4: 0000: 000423c5 01000042 017e423e 007e4200 007e4200 007e4200
t0 write SP_SP_CTRL_REG (22c0)
SP_SP_CTRL_REG: { 0x140010 }
109ce0ec: 0000: 000022c0 00140010
t0 write SP_INSTR_CACHE_CTRL (22c1)
SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
109ce0f4: 0000: 000022c1 000005ff
t0 write SP_VS_LENGTH_REG (22e5)
SP_VS_LENGTH_REG: 1
109ce0fc: 0000: 000022e5 00000001
t0 write SP_VS_CTRL_REG0 (22c4)
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 4 }
SP_VS_PARAM_REG: { POSREGID = r0.x | PSIZEREGID = r63.x | TOTALVSOUTVAR = 0 }
109ce104: 0000: 000222c4 00200400 04000042 0000fc00
t0 write SP_VS_OBJ_OFFSET_REG (22e0)
SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
SP_VS_OBJ_START: 0x1073c000
109ce114: 0000: 000122e0 00000000 1073c000
t0 write SP_FS_LENGTH_REG (22ef)
SP_FS_LENGTH_REG: 1
109ce120: 0000: 000022ef 00000001
t0 write SP_FS_CTRL_REG0 (22e8)
SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | 0x80000000 }
109ce128: 0000: 000122e8 00340400 8000003e
t0 write SP_FS_OBJ_OFFSET_REG (22ea)
SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
SP_FS_OBJ_START: 0x1073b000
109ce134: 0000: 000122ea 7e420000 1073b000
t0 write SP_HS_OBJ_OFFSET_REG (230d)
SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109ce140: 0000: 0000230d 7e420000
t0 write SP_DS_OBJ_OFFSET_REG (2334)
SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109ce148: 0000: 00002334 7e420000
t0 write SP_GS_OBJ_OFFSET_REG (235b)
SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109ce150: 0000: 0000235b 7e420000
t0 write GRAS_CNTL (2003)
GRAS_CNTL: { 0 }
109ce158: 0000: 00002003 00000000
t0 write RB_RENDER_CONTROL2 (20a3)
RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
109ce160: 0000: 000020a3 00000000
t0 write RB_FS_OUTPUT_REG (2100)
RB_FS_OUTPUT_REG: { MRT = 1 }
109ce168: 0000: 00002100 00000001
t0 write SP_FS_OUTPUT_REG (22f0)
SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
109ce170: 0000: 000022f0 0000fc01
t0 write SP_FS_MRT[0].REG (22f1)
SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
109ce178: 0000: 000722f1 0001a000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_ATTR (2140)
VPC_ATTR: { TOTALATTR = 0 | THRDASSIGN = 1 | 0x40000000 }
VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 0 | NUMNONPOSVSVAR = 0 }
109ce19c: 0000: 00012140 40001000 00000000
t0 write VPC_VARYING_INTERP[0].MODE (2142)
VPC_VARYING_INTERP[0].MODE: 0
VPC_VARYING_INTERP[0x1].MODE: 0
VPC_VARYING_INTERP[0x2].MODE: 0
VPC_VARYING_INTERP[0x3].MODE: 0
VPC_VARYING_INTERP[0x4].MODE: 0
VPC_VARYING_INTERP[0x5].MODE: 0
VPC_VARYING_INTERP[0x6].MODE: 0
VPC_VARYING_INTERP[0x7].MODE: 0
109ce1a8: 0000: 00072142 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_VARYING_PS_REPL[0].MODE (214a)
VPC_VARYING_PS_REPL[0].MODE: 0
VPC_VARYING_PS_REPL[0x1].MODE: 0
VPC_VARYING_PS_REPL[0x2].MODE: 0
VPC_VARYING_PS_REPL[0x3].MODE: 0
VPC_VARYING_PS_REPL[0x4].MODE: 0
VPC_VARYING_PS_REPL[0x5].MODE: 0
VPC_VARYING_PS_REPL[0x6].MODE: 0
VPC_VARYING_PS_REPL[0x7].MODE: 0
109ce1cc: 0000: 0007214a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:0:0000:0000[03000000x_00000000x] end
:0:0001:0001[00000000x_00000000x] nop
:0:0002:0002[00000000x_00000000x] nop
:0:0003:0003[00000000x_00000000x] nop
:0:0004:0004[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): (cnt=0, max=0)
- input (half): (cnt=0, max=0)
- input (full): (cnt=0, max=0)
- max const: 0
- output (half): (cnt=0, max=0) (estimated)
- output (full): (cnt=0, max=0) (estimated)
- shaderdb: 5 instructions, 4 nops, 1 non-nops, (5 instlen), 0 half, 0 full
- shaderdb: 0 (ss), 0 (sy)
109ce1f0: 0000: c0213000 00600000 00000000 00000000 03000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:1:0000:0000[20244000x_00000000x] mov.f32f32 r0.x, c0.x
:1:0001:0001[20244001x_00000001x] mov.f32f32 r0.y, c0.y
:1:0002:0002[20244002x_00000002x] mov.f32f32 r0.z, c0.z
:1:0003:0003[20244003x_00000003x] mov.f32f32 r0.w, c0.w
:0:0004:0004[03000000x_00000000x] end
:0:0005:0005[00000000x_00000000x] nop
:0:0006:0006[00000000x_00000000x] nop
:0:0007:0007[00000000x_00000000x] nop
:0:0008:0008[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-3 (cnt=4, max=3)
- input (half): (cnt=0, max=0)
- input (full): (cnt=0, max=0)
- max const: 3
- output (half): (cnt=0, max=0) (estimated)
- output (full): 0-3 (cnt=4, max=3) (estimated)
- shaderdb: 9 instructions, 8 nops, 1 non-nops, (9 instlen), 0 half, 1 full
- shaderdb: 0 (ss), 0 (sy)
109ce27c: 0000: c0213000 00700000 00000000 00000000 20244000 00000001 20244001 00000002
109ce29c: 0020: 20244002 00000003 20244003 00000000 03000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (19 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 4 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109ce314: 0.000000 0.000000 0.000000 0.000000 -nan -nan 0.000000 0.000000
109ce334: 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
109ce314: 0000: 00000000 00000000 00000000 00000000 ffffffff ffffffff 00000405 00000000
109ce334: 0020: 00000000 00000000 02070000 00000000 00000000 00000000 00000000 00000000
109ce308: 0000: c0113000 01300000 00000001 00000000 00000000 00000000 00000000 ffffffff
109ce328: 0020: ffffffff 00000405 00000000 00000000 00000000 02070000 00000000 00000000
*
t0 write RB_MRT[0].CONTROL (20a4)
RB_MRT[0].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
109ce354: 0000: 000020a4 0f000c00
t0 write RB_MRT[0].BLEND_CONTROL (20a8)
RB_MRT[0].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109ce35c: 0000: 000020a8 00000000
t0 write RB_MRT[0x1].CONTROL (20a9)
RB_MRT[0x1].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
109ce364: 0000: 000020a9 00000c00
t0 write RB_MRT[0x1].BLEND_CONTROL (20ad)
RB_MRT[0x1].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109ce36c: 0000: 000020ad 00000000
t0 write RB_MRT[0x2].CONTROL (20ae)
RB_MRT[0x2].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
109ce374: 0000: 000020ae 00000c00
t0 write RB_MRT[0x2].BLEND_CONTROL (20b2)
RB_MRT[0x2].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109ce37c: 0000: 000020b2 00000000
t0 write RB_MRT[0x3].CONTROL (20b3)
RB_MRT[0x3].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
109ce384: 0000: 000020b3 00000c00
t0 write RB_MRT[0x3].BLEND_CONTROL (20b7)
RB_MRT[0x3].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109ce38c: 0000: 000020b7 00000000
t0 write RB_MRT[0x4].CONTROL (20b8)
RB_MRT[0x4].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
109ce394: 0000: 000020b8 00000c00
t0 write RB_MRT[0x4].BLEND_CONTROL (20bc)
RB_MRT[0x4].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109ce39c: 0000: 000020bc 00000000
t0 write RB_MRT[0x5].CONTROL (20bd)
RB_MRT[0x5].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
109ce3a4: 0000: 000020bd 00000c00
t0 write RB_MRT[0x5].BLEND_CONTROL (20c1)
RB_MRT[0x5].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109ce3ac: 0000: 000020c1 00000000
t0 write RB_MRT[0x6].CONTROL (20c2)
RB_MRT[0x6].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
109ce3b4: 0000: 000020c2 00000c00
t0 write RB_MRT[0x6].BLEND_CONTROL (20c6)
RB_MRT[0x6].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109ce3bc: 0000: 000020c6 00000000
t0 write RB_MRT[0x7].CONTROL (20c7)
RB_MRT[0x7].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
109ce3c4: 0000: 000020c7 00000c00
t0 write RB_MRT[0x7].BLEND_CONTROL (20cb)
RB_MRT[0x7].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109ce3cc: 0000: 000020cb 00000000
t0 write RB_FS_OUTPUT (20f9)
RB_FS_OUTPUT: { ENABLE_BLEND = 0 | INDEPENDENT_BLEND | SAMPLE_MASK = 0xffff }
109ce3d4: 0000: 000020f9 ffff0100
t0 write RB_BLEND_RED (20f0)
RB_BLEND_RED: { UINT = 0 | SINT = 0 | FLOAT = 0.000000 }
RB_BLEND_RED_F32: 0.000000
RB_BLEND_GREEN: { UINT = 0 | SINT = 0 | FLOAT = 0.000000 }
RB_BLEND_GREEN_F32: 0.000000
RB_BLEND_BLUE: { UINT = 0 | SINT = 0 | FLOAT = 0.000000 }
RB_BLEND_BLUE_F32: 0.000000
RB_BLEND_ALPHA: { UINT = 0 | SINT = 0 | FLOAT = 0.000000 }
RB_BLEND_ALPHA_F32: 0.000000
109ce3dc: 0000: 000720f0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VFD_FETCH[0].INSTR_0 (220a)
VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 12 }
VFD_FETCH[0].INSTR_1: 0x1074a000
VFD_FETCH[0].INSTR_2: { SIZE = 0x1000 }
VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
109ce400: 0000: 0003220a 0000060b 1074a000 00001000 00000001
t0 write VFD_DECODE[0].INSTR (228a)
VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.x | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
109ce414: 0000: 0000228a 2c0000df
t0 write VFD_CONTROL_0 (2200)
VFD_CONTROL_0: { TOTALATTRTOVS = 4 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 1 | STRMFETCHINSTRCNT = 1 | 0xa0000 }
VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
VFD_CONTROL_2: 0
VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
VFD_CONTROL_4: 0
109ce41c: 0000: 00042200 041a0004 fcfc0081 00000000 0000fc00 00000000
t0 write UCHE_INVALIDATE0 (0e8a)
UCHE_INVALIDATE0: 0
UCHE_INVALIDATE1: 0x12
109ce434: 0000: 00010e8a 00000000 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109ce440: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109ce44c: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x2
:0,1,115,2
109ce454: 0000: 0000057f 00000002
t3 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
{ PRIM_TYPE = DI_PT_RECTLIST | SOURCE_SELECT = DI_SRC_SEL_AUTO_INDEX | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_32_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 2 }
draw[0] register values
!+ 00000001 RBBM_PERFCTR_CTL: 0x1
!+ 00000001 CP_SCRATCH[0x5].REG: 0x1
:0,1,115,2
!+ 00000073 CP_SCRATCH[0x6].REG: 0x73
:0,1,115,2
!+ 00000002 CP_SCRATCH[0x7].REG: 0x2
:0,1,115,2
!+ 0000014a VSC_BIN_SIZE: { WIDTH = 320 | HEIGHT = 320 }
!+ 10cdb000 VSC_SIZE_ADDRESS: 0x10cdb000
!+ 01100000 VSC_PIPE_CONFIG[0].REG: { X = 0 | Y = 0 | W = 1 | H = 1 }
+ 00000000 VSC_PIPE_CONFIG[0x1].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
+ 00000000 VSC_PIPE_CONFIG[0x2].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
+ 00000000 VSC_PIPE_CONFIG[0x3].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
+ 00000000 VSC_PIPE_CONFIG[0x4].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
+ 00000000 VSC_PIPE_CONFIG[0x5].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
+ 00000000 VSC_PIPE_CONFIG[0x6].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
+ 00000000 VSC_PIPE_CONFIG[0x7].REG: { X = 0 | Y = 0 | W = 0 | H = 0 }
!+ 10cdc000 VSC_PIPE_DATA_ADDRESS[0].REG: 0x10cdc000
!+ 10d1c000 VSC_PIPE_DATA_ADDRESS[0x1].REG: 0x10d1c000
!+ 10d5c000 VSC_PIPE_DATA_ADDRESS[0x2].REG: 0x10d5c000
!+ 10d9c000 VSC_PIPE_DATA_ADDRESS[0x3].REG: 0x10d9c000
!+ 10ddc000 VSC_PIPE_DATA_ADDRESS[0x4].REG: 0x10ddc000
!+ 10e1c000 VSC_PIPE_DATA_ADDRESS[0x5].REG: 0x10e1c000
!+ 10e5c000 VSC_PIPE_DATA_ADDRESS[0x6].REG: 0x10e5c000
!+ 10e9c000 VSC_PIPE_DATA_ADDRESS[0x7].REG: 0x10e9c000
!+ 0003ffe0 VSC_PIPE_DATA_LENGTH[0].REG: 0x3ffe0
!+ 0003ffe0 VSC_PIPE_DATA_LENGTH[0x1].REG: 0x3ffe0
!+ 0003ffe0 VSC_PIPE_DATA_LENGTH[0x2].REG: 0x3ffe0
!+ 0003ffe0 VSC_PIPE_DATA_LENGTH[0x3].REG: 0x3ffe0
!+ 0003ffe0 VSC_PIPE_DATA_LENGTH[0x4].REG: 0x3ffe0
!+ 0003ffe0 VSC_PIPE_DATA_LENGTH[0x5].REG: 0x3ffe0
!+ 0003ffe0 VSC_PIPE_DATA_LENGTH[0x6].REG: 0x3ffe0
!+ 0003ffe0 VSC_PIPE_DATA_LENGTH[0x7].REG: 0x3ffe0
+ 00000000 GRAS_DEBUG_ECO_CONTROL: 0
!+ 00000006 UNKNOWN_0CC5: 0x6
+ 00000000 UNKNOWN_0CC6: 0
!+ 012c012c RB_FRAME_BUFFER_DIMENSION: { WIDTH = 300 | HEIGHT = 300 }
!+ 00000001 UNKNOWN_0D01: 0x1
+ 00000000 HLSQ_MODE_CONTROL: 0
+ 00000000 UNKNOWN_0E42: 0
+ 00000000 UCHE_CACHE_MODE_CONTROL: 0
+ 00000000 UCHE_INVALIDATE0: 0
!+ 00000012 UCHE_INVALIDATE1: 0x12
!+ 00000007 UCHE_CACHE_WAYS_VFD: 0x7
!+ 00040000 UNKNOWN_0EC2: 0x40000
!+ 00000006 SP_MODE_CONTROL: 0x6
!+ 0000003a TPL1_TP_MODE_CONTROL: 0x3a
!+ 00080000 GRAS_CL_CLIP_CNTL: { 0x80000 }
+ 00000000 UNKNOWN_2001: 0
+ 00000000 GRAS_CNTL: { 0 }
+ 00000000 GRAS_CL_GB_CLIP_ADJ: { HORZ = 0 | VERT = 0 }
!+ 43160000 GRAS_CL_VPORT_XOFFSET_0: 150.000000
!+ 43160000 GRAS_CL_VPORT_XSCALE_0: 150.000000
!+ 43160000 GRAS_CL_VPORT_YOFFSET_0: 150.000000
!+ c3160000 GRAS_CL_VPORT_YSCALE_0: -150.000000
+ 00000000 GRAS_CL_VPORT_ZOFFSET_0: 0.000000
!+ 3f800000 GRAS_CL_VPORT_ZSCALE_0: 1.000000
+ 00000000 GRAS_SU_POINT_MINMAX: { MIN = 0.000000 | MAX = 0.000000 }
+ 00000000 GRAS_SU_POINT_SIZE: 0.000000
+ 00000000 GRAS_ALPHA_CONTROL: { 0 }
+ 00000000 GRAS_SU_POLY_OFFSET_SCALE: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
!+ 00000002 GRAS_DEPTH_CONTROL: { FORMAT = DEPTH4_24_8 }
!+ 00100004 GRAS_SU_MODE_CONTROL: { FRONT_CW | LINEHALFWIDTH = 0.000000 | RENDERING_PASS }
!+ 00000800 GRAS_SC_CONTROL: { RENDER_MODE = RB_RENDERING_PASS | MSAA_SAMPLES = 0 | MSAA_DISABLE | RASTER_MODE = 0 }
+ 00000000 GRAS_SC_SCREEN_SCISSOR_TL: { X = 0 | Y = 0 }
!+ 012b012b GRAS_SC_SCREEN_SCISSOR_BR: { X = 299 | Y = 299 }
!+ 012b012b GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
+ 00000000 GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
!+ 00010a0a RB_MODE_CONTROL: { WIDTH = 320 | HEIGHT = 320 | ENABLE_GMEM }
!+ 00000008 RB_RENDER_CONTROL: { 0x8 }
!+ 00001000 RB_MSAA_CONTROL: { DISABLE | SAMPLES = 0 }
+ 00000000 RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
!+ 0f000c00 RB_MRT[0].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
!+ 0014089a RB_MRT[0].BUF_INFO: { COLOR_FORMAT = RB4_R8G8B8A8_UNORM | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WXYZ | COLOR_BUF_PITCH = 1280 }
+ 00000000 RB_MRT[0].BASE: 0
!+ 00002800 RB_MRT[0].CONTROL3: { STRIDE = 1280 }
+ 00000000 RB_MRT[0].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 00000c00 RB_MRT[0x1].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
!+ 00000080 RB_MRT[0x1].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
+ 00000000 RB_MRT[0x1].BASE: 0
+ 00000000 RB_MRT[0x1].CONTROL3: { STRIDE = 0 }
+ 00000000 RB_MRT[0x1].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 00000c00 RB_MRT[0x2].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
!+ 00000080 RB_MRT[0x2].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
+ 00000000 RB_MRT[0x2].BASE: 0
+ 00000000 RB_MRT[0x2].CONTROL3: { STRIDE = 0 }
+ 00000000 RB_MRT[0x2].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 00000c00 RB_MRT[0x3].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
!+ 00000080 RB_MRT[0x3].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
+ 00000000 RB_MRT[0x3].BASE: 0
+ 00000000 RB_MRT[0x3].CONTROL3: { STRIDE = 0 }
+ 00000000 RB_MRT[0x3].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 00000c00 RB_MRT[0x4].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
!+ 00000080 RB_MRT[0x4].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
+ 00000000 RB_MRT[0x4].BASE: 0
+ 00000000 RB_MRT[0x4].CONTROL3: { STRIDE = 0 }
+ 00000000 RB_MRT[0x4].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 00000c00 RB_MRT[0x5].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
!+ 00000080 RB_MRT[0x5].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
+ 00000000 RB_MRT[0x5].BASE: 0
+ 00000000 RB_MRT[0x5].CONTROL3: { STRIDE = 0 }
+ 00000000 RB_MRT[0x5].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 00000c00 RB_MRT[0x6].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
!+ 00000080 RB_MRT[0x6].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
+ 00000000 RB_MRT[0x6].BASE: 0
+ 00000000 RB_MRT[0x6].CONTROL3: { STRIDE = 0 }
+ 00000000 RB_MRT[0x6].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 00000c00 RB_MRT[0x7].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0 }
!+ 00000080 RB_MRT[0x7].BUF_INFO: { COLOR_FORMAT = 0 | COLOR_TILE_MODE = TILE4_2 | DITHER_MODE = DITHER_DISABLE | COLOR_SWAP = WZYX | COLOR_BUF_PITCH = 0 }
+ 00000000 RB_MRT[0x7].BASE: 0
+ 00000000 RB_MRT[0x7].CONTROL3: { STRIDE = 0 }
+ 00000000 RB_MRT[0x7].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
+ 00000000 UNKNOWN_20EF: 0
+ 00000000 RB_BLEND_RED: { UINT = 0 | SINT = 0 | FLOAT = 0.000000 }
+ 00000000 RB_BLEND_RED_F32: 0.000000
+ 00000000 RB_BLEND_GREEN: { UINT = 0 | SINT = 0 | FLOAT = 0.000000 }
+ 00000000 RB_BLEND_GREEN_F32: 0.000000
+ 00000000 RB_BLEND_BLUE: { UINT = 0 | SINT = 0 | FLOAT = 0.000000 }
+ 00000000 RB_BLEND_BLUE_F32: 0.000000
+ 00000000 RB_BLEND_ALPHA: { UINT = 0 | SINT = 0 | FLOAT = 0.000000 }
+ 00000000 RB_BLEND_ALPHA_F32: 0.000000
+ 00000000 RB_ALPHA_CONTROL: { ALPHA_REF = 0 | ALPHA_TEST_FUNC = FUNC_NEVER }
!+ ffff0100 RB_FS_OUTPUT: { ENABLE_BLEND = 0 | INDEPENDENT_BLEND | SAMPLE_MASK = 0xffff }
!+ 0000000f RB_RENDER_COMPONENTS: { RT0 = 0xf | RT1 = 0 | RT2 = 0 | RT3 = 0 | RT4 = 0 | RT5 = 0 | RT6 = 0 | RT7 = 0 }
!+ 00000001 RB_FS_OUTPUT_REG: { MRT = 1 }
!+ 80000076 RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_ALWAYS | Z_TEST_ENABLE }
!+ 00064002 RB_DEPTH_INFO: { DEPTH_FORMAT = DEPTH4_24_8 | DEPTH_BASE = 0x64000 }
!+ 00000028 RB_DEPTH_PITCH: 1280
!+ 00000028 RB_DEPTH_PITCH2: 1280
+ 00000000 RB_STENCIL_CONTROL: { FUNC = FUNC_NEVER | FAIL = STENCIL_KEEP | ZPASS = STENCIL_KEEP | ZFAIL = STENCIL_KEEP | FUNC_BF = FUNC_NEVER | FAIL_BF = STENCIL_KEEP | ZPASS_BF = STENCIL_KEEP | ZFAIL_BF = STENCIL_KEEP }
+ 00000000 RB_STENCIL_CONTROL2: { 0 }
+ 00000000 RB_STENCIL_INFO: { STENCIL_BASE = 0 }
+ 00000000 RB_STENCIL_PITCH: 0
+ 00000000 RB_STENCILREFMASK: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0 }
+ 00000000 RB_STENCILREFMASK_BF: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0 }
+ 00000000 RB_BIN_OFFSET: { X = 0 | Y = 0 }
+ 00000000 RB_VPORT_Z_CLAMP[0].MIN: 0
!+ 00ffffff RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
!+ 40001000 VPC_ATTR: { TOTALATTR = 0 | THRDASSIGN = 1 | 0x40000000 }
+ 00000000 VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 0 | NUMNONPOSVSVAR = 0 }
+ 00000000 VPC_VARYING_INTERP[0].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x1].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x2].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x3].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x4].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x5].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x6].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x7].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x1].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x2].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x3].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x4].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x5].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x6].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x7].MODE: 0
+ 00000000 UNKNOWN_2152: 0
+ 00000000 UNKNOWN_2153: 0
+ 00000000 UNKNOWN_2154: 0
+ 00000000 UNKNOWN_2155: 0
+ 00000000 UNKNOWN_2156: 0
+ 00000000 UNKNOWN_2157: 0
+ 00000000 PC_VSTREAM_CONTROL: { SIZE = 0 | N = 0 }
!+ 0000001d UNKNOWN_21C3: 0x1d
!+ 02000000 PC_PRIM_VTX_CNTL: { VAROUT = 0 | PROVOKING_VTX_LAST }
!+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
!+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 PC_GS_PARAM: { MAX_VERTICES = 0 | INVOCATIONS = 0 | PRIMTYPE = PC_DRAW_POINTS }
!+ 00000001 UNKNOWN_21E6: 0x1
+ 00000000 PC_HS_PARAM: { VERTICES_OUT = 0 | SPACING = EQUAL_SPACING }
!+ 041a0004 VFD_CONTROL_0: { TOTALATTRTOVS = 4 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 1 | STRMFETCHINSTRCNT = 1 | 0xa0000 }
!+ fcfc0081 VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
+ 00000000 VFD_CONTROL_2: 0
!+ 0000fc00 VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
+ 00000000 VFD_CONTROL_4: 0
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
!+ 0000060b VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 12 }
!+ 1074a000 VFD_FETCH[0].INSTR_1: 0x1074a000
!+ 00001000 VFD_FETCH[0].INSTR_2: { SIZE = 0x1000 }
!+ 00000001 VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
!+ 2c0000df VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.x | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
!+ 00140010 SP_SP_CTRL_REG: { 0x140010 }
!+ 000005ff SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
!+ 00200400 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
!+ 04000042 SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 4 }
!+ 0000fc00 SP_VS_PARAM_REG: { POSREGID = r0.x | PSIZEREGID = r63.x | TOTALVSOUTVAR = 0 }
+ 00000000 UNKNOWN_22D7: 0
+ 00000000 SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
!+ 1073c000 SP_VS_OBJ_START: 0x1073c000
!+ 08000001 SP_VS_PVT_MEM_PARAM: 0x8000001
!+ 10cd7000 SP_VS_PVT_MEM_ADDR: 0x10cd7000
!+ 00000001 SP_VS_LENGTH_REG: 1
!+ 00340400 SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
!+ 8000003e SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | 0x80000000 }
!+ 7e420000 SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
!+ 1073b000 SP_FS_OBJ_START: 0x1073b000
!+ 08000001 SP_FS_PVT_MEM_PARAM: 0x8000001
!+ 10cd9000 SP_FS_PVT_MEM_ADDR: 0x10cd9000
!+ 00000001 SP_FS_LENGTH_REG: 1
!+ 0000fc01 SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
!+ 0001a000 SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
+ 00000000 SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 7e420000 SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
!+ 7e420000 SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
!+ 7e420000 SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 00000000 TPL1_TP_TEX_OFFSET: 0
!+ 00000010 TPL1_TP_TEX_COUNT: { VS = 16 | HS = 0 | DS = 0 | GS = 0 }
!+ 00000010 TPL1_TP_FS_TEX_COUNT: 0x10
!+ 28000250 HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
!+ fcfc0100 HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
!+ fff3f3f0 HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 }
!+ 00fcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | 0xfc0000 }
!+ 01000042 HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 1 }
!+ 017e423e HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
!+ 007e4200 HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
!+ 007e4200 HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
!+ 007e4200 HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
!+ 00000003 HLSQ_UPDATE_CONTROL: 0x3
109ce45c: 0000: c0023800 00000888 00000001 00000002
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x3
:0,1,115,3
109ce46c: 0000: 0000057f 00000003
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x7
:0,7,115,3
109ce474: 0000: 0000057d 00000007
t0 write RB_ALPHA_CONTROL (20f8)
RB_ALPHA_CONTROL: { ALPHA_REF = 0 | ALPHA_TEST_FUNC = FUNC_NEVER }
109ce47c: 0000: 000020f8 00000000
t0 write RB_STENCIL_CONTROL (2106)
RB_STENCIL_CONTROL: { FUNC = FUNC_NEVER | FAIL = STENCIL_KEEP | ZPASS = STENCIL_KEEP | ZFAIL = STENCIL_KEEP | FUNC_BF = FUNC_NEVER | FAIL_BF = STENCIL_KEEP | ZPASS_BF = STENCIL_KEEP | ZFAIL_BF = STENCIL_KEEP }
RB_STENCIL_CONTROL2: { 0 }
109ce484: 0000: 00012106 00000000 00000000
t0 write RB_STENCILREFMASK (210b)
RB_STENCILREFMASK: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0 }
RB_STENCILREFMASK_BF: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0 }
109ce490: 0000: 0001210b 00000000 00000000
t0 write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
109ce49c: 0000: 00002101 80000016
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0 }
109ce4a4: 0000: 00002073 00000000
t0 write GRAS_SU_MODE_CONTROL (2078)
GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
109ce4ac: 0000: 00002078 00100012
t0 write GRAS_SU_POINT_MINMAX (2070)
GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
GRAS_SU_POINT_SIZE: 1.000000
109ce4b4: 0000: 00012070 00100010 00000010
t0 write GRAS_SU_POLY_OFFSET_SCALE (2074)
GRAS_SU_POLY_OFFSET_SCALE: 0.000000
GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
109ce4c0: 0000: 00022074 00000000 00000000 00000000
t0 write GRAS_CL_CLIP_CNTL (2000)
GRAS_CL_CLIP_CNTL: { 0x80000 }
109ce4d0: 0000: 00002000 00080000
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109ce4d8: 0000: 000121c4 02000001 00000012
t0 write GRAS_SC_WINDOW_SCISSOR_BR (209c)
GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
109ce4e4: 0000: 0001209c 012b012b 00000000
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109ce4f0: 0000: c0002600 00000000
t0 write GRAS_CL_VPORT_XOFFSET_0 (2008)
GRAS_CL_VPORT_XOFFSET_0: 150.000000
GRAS_CL_VPORT_XSCALE_0: 150.000000
GRAS_CL_VPORT_YOFFSET_0: 150.000000
GRAS_CL_VPORT_YSCALE_0: -150.000000
GRAS_CL_VPORT_ZOFFSET_0: 0.500000
GRAS_CL_VPORT_ZSCALE_0: 0.500000
109ce4f8: 0000: 00052008 43160000 43160000 43160000 c3160000 3f000000 3f000000
t0 write RB_VPORT_Z_CLAMP[0].MIN (2120)
RB_VPORT_Z_CLAMP[0].MIN: 0
RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
109ce514: 0000: 00012120 00000000 00ffffff
t0 write HLSQ_UPDATE_CONTROL (23db)
HLSQ_UPDATE_CONTROL: 0x3
109ce520: 0000: 000023db 00000003
t0 write HLSQ_CONTROL_0_REG (23c0)
HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 | 0xfc0000 }
109ce528: 0000: 000423c0 28000250 fcfc0100 fff3f3f0 fcfcfcfc 00fcfcfc
t0 write HLSQ_VS_CONTROL_REG (23c5)
HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
109ce540: 0000: 000423c5 04000042 017e423e 007e4200 007e4200 007e4200
t0 write SP_SP_CTRL_REG (22c0)
SP_SP_CTRL_REG: { 0x140010 }
109ce558: 0000: 000022c0 00140010
t0 write SP_INSTR_CACHE_CTRL (22c1)
SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
109ce560: 0000: 000022c1 000005ff
t0 write SP_VS_LENGTH_REG (22e5)
SP_VS_LENGTH_REG: 4
109ce568: 0000: 000022e5 00000004
t0 write SP_VS_CTRL_REG0 (22c4)
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 4 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 4 }
SP_VS_PARAM_REG: { POSREGID = r1.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
109ce570: 0000: 000222c4 00201000 04000042 0010fc06
t0 write SP_VS_OUT[0].REG (22c7)
SP_VS_OUT[0].REG: { A_REGID = r2.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
109ce580: 0000: 000022c7 00001e0a
t0 write SP_VS_VPC_DST[0].REG (22d8)
SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
109ce588: 0000: 000022d8 08080808
t0 write SP_VS_OBJ_OFFSET_REG (22e0)
SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
SP_VS_OBJ_START: 0x10cd0000
109ce590: 0000: 000122e0 00000000 10cd0000
t0 write SP_FS_LENGTH_REG (22ef)
SP_FS_LENGTH_REG: 1
109ce59c: 0000: 000022ef 00000001
t0 write SP_FS_CTRL_REG0 (22e8)
SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
109ce5a4: 0000: 000122e8 00340402 8010003e
t0 write SP_FS_OBJ_OFFSET_REG (22ea)
SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
SP_FS_OBJ_START: 0x10cd2000
109ce5b0: 0000: 000122ea 7e420000 10cd2000
t0 write SP_HS_OBJ_OFFSET_REG (230d)
SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109ce5bc: 0000: 0000230d 7e420000
t0 write SP_DS_OBJ_OFFSET_REG (2334)
SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109ce5c4: 0000: 00002334 7e420000
t0 write SP_GS_OBJ_OFFSET_REG (235b)
SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109ce5cc: 0000: 0000235b 7e420000
t0 write GRAS_CNTL (2003)
GRAS_CNTL: { 0 }
109ce5d4: 0000: 00002003 00000000
t0 write RB_RENDER_CONTROL2 (20a3)
RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
109ce5dc: 0000: 000020a3 00000000
t0 write RB_FS_OUTPUT_REG (2100)
RB_FS_OUTPUT_REG: { MRT = 1 }
109ce5e4: 0000: 00002100 00000001
t0 write SP_FS_OUTPUT_REG (22f0)
SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
109ce5ec: 0000: 000022f0 0000fc01
t0 write SP_FS_MRT[0].REG (22f1)
SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
109ce5f4: 0000: 000722f1 0001a000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_ATTR (2140)
VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
109ce618: 0000: 00012140 42001004 00040400
t0 write VPC_VARYING_INTERP[0].MODE (2142)
VPC_VARYING_INTERP[0].MODE: 0x55
VPC_VARYING_INTERP[0x1].MODE: 0
VPC_VARYING_INTERP[0x2].MODE: 0
VPC_VARYING_INTERP[0x3].MODE: 0
VPC_VARYING_INTERP[0x4].MODE: 0
VPC_VARYING_INTERP[0x5].MODE: 0
VPC_VARYING_INTERP[0x6].MODE: 0
VPC_VARYING_INTERP[0x7].MODE: 0
109ce624: 0000: 00072142 00000055 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_VARYING_PS_REPL[0].MODE (214a)
VPC_VARYING_PS_REPL[0].MODE: 0
VPC_VARYING_PS_REPL[0x1].MODE: 0
VPC_VARYING_PS_REPL[0x2].MODE: 0
VPC_VARYING_PS_REPL[0x3].MODE: 0
VPC_VARYING_PS_REPL[0x4].MODE: 0
VPC_VARYING_PS_REPL[0x5].MODE: 0
VPC_VARYING_PS_REPL[0x6].MODE: 0
VPC_VARYING_PS_REPL[0x7].MODE: 0
109ce648: 0000: 0007214a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (131 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 4 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[40700000x_10000002x] mul.f r0.x, r0.z, c0.x
:2:0001:0001[40700001x_10030002x] mul.f r0.y, r0.z, c0.w
:3:0002:0002[63818000x_00001004x] mad.f32 r0.x, c1.x, r0.w, r0.x
:3:0003:0003[63818001x_00011007x] mad.f32 r0.y, c1.w, r0.w, r0.y
:3:0004:0004[63820000x_00001008x] mad.f32 r0.x, c2.x, r1.x, r0.x
:3:0005:0005[63820001x_0001100bx] mad.f32 r0.y, c2.w, r1.x, r0.y
:3:0006:0006[63828006x_0000100cx] mad.f32 r1.z, c3.x, r1.y, r0.x
:2:0007:0007[40700000x_10010002x] mul.f r0.x, r0.z, c0.y
:3:0008:0008[63828009x_0001100fx] mad.f32 r2.y, c3.w, r1.y, r0.y
:3:0009:0009[63818000x_00001005x] mad.f32 r0.x, c1.y, r0.w, r0.x
:1:0010:0010[20244001x_00000010x] mov.f32f32 r0.y, c4.x
:3:0011:0011[63820000x_00001009x] mad.f32 r0.x, c2.y, r1.x, r0.x
:0:0012:0012[00000000x_00000000x] nop
:3:0013:0013[63828007x_0000100dx] mad.f32 r1.w, c3.y, r1.y, r0.x
:2:0014:0014[40700000x_10020002x] mul.f r0.x, r0.z, c0.z
:1:0015:0015[20244002x_00000015x] mov.f32f32 r0.z, c5.y
:3:0016:0016[63818000x_00001006x] mad.f32 r0.x, c1.z, r0.w, r0.x
:1:0017:0017[20244003x_00000016x] mov.f32f32 r0.w, c5.z
:3:0018:0018[63820000x_0000100ax] mad.f32 r0.x, c2.z, r1.x, r0.x
:1:0019:0019[20244004x_00000017x] mov.f32f32 r1.x, c5.w
:3:0020:0020[63828008x_0000100ex] mad.f32 r2.x, c3.z, r1.y, r0.x
:1:0021:0021[20244000x_00000011x] mov.f32f32 r0.x, c4.y
:2:0022:0022[40100002x_00021021x] add.f r0.z, c8.y, r0.z
:2:0023:0023[4050040dx_00041017x] (sat)max.f r3.y, c5.w, r1.x
:2:0024:0024[40100003x_00031022x] add.f r0.w, c8.z, r0.w
:2:0025:0025[40700000x_00001011x] mul.f r0.x, c4.y, r0.x
:0:0026:0026[00000000x_00000000x] nop
:3:0027:0027[63808000x_00001010x] mad.f32 r0.x, c4.x, r0.y, r0.x
:1:0028:0028[20244001x_00000012x] mov.f32f32 r0.y, c4.z
:0:0029:0029[00000200x_00000000x] (rpt2)nop
:3:0030:0032[63808000x_00001012x] mad.f32 r0.x, c4.z, r0.y, r0.x
:1:0031:0033[20244001x_00000014x] mov.f32f32 r0.y, c5.x
:0:0032:0034[00000200x_00000000x] (rpt2)nop
:2:0033:0037[40100001x_00011020x] add.f r0.y, c8.x, r0.y
:0:0034:0038[00000000x_00000000x] nop
:4:0035:0039[80300000x_00000000x] rsq r0.x, r0.x
:2:0036:0040[40701004x_00001011x] (ss)mul.f r1.x, c4.y, r0.x
:0:0037:0041[00000200x_00000000x] (rpt2)nop
:2:0038:0044[40700004x_10190004x] mul.f r1.x, r1.x, c6.y
:2:0039:0045[40700005x_00001010x] mul.f r1.y, c4.x, r0.x
:0:0040:0046[00000200x_00000000x] (rpt2)nop
:3:0041:0049[63828004x_00041018x] mad.f32 r1.x, c6.x, r1.y, r1.x
:2:0042:0050[40700000x_00001012x] mul.f r0.x, c4.z, r0.x
:0:0043:0051[00000200x_00000000x] (rpt2)nop
:3:0044:0054[63800000x_0004101ax] mad.f32 r0.x, c6.z, r0.x, r1.x
:0:0045:0055[00000200x_00000000x] (rpt2)nop
:2:0046:0058[40b00004x_00001034x] cmps.f.lt r1.x, c13.x, r0.x
:2:0047:0059[40500000x_00001034x] max.f r0.x, c13.x, r0.x
:0:0048:0060[00000100x_00000000x] (rpt1)nop
:1:0049:0062[200c4004x_00000004x] cov.u32f32 r1.x, r1.x
:3:0050:0063[63800001x_00011024x] mad.f32 r0.y, c9.x, r0.x, r0.y
:3:0051:0064[63800002x_00021025x] mad.f32 r0.z, c9.y, r0.x, r0.z
:3:0052:0065[63800000x_00031026x] mad.f32 r0.x, c9.z, r0.x, r0.w
:3:0053:0066[6382040ax_00011028x] (sat)mad.f32 r2.z, c10.x, r1.x, r0.y
:3:0054:0067[6382040bx_00021029x] (sat)mad.f32 r2.w, c10.y, r1.x, r0.z
:3:0055:0068[6382040cx_0000102ax] (sat)mad.f32 r3.x, c10.z, r1.x, r0.x
:0:0056:0069[03000000x_00000000x] end
:0:0057:0070[00000000x_00000000x] nop
:0:0058:0071[00000000x_00000000x] nop
:0:0059:0072[00000000x_00000000x] nop
:0:0060:0073[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-13 (cnt=14, max=13)
- input (half): (cnt=0, max=0)
- input (full): 2-5 (cnt=4, max=5)
- max const: 52
- output (half): (cnt=0, max=0) (estimated)
- output (full): 6-13 (cnt=8, max=13) (estimated)
- shaderdb: 74 instructions, 38 nops, 36 non-nops, (61 instlen), 0 half, 4 full
- shaderdb: 1 (ss), 0 (sy)
109ce66c: 0000: c0813000 01200000 00000000 10000002 40700000 10030002 40700001 00001004
109ce68c: 0020: 63818000 00011007 63818001 00001008 63820000 0001100b 63820001 0000100c
109ce6ac: 0040: 63828006 10010002 40700000 0001100f 63828009 00001005 63818000 00000010
109ce6cc: 0060: 20244001 00001009 63820000 00000000 00000000 0000100d 63828007 10020002
109ce6ec: 0080: 40700000 00000015 20244002 00001006 63818000 00000016 20244003 0000100a
109ce70c: 00a0: 63820000 00000017 20244004 0000100e 63828008 00000011 20244000 00021021
109ce72c: 00c0: 40100002 00041017 4050040d 00031022 40100003 00001011 40700000 00000000
109ce74c: 00e0: 00000000 00001010 63808000 00000012 20244001 00000000 00000200 00001012
109ce76c: 0100: 63808000 00000014 20244001 00000000 00000200 00011020 40100001 00000000
109ce78c: 0120: 00000000 00000000 80300000 00001011 40701004 00000000 00000200 10190004
109ce7ac: 0140: 40700004 00001010 40700005 00000000 00000200 00041018 63828004 00001012
109ce7cc: 0160: 40700000 00000000 00000200 0004101a 63800000 00000000 00000200 00001034
109ce7ec: 0180: 40b00004 00001034 40500000 00000000 00000100 00000004 200c4004 00011024
109ce80c: 01a0: 63800001 00021025 63800002 00031026 63800000 00011028 6382040a 00021029
109ce82c: 01c0: 6382040b 0000102a 6382040c 00000000 03000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:0:0000:0000[00000000x_00000000x] nop
:6:0001:0001[c7c60000x_01c00000x] ldlv.u32 r0.x, l[0], 1
:6:0002:0002[c7c60001x_01c00002x] ldlv.u32 r0.y, l[1], 1
:6:0003:0003[c7c60002x_01c00004x] ldlv.u32 r0.z, l[2], 1
:6:0004:0004[c7c60003x_01c00006x] ldlv.u32 r0.w, l[3], 1
:2:0005:0005[473090fcx_00002000x] (ss)bary.f (ei)r63.x, 0, r0.x
:0:0006:0006[03000000x_00000000x] end
:0:0007:0007[00000000x_00000000x] nop
:0:0008:0008[00000000x_00000000x] nop
:0:0009:0009[00000000x_00000000x] nop
:0:0010:0010[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-3 (cnt=4, max=3)
- input (half): (cnt=0, max=0)
- input (full): 0-3 (cnt=4, max=3)
- max const: 0
- output (half): (cnt=0, max=0) (estimated)
- output (full): (cnt=0, max=0) (estimated)
- shaderdb: 11 instructions, 5 nops, 6 non-nops, (11 instlen), 0 half, 1 full
- shaderdb: 1 (ss), 0 (sy)
109ce878: 0000: c0213000 00700000 00000000 00000000 00000000 01c00000 c7c60000 01c00002
109ce898: 0020: c7c60001 01c00004 c7c60002 01c00006 c7c60003 00002000 473090fc 00000000
109ce8b8: 0040: 03000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109ce910: 4.330127 0.855050 0.555273 0.469846 0.000000 4.698463 -0.404206 -0.342020
109ce930: 2.500000 -1.480991 -0.961761 -0.813798 -12.990380 -11.962078 35.506226 39.274502
109ce950: 0.000000 0.000000 1.000000 1.000000 0.160000 0.020000 0.000000 1.000000
109ce970: 0.039740 0.662886 0.747665 0.000000 1.000000 0.000000 0.000000 0.000000
109ce990: 0.000000 0.000000 0.000000 1.000000 0.800000 0.100000 0.000000 1.000000
109ce9b0: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
109ce910: 0000: 408a9066 3f5ae494 3f0e265d 3ef08fb2 00000000 409659cf becef409 beaf1d43
109ce930: 0020: 40200000 bfbd9119 bf7635f5 bf50550b c14fd899 c13f64ac 420e0660 421d1917
109ce950: 0040: 00000000 00000000 3f800000 3f800000 3e23d70b 3ca3d70b 00000000 3f800000
109ce970: 0060: 3d22c66e 3f29b2e7 3f3f66f5 00000000 3f800000 00000000 00000000 00000000
109ce990: 0080: 00000000 00000000 00000000 3f800000 3f4ccccd 3dcccccd 00000000 3f800000
109ce9b0: 00a0: 00000000 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000
109ce904: 0000: c0313000 03200000 00000001 408a9066 3f5ae494 3f0e265d 3ef08fb2 00000000
109ce924: 0020: 409659cf becef409 beaf1d43 40200000 bfbd9119 bf7635f5 bf50550b c14fd899
109ce944: 0040: c13f64ac 420e0660 421d1917 00000000 00000000 3f800000 3f800000 3e23d70b
109ce964: 0060: 3ca3d70b 00000000 3f800000 3d22c66e 3f29b2e7 3f3f66f5 00000000 3f800000
109ce984: 0080: 00000000 00000000 00000000 00000000 00000000 00000000 3f800000 3f4ccccd
109ce9a4: 00a0: 3dcccccd 00000000 3f800000 00000000 00000000 00000000 3f800000 00000000
109ce9c4: 00c0: 00000000 00000000 3f800000
t3 opcode: CP_LOAD_STATE4 (30) (7 dwords)
{ DST_OFF = 13 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109ce9dc: 0.000000 -28026765312.000000 -28026765312.000000 -28026765312.000000
109ce9dc: 0000: 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
109ce9d0: 0000: c0053000 0060000d 00000001 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
t0 write RB_MRT[0].CONTROL (20a4)
RB_MRT[0].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
109ce9ec: 0000: 000020a4 0f000c00
t0 write RB_MRT[0].BLEND_CONTROL (20a8)
RB_MRT[0].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109ce9f4: 0000: 000020a8 00000000
t0 write RB_MRT[0x1].CONTROL (20a9)
RB_MRT[0x1].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
109ce9fc: 0000: 000020a9 0f000c00
t0 write RB_MRT[0x1].BLEND_CONTROL (20ad)
RB_MRT[0x1].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109cea04: 0000: 000020ad 00000000
t0 write RB_MRT[0x2].CONTROL (20ae)
RB_MRT[0x2].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
109cea0c: 0000: 000020ae 0f000c00
t0 write RB_MRT[0x2].BLEND_CONTROL (20b2)
RB_MRT[0x2].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109cea14: 0000: 000020b2 00000000
t0 write RB_MRT[0x3].CONTROL (20b3)
RB_MRT[0x3].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
109cea1c: 0000: 000020b3 0f000c00
t0 write RB_MRT[0x3].BLEND_CONTROL (20b7)
RB_MRT[0x3].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109cea24: 0000: 000020b7 00000000
t0 write RB_MRT[0x4].CONTROL (20b8)
RB_MRT[0x4].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
109cea2c: 0000: 000020b8 0f000c00
t0 write RB_MRT[0x4].BLEND_CONTROL (20bc)
RB_MRT[0x4].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109cea34: 0000: 000020bc 00000000
t0 write RB_MRT[0x5].CONTROL (20bd)
RB_MRT[0x5].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
109cea3c: 0000: 000020bd 0f000c00
t0 write RB_MRT[0x5].BLEND_CONTROL (20c1)
RB_MRT[0x5].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109cea44: 0000: 000020c1 00000000
t0 write RB_MRT[0x6].CONTROL (20c2)
RB_MRT[0x6].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
109cea4c: 0000: 000020c2 0f000c00
t0 write RB_MRT[0x6].BLEND_CONTROL (20c6)
RB_MRT[0x6].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109cea54: 0000: 000020c6 00000000
t0 write RB_MRT[0x7].CONTROL (20c7)
RB_MRT[0x7].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
109cea5c: 0000: 000020c7 0f000c00
t0 write RB_MRT[0x7].BLEND_CONTROL (20cb)
RB_MRT[0x7].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
109cea64: 0000: 000020cb 00000000
t0 write RB_FS_OUTPUT (20f9)
RB_FS_OUTPUT: { ENABLE_BLEND = 0 | SAMPLE_MASK = 0xffff }
109cea6c: 0000: 000020f9 ffff0000
t0 write VFD_FETCH[0].INSTR_0 (220a)
VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 12 }
VFD_FETCH[0].INSTR_1: 0x107cb000
VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
109cea74: 0000: 0003220a 0000060b 107cb000 00100000 00000001
t0 write VFD_DECODE[0].INSTR (228a)
VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
109cea88: 0000: 0000228a 2c0020df
t0 write VFD_CONTROL_0 (2200)
VFD_CONTROL_0: { TOTALATTRTOVS = 4 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 1 | STRMFETCHINSTRCNT = 1 | 0xa0000 }
VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
VFD_CONTROL_2: 0
VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
VFD_CONTROL_4: 0
109cea90: 0000: 00042200 041a0004 fcfc0081 00000000 0000fc00 00000000
t0 write UCHE_INVALIDATE0 (0e8a)
UCHE_INVALIDATE0: 0
UCHE_INVALIDATE1: 0x12
109ceaa8: 0000: 00010e8a 00000000 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109ceab4: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109ceac0: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x8
:0,7,115,8
109ceac8: 0000: 0000057f 00000008
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 240 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd0000 }
{ INDX_SIZE = 480 }
draw[1] register values
!+ 00000007 CP_SCRATCH[0x5].REG: 0x7
:0,7,115,8
!+ 00000008 CP_SCRATCH[0x7].REG: 0x8
:0,7,115,8
+ 00000000 UCHE_INVALIDATE0: 0
+ 00000012 UCHE_INVALIDATE1: 0x12
+ 00080000 GRAS_CL_CLIP_CNTL: { 0x80000 }
+ 00000000 GRAS_CNTL: { 0 }
+ 43160000 GRAS_CL_VPORT_XOFFSET_0: 150.000000
+ 43160000 GRAS_CL_VPORT_XSCALE_0: 150.000000
+ 43160000 GRAS_CL_VPORT_YOFFSET_0: 150.000000
+ c3160000 GRAS_CL_VPORT_YSCALE_0: -150.000000
!+ 3f000000 GRAS_CL_VPORT_ZOFFSET_0: 0.500000
!+ 3f000000 GRAS_CL_VPORT_ZSCALE_0: 0.500000
!+ 00100010 GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
!+ 00000010 GRAS_SU_POINT_SIZE: 1.000000
+ 00000000 GRAS_ALPHA_CONTROL: { 0 }
+ 00000000 GRAS_SU_POLY_OFFSET_SCALE: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
!+ 00100012 GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
+ 012b012b GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
+ 00000000 GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
+ 00000000 RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
+ 0f000c00 RB_MRT[0].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
+ 00000000 RB_MRT[0].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 0f000c00 RB_MRT[0x1].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
+ 00000000 RB_MRT[0x1].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 0f000c00 RB_MRT[0x2].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
+ 00000000 RB_MRT[0x2].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 0f000c00 RB_MRT[0x3].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
+ 00000000 RB_MRT[0x3].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 0f000c00 RB_MRT[0x4].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
+ 00000000 RB_MRT[0x4].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 0f000c00 RB_MRT[0x5].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
+ 00000000 RB_MRT[0x5].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 0f000c00 RB_MRT[0x6].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
+ 00000000 RB_MRT[0x6].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
!+ 0f000c00 RB_MRT[0x7].CONTROL: { ROP_CODE = ROP_COPY | COMPONENT_ENABLE = 0xf }
+ 00000000 RB_MRT[0x7].BLEND_CONTROL: { RGB_SRC_FACTOR = FACTOR_ZERO | RGB_BLEND_OPCODE = BLEND_DST_PLUS_SRC | RGB_DEST_FACTOR = FACTOR_ZERO | ALPHA_SRC_FACTOR = FACTOR_ZERO | ALPHA_BLEND_OPCODE = BLEND_DST_PLUS_SRC | ALPHA_DEST_FACTOR = FACTOR_ZERO }
+ 00000000 RB_ALPHA_CONTROL: { ALPHA_REF = 0 | ALPHA_TEST_FUNC = FUNC_NEVER }
!+ ffff0000 RB_FS_OUTPUT: { ENABLE_BLEND = 0 | SAMPLE_MASK = 0xffff }
+ 00000001 RB_FS_OUTPUT_REG: { MRT = 1 }
!+ 80000016 RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
+ 00000000 RB_STENCIL_CONTROL: { FUNC = FUNC_NEVER | FAIL = STENCIL_KEEP | ZPASS = STENCIL_KEEP | ZFAIL = STENCIL_KEEP | FUNC_BF = FUNC_NEVER | FAIL_BF = STENCIL_KEEP | ZPASS_BF = STENCIL_KEEP | ZFAIL_BF = STENCIL_KEEP }
+ 00000000 RB_STENCIL_CONTROL2: { 0 }
+ 00000000 RB_STENCILREFMASK: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0 }
+ 00000000 RB_STENCILREFMASK_BF: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0 }
+ 00000000 RB_VPORT_Z_CLAMP[0].MIN: 0
+ 00ffffff RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
!+ 42001004 VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
!+ 00040400 VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
!+ 00000055 VPC_VARYING_INTERP[0].MODE: 0x55
+ 00000000 VPC_VARYING_INTERP[0x1].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x2].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x3].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x4].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x5].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x6].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x7].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x1].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x2].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x3].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x4].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x5].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x6].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x7].MODE: 0
!+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 041a0004 VFD_CONTROL_0: { TOTALATTRTOVS = 4 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 1 | STRMFETCHINSTRCNT = 1 | 0xa0000 }
+ fcfc0081 VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
+ 00000000 VFD_CONTROL_2: 0
+ 0000fc00 VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
+ 00000000 VFD_CONTROL_4: 0
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
+ 0000060b VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 12 }
!+ 107cb000 VFD_FETCH[0].INSTR_1: 0x107cb000
!+ 00100000 VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
+ 00000001 VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
!+ 2c0020df VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
+ 00140010 SP_SP_CTRL_REG: { 0x140010 }
+ 000005ff SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
!+ 00201000 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 4 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
+ 04000042 SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 4 }
!+ 0010fc06 SP_VS_PARAM_REG: { POSREGID = r1.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
!+ 00001e0a SP_VS_OUT[0].REG: { A_REGID = r2.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
!+ 08080808 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
+ 00000000 SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
!+ 10cd0000 SP_VS_OBJ_START: 0x10cd0000
!+ 00000004 SP_VS_LENGTH_REG: 4
!+ 00340402 SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
!+ 8010003e SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
+ 7e420000 SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
!+ 10cd2000 SP_FS_OBJ_START: 0x10cd2000
+ 00000001 SP_FS_LENGTH_REG: 1
+ 0000fc01 SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
+ 0001a000 SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
+ 00000000 SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 7e420000 SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 28000250 HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
+ fcfc0100 HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
+ fff3f3f0 HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 }
+ 00fcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | 0xfc0000 }
!+ 04000042 HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
+ 017e423e HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
+ 007e4200 HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 00000003 HLSQ_UPDATE_CONTROL: 0x3
109cead0: 0000: c0053800 00000404 00000001 000000f0 00000000 10bd0000 000001e0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x9
:0,7,115,9
109ceaec: 0000: 0000057f 00000009
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0xd
:0,13,115,9
109ceaf4: 0000: 0000057d 0000000d
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109ceafc: 0000: 000121c4 02000001 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109ceb08: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109ceb14: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0xe
:0,13,115,14
109ceb1c: 0000: 0000057f 0000000e
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 120 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd01e0 }
{ INDX_SIZE = 240 }
draw[2] register values
!+ 0000000d CP_SCRATCH[0x5].REG: 0xd
:0,13,115,14
!+ 0000000e CP_SCRATCH[0x7].REG: 0xe
:0,13,115,14
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
109ceb24: 0000: c0053800 00000404 00000001 00000078 00000000 10bd01e0 000000f0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0xf
:0,13,115,15
109ceb40: 0000: 0000057f 0000000f
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x13
:0,19,115,15
109ceb48: 0000: 0000057d 00000013
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109ceb50: 0000: 000121c4 02000001 00000012
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109ceb5c: 0000: c0002600 00000000
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109ceb70: 4.330127 0.855050 0.555273 0.469846 0.000000 4.698463 -0.404206 -0.342020
109ceb90: 2.500000 -1.480991 -0.961761 -0.813798 -12.990380 -11.962078 35.506226 39.274502
109cebb0: 0.000000 0.000000 -1.000000 1.000000 0.160000 0.020000 0.000000 1.000000
109cebd0: 0.039740 0.662886 0.747665 0.000000 1.000000 0.000000 0.000000 0.000000
109cebf0: 0.000000 0.000000 0.000000 1.000000 0.800000 0.100000 0.000000 1.000000
109cec10: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
109ceb70: 0000: 408a9066 3f5ae494 3f0e265d 3ef08fb2 00000000 409659cf becef409 beaf1d43
109ceb90: 0020: 40200000 bfbd9119 bf7635f5 bf50550b c14fd899 c13f64ac 420e0660 421d1917
109cebb0: 0040: 00000000 00000000 bf800000 3f800000 3e23d70b 3ca3d70b 00000000 3f800000
109cebd0: 0060: 3d22c66e 3f29b2e7 3f3f66f5 00000000 3f800000 00000000 00000000 00000000
109cebf0: 0080: 00000000 00000000 00000000 3f800000 3f4ccccd 3dcccccd 00000000 3f800000
109cec10: 00a0: 00000000 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000
109ceb64: 0000: c0313000 03200000 00000001 408a9066 3f5ae494 3f0e265d 3ef08fb2 00000000
109ceb84: 0020: 409659cf becef409 beaf1d43 40200000 bfbd9119 bf7635f5 bf50550b c14fd899
109ceba4: 0040: c13f64ac 420e0660 421d1917 00000000 00000000 bf800000 3f800000 3e23d70b
109cebc4: 0060: 3ca3d70b 00000000 3f800000 3d22c66e 3f29b2e7 3f3f66f5 00000000 3f800000
109cebe4: 0080: 00000000 00000000 00000000 00000000 00000000 00000000 3f800000 3f4ccccd
109cec04: 00a0: 3dcccccd 00000000 3f800000 00000000 00000000 00000000 3f800000 00000000
109cec24: 00c0: 00000000 00000000 3f800000
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109cec30: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109cec3c: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x14
:0,19,115,20
109cec44: 0000: 0000057f 00000014
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 240 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd02d0 }
{ INDX_SIZE = 480 }
draw[3] register values
!+ 00000013 CP_SCRATCH[0x5].REG: 0x13
:0,19,115,20
!+ 00000014 CP_SCRATCH[0x7].REG: 0x14
:0,19,115,20
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
109cec4c: 0000: c0053800 00000404 00000001 000000f0 00000000 10bd02d0 000001e0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x15
:0,19,115,21
109cec68: 0000: 0000057f 00000015
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x19
:0,25,115,21
109cec70: 0000: 0000057d 00000019
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109cec78: 0000: 000121c4 02000001 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109cec84: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109cec90: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x1a
:0,25,115,26
109cec98: 0000: 0000057f 0000001a
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 120 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd04b0 }
{ INDX_SIZE = 240 }
draw[4] register values
!+ 00000019 CP_SCRATCH[0x5].REG: 0x19
:0,25,115,26
!+ 0000001a CP_SCRATCH[0x7].REG: 0x1a
:0,25,115,26
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
109ceca0: 0000: c0053800 00000404 00000001 00000078 00000000 10bd04b0 000000f0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x1b
:0,25,115,27
109cecbc: 0000: 0000057f 0000001b
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x1f
:0,31,115,27
109cecc4: 0000: 0000057d 0000001f
t0 write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
109ceccc: 0000: 00002101 80000016
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0 }
109cecd4: 0000: 00002073 00000000
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109cecdc: 0000: 000121c4 02000001 00000012
t0 write HLSQ_UPDATE_CONTROL (23db)
HLSQ_UPDATE_CONTROL: 0x3
109cece8: 0000: 000023db 00000003
t0 write HLSQ_CONTROL_0_REG (23c0)
HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 | 0xfc0000 }
109cecf0: 0000: 000423c0 28000250 fcfc0100 fff3f3f0 fcfcfcfc 00fcfcfc
t0 write HLSQ_VS_CONTROL_REG (23c5)
HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
109ced08: 0000: 000423c5 04000042 017e423e 007e4200 007e4200 007e4200
t0 write SP_SP_CTRL_REG (22c0)
SP_SP_CTRL_REG: { 0x140010 }
109ced20: 0000: 000022c0 00140010
t0 write SP_INSTR_CACHE_CTRL (22c1)
SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
109ced28: 0000: 000022c1 000005ff
t0 write SP_VS_LENGTH_REG (22e5)
SP_VS_LENGTH_REG: 4
109ced30: 0000: 000022e5 00000004
t0 write SP_VS_CTRL_REG0 (22c4)
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
109ced38: 0000: 000222c4 00201400 08000042 0010fc0a
t0 write SP_VS_OUT[0].REG (22c7)
SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
109ced48: 0000: 000022c7 00001e0e
t0 write SP_VS_VPC_DST[0].REG (22d8)
SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
109ced50: 0000: 000022d8 08080808
t0 write SP_VS_OBJ_OFFSET_REG (22e0)
SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
SP_VS_OBJ_START: 0x10cd5000
109ced58: 0000: 000122e0 00000000 10cd5000
t0 write SP_FS_LENGTH_REG (22ef)
SP_FS_LENGTH_REG: 1
109ced64: 0000: 000022ef 00000001
t0 write SP_FS_CTRL_REG0 (22e8)
SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
109ced6c: 0000: 000122e8 00340402 8010003e
t0 write SP_FS_OBJ_OFFSET_REG (22ea)
SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
SP_FS_OBJ_START: 0x10cd2000
109ced78: 0000: 000122ea 7e420000 10cd2000
t0 write SP_HS_OBJ_OFFSET_REG (230d)
SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109ced84: 0000: 0000230d 7e420000
t0 write SP_DS_OBJ_OFFSET_REG (2334)
SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109ced8c: 0000: 00002334 7e420000
t0 write SP_GS_OBJ_OFFSET_REG (235b)
SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109ced94: 0000: 0000235b 7e420000
t0 write GRAS_CNTL (2003)
GRAS_CNTL: { 0 }
109ced9c: 0000: 00002003 00000000
t0 write RB_RENDER_CONTROL2 (20a3)
RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
109ceda4: 0000: 000020a3 00000000
t0 write RB_FS_OUTPUT_REG (2100)
RB_FS_OUTPUT_REG: { MRT = 1 }
109cedac: 0000: 00002100 00000001
t0 write SP_FS_OUTPUT_REG (22f0)
SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
109cedb4: 0000: 000022f0 0000fc01
t0 write SP_FS_MRT[0].REG (22f1)
SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
109cedbc: 0000: 000722f1 0001a000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_ATTR (2140)
VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
109cede0: 0000: 00012140 42001004 00040400
t0 write VPC_VARYING_INTERP[0].MODE (2142)
VPC_VARYING_INTERP[0].MODE: 0x55
VPC_VARYING_INTERP[0x1].MODE: 0
VPC_VARYING_INTERP[0x2].MODE: 0
VPC_VARYING_INTERP[0x3].MODE: 0
VPC_VARYING_INTERP[0x4].MODE: 0
VPC_VARYING_INTERP[0x5].MODE: 0
VPC_VARYING_INTERP[0x6].MODE: 0
VPC_VARYING_INTERP[0x7].MODE: 0
109cedec: 0000: 00072142 00000055 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_VARYING_PS_REPL[0].MODE (214a)
VPC_VARYING_PS_REPL[0].MODE: 0
VPC_VARYING_PS_REPL[0x1].MODE: 0
VPC_VARYING_PS_REPL[0x2].MODE: 0
VPC_VARYING_PS_REPL[0x3].MODE: 0
VPC_VARYING_PS_REPL[0x4].MODE: 0
VPC_VARYING_PS_REPL[0x5].MODE: 0
VPC_VARYING_PS_REPL[0x6].MODE: 0
VPC_VARYING_PS_REPL[0x7].MODE: 0
109cee10: 0000: 0007214a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (131 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 4 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[40700000x_10000002x] mul.f r0.x, r0.z, c0.x
:2:0001:0001[40700001x_10030002x] mul.f r0.y, r0.z, c0.w
:3:0002:0002[63818000x_00001004x] mad.f32 r0.x, c1.x, r0.w, r0.x
:3:0003:0003[63818001x_00011007x] mad.f32 r0.y, c1.w, r0.w, r0.y
:3:0004:0004[63820000x_00001008x] mad.f32 r0.x, c2.x, r1.x, r0.x
:3:0005:0005[63820001x_0001100bx] mad.f32 r0.y, c2.w, r1.x, r0.y
:3:0006:0006[6382800ax_0000100cx] mad.f32 r2.z, c3.x, r1.y, r0.x
:2:0007:0007[40700000x_10010002x] mul.f r0.x, r0.z, c0.y
:3:0008:0008[6382800dx_0001100fx] mad.f32 r3.y, c3.w, r1.y, r0.y
:3:0009:0009[63818000x_00001005x] mad.f32 r0.x, c1.y, r0.w, r0.x
:1:0010:0010[20244001x_00000010x] mov.f32f32 r0.y, c4.x
:3:0011:0011[63820000x_00001009x] mad.f32 r0.x, c2.y, r1.x, r0.x
:0:0012:0012[00000000x_00000000x] nop
:3:0013:0013[6382800bx_0000100dx] mad.f32 r2.w, c3.y, r1.y, r0.x
:2:0014:0014[40700000x_10020002x] mul.f r0.x, r0.z, c0.z
:2:0015:0015[40100001x_0001101cx] add.f r0.y, c7.x, r0.y
:3:0016:0016[63818000x_00001006x] mad.f32 r0.x, c1.z, r0.w, r0.x
:1:0017:0017[20244002x_00000011x] mov.f32f32 r0.z, c4.y
:3:0018:0018[63820000x_0000100ax] mad.f32 r0.x, c2.z, r1.x, r0.x
:1:0019:0019[20244004x_00000013x] mov.f32f32 r1.x, c4.w
:3:0020:0020[6382800cx_0000100ex] mad.f32 r3.x, c3.z, r1.y, r0.x
:2:0021:0021[40700000x_00070007x] mul.f r0.x, r1.w, r1.w
:2:0022:0022[40100002x_0002101dx] add.f r0.z, c7.y, r0.z
:3:0023:0023[63830000x_00000006x] mad.f32 r0.x, r1.z, r1.z, r0.x
:2:0024:0024[40500411x_00041013x] (sat)max.f r4.y, c4.w, r1.x
:3:0025:0025[63840000x_00000008x] mad.f32 r0.x, r2.x, r2.x, r0.x
:1:0026:0026[20244003x_00000012x] mov.f32f32 r0.w, c4.z
:0:0027:0027[00000200x_00000000x] (rpt2)nop
:2:0028:0030[40100003x_0003101ex] add.f r0.w, c7.z, r0.w
:0:0029:0031[00000000x_00000000x] nop
:4:0030:0032[80300000x_00000000x] rsq r0.x, r0.x
:2:0031:0033[40701004x_00000007x] (ss)mul.f r1.x, r1.w, r0.x
:0:0032:0034[00000200x_00000000x] (rpt2)nop
:2:0033:0037[40700004x_10150004x] mul.f r1.x, r1.x, c5.y
:2:0034:0038[40700005x_00000006x] mul.f r1.y, r1.z, r0.x
:0:0035:0039[00000200x_00000000x] (rpt2)nop
:3:0036:0042[63828004x_00041014x] mad.f32 r1.x, c5.x, r1.y, r1.x
:2:0037:0043[40700000x_00000008x] mul.f r0.x, r2.x, r0.x
:0:0038:0044[00000200x_00000000x] (rpt2)nop
:3:0039:0047[63800000x_00041016x] mad.f32 r0.x, c5.z, r0.x, r1.x
:0:0040:0048[00000200x_00000000x] (rpt2)nop
:2:0041:0051[40b00004x_00001034x] cmps.f.lt r1.x, c13.x, r0.x
:2:0042:0052[40500000x_00001034x] max.f r0.x, c13.x, r0.x
:0:0043:0053[00000100x_00000000x] (rpt1)nop
:1:0044:0055[200c4004x_00000004x] cov.u32f32 r1.x, r1.x
:3:0045:0056[63800001x_00011020x] mad.f32 r0.y, c8.x, r0.x, r0.y
:3:0046:0057[63800002x_00021021x] mad.f32 r0.z, c8.y, r0.x, r0.z
:3:0047:0058[63800000x_00031022x] mad.f32 r0.x, c8.z, r0.x, r0.w
:3:0048:0059[6382040ex_00011024x] (sat)mad.f32 r3.z, c9.x, r1.x, r0.y
:3:0049:0060[6382040fx_00021025x] (sat)mad.f32 r3.w, c9.y, r1.x, r0.z
:3:0050:0061[63820410x_00001026x] (sat)mad.f32 r4.x, c9.z, r1.x, r0.x
:0:0051:0062[03000000x_00000000x] end
:0:0052:0063[00000000x_00000000x] nop
:0:0053:0064[00000000x_00000000x] nop
:0:0054:0065[00000000x_00000000x] nop
:0:0055:0066[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-8 10-17 (cnt=17, max=17)
- input (half): (cnt=0, max=0)
- input (full): 2-8 (cnt=7, max=8)
- max const: 52
- output (half): (cnt=0, max=0) (estimated)
- output (full): 10-17 (cnt=8, max=17) (estimated)
- shaderdb: 67 instructions, 31 nops, 36 non-nops, (56 instlen), 0 half, 5 full
- shaderdb: 1 (ss), 0 (sy)
109cee34: 0000: c0813000 01200000 00000000 10000002 40700000 10030002 40700001 00001004
109cee54: 0020: 63818000 00011007 63818001 00001008 63820000 0001100b 63820001 0000100c
109cee74: 0040: 6382800a 10010002 40700000 0001100f 6382800d 00001005 63818000 00000010
109cee94: 0060: 20244001 00001009 63820000 00000000 00000000 0000100d 6382800b 10020002
109ceeb4: 0080: 40700000 0001101c 40100001 00001006 63818000 00000011 20244002 0000100a
109ceed4: 00a0: 63820000 00000013 20244004 0000100e 6382800c 00070007 40700000 0002101d
109ceef4: 00c0: 40100002 00000006 63830000 00041013 40500411 00000008 63840000 00000012
109cef14: 00e0: 20244003 00000000 00000200 0003101e 40100003 00000000 00000000 00000000
109cef34: 0100: 80300000 00000007 40701004 00000000 00000200 10150004 40700004 00000006
109cef54: 0120: 40700005 00000000 00000200 00041014 63828004 00000008 40700000 00000000
109cef74: 0140: 00000200 00041016 63800000 00000000 00000200 00001034 40b00004 00001034
109cef94: 0160: 40500000 00000000 00000100 00000004 200c4004 00011020 63800001 00021021
109cefb4: 0180: 63800002 00031022 63800000 00011024 6382040e 00021025 6382040f 00001026
109cefd4: 01a0: 63820410 00000000 03000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:0:0000:0000[00000000x_00000000x] nop
:6:0001:0001[c7c60000x_01c00000x] ldlv.u32 r0.x, l[0], 1
:6:0002:0002[c7c60001x_01c00002x] ldlv.u32 r0.y, l[1], 1
:6:0003:0003[c7c60002x_01c00004x] ldlv.u32 r0.z, l[2], 1
:6:0004:0004[c7c60003x_01c00006x] ldlv.u32 r0.w, l[3], 1
:2:0005:0005[473090fcx_00002000x] (ss)bary.f (ei)r63.x, 0, r0.x
:0:0006:0006[03000000x_00000000x] end
:0:0007:0007[00000000x_00000000x] nop
:0:0008:0008[00000000x_00000000x] nop
:0:0009:0009[00000000x_00000000x] nop
:0:0010:0010[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-3 (cnt=4, max=3)
- input (half): (cnt=0, max=0)
- input (full): 0-3 (cnt=4, max=3)
- max const: 0
- output (half): (cnt=0, max=0) (estimated)
- output (full): (cnt=0, max=0) (estimated)
- shaderdb: 11 instructions, 5 nops, 6 non-nops, (11 instlen), 0 half, 1 full
- shaderdb: 1 (ss), 0 (sy)
109cf040: 0000: c0213000 00700000 00000000 00000000 00000000 01c00000 c7c60000 01c00002
109cf060: 0020: c7c60001 01c00004 c7c60002 01c00006 c7c60003 00002000 473090fc 00000000
109cf080: 0040: 03000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109cf0cc: 0000: c0002600 00000000
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109cf0e0: 4.330127 0.855050 0.555273 0.469846 0.000000 4.698463 -0.404206 -0.342020
109cf100: 2.500000 -1.480991 -0.961761 -0.813798 -12.990380 -11.962078 35.506226 39.274502
109cf120: 0.160000 0.020000 0.000000 1.000000 0.039740 0.662886 0.747665 0.000000
109cf140: 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000
109cf160: 0.800000 0.100000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
109cf180: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000
109cf0e0: 0000: 408a9066 3f5ae494 3f0e265d 3ef08fb2 00000000 409659cf becef409 beaf1d43
109cf100: 0020: 40200000 bfbd9119 bf7635f5 bf50550b c14fd899 c13f64ac 420e0660 421d1917
109cf120: 0040: 3e23d70b 3ca3d70b 00000000 3f800000 3d22c66e 3f29b2e7 3f3f66f5 00000000
109cf140: 0060: 3f800000 00000000 00000000 00000000 00000000 00000000 00000000 3f800000
109cf160: 0080: 3f4ccccd 3dcccccd 00000000 3f800000 00000000 00000000 00000000 3f800000
109cf180: 00a0: 00000000 00000000 00000000 3f800000 02020000 02020202 02020202 00000202
109cf0d4: 0000: c0313000 03200000 00000001 408a9066 3f5ae494 3f0e265d 3ef08fb2 00000000
109cf0f4: 0020: 409659cf becef409 beaf1d43 40200000 bfbd9119 bf7635f5 bf50550b c14fd899
109cf114: 0040: c13f64ac 420e0660 421d1917 3e23d70b 3ca3d70b 00000000 3f800000 3d22c66e
109cf134: 0060: 3f29b2e7 3f3f66f5 00000000 3f800000 00000000 00000000 00000000 00000000
109cf154: 0080: 00000000 00000000 3f800000 3f4ccccd 3dcccccd 00000000 3f800000 00000000
109cf174: 00a0: 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000 02020000
109cf194: 00c0: 02020202 02020202 00000202
t3 opcode: CP_LOAD_STATE4 (30) (7 dwords)
{ DST_OFF = 13 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109cf1ac: 0.000000 -28026765312.000000 -28026765312.000000 -28026765312.000000
109cf1ac: 0000: 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
109cf1a0: 0000: c0053000 0060000d 00000001 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
t0 write VFD_FETCH[0].INSTR_0 (220a)
VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 | SWITCHNEXT }
VFD_FETCH[0].INSTR_1: 0x107cb000
VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
109cf1bc: 0000: 0003220a 00080c0b 107cb000 00100000 00000001
t0 write VFD_DECODE[0].INSTR (228a)
VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID | SWITCHNEXT }
109cf1d0: 0000: 0000228a 6c0020df
t0 write VFD_FETCH[0x1].INSTR_0 (220e)
VFD_FETCH[0x1].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 }
VFD_FETCH[0x1].INSTR_1: 0x107cb00c
VFD_FETCH[0x1].INSTR_2: { SIZE = 0xffff4 }
VFD_FETCH[0x1].INSTR_3: { STEPRATE = 1 }
109cf1d8: 0000: 0003220e 00000c0b 107cb00c 000ffff4 00000001
t0 write VFD_DECODE[0x1].INSTR (228b)
VFD_DECODE[0x1].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r1.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
109cf1ec: 0000: 0000228b 2c0060df
t0 write VFD_CONTROL_0 (2200)
VFD_CONTROL_0: { TOTALATTRTOVS = 8 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 2 | STRMFETCHINSTRCNT = 2 | 0xa0000 }
VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
VFD_CONTROL_2: 0
VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
VFD_CONTROL_4: 0
109cf1f4: 0000: 00042200 082a0008 fcfc0081 00000000 0000fc00 00000000
t0 write UCHE_INVALIDATE0 (0e8a)
UCHE_INVALIDATE0: 0
UCHE_INVALIDATE1: 0x12
109cf20c: 0000: 00010e8a 00000000 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109cf218: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109cf224: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x20
:0,31,115,32
109cf22c: 0000: 0000057f 00000020
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 480 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd05a0 }
{ INDX_SIZE = 960 }
draw[5] register values
!+ 0000001f CP_SCRATCH[0x5].REG: 0x1f
:0,31,115,32
!+ 00000020 CP_SCRATCH[0x7].REG: 0x20
:0,31,115,32
+ 00000000 UCHE_INVALIDATE0: 0
+ 00000012 UCHE_INVALIDATE1: 0x12
+ 00000000 GRAS_CNTL: { 0 }
+ 00000000 GRAS_ALPHA_CONTROL: { 0 }
+ 00000000 RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
+ 00000001 RB_FS_OUTPUT_REG: { MRT = 1 }
+ 80000016 RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
+ 42001004 VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
+ 00040400 VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
+ 00000055 VPC_VARYING_INTERP[0].MODE: 0x55
+ 00000000 VPC_VARYING_INTERP[0x1].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x2].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x3].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x4].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x5].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x6].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x7].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x1].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x2].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x3].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x4].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x5].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x6].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x7].MODE: 0
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
!+ 082a0008 VFD_CONTROL_0: { TOTALATTRTOVS = 8 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 2 | STRMFETCHINSTRCNT = 2 | 0xa0000 }
+ fcfc0081 VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
+ 00000000 VFD_CONTROL_2: 0
+ 0000fc00 VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
+ 00000000 VFD_CONTROL_4: 0
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
!+ 00080c0b VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 | SWITCHNEXT }
+ 107cb000 VFD_FETCH[0].INSTR_1: 0x107cb000
+ 00100000 VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
+ 00000001 VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
!+ 00000c0b VFD_FETCH[0x1].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 }
!+ 107cb00c VFD_FETCH[0x1].INSTR_1: 0x107cb00c
!+ 000ffff4 VFD_FETCH[0x1].INSTR_2: { SIZE = 0xffff4 }
!+ 00000001 VFD_FETCH[0x1].INSTR_3: { STEPRATE = 1 }
!+ 6c0020df VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID | SWITCHNEXT }
!+ 2c0060df VFD_DECODE[0x1].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r1.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
+ 00140010 SP_SP_CTRL_REG: { 0x140010 }
+ 000005ff SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
!+ 00201400 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
!+ 08000042 SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
!+ 0010fc0a SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
!+ 00001e0e SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
+ 08080808 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
+ 00000000 SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
!+ 10cd5000 SP_VS_OBJ_START: 0x10cd5000
+ 00000004 SP_VS_LENGTH_REG: 4
+ 00340402 SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
+ 8010003e SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
+ 7e420000 SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 10cd2000 SP_FS_OBJ_START: 0x10cd2000
+ 00000001 SP_FS_LENGTH_REG: 1
+ 0000fc01 SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
+ 0001a000 SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
+ 00000000 SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 7e420000 SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 28000250 HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
+ fcfc0100 HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
+ fff3f3f0 HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 }
+ 00fcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | 0xfc0000 }
+ 04000042 HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
+ 017e423e HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
+ 007e4200 HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 00000003 HLSQ_UPDATE_CONTROL: 0x3
109cf234: 0000: c0053800 00000404 00000001 000001e0 00000000 10bd05a0 000003c0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x21
:0,31,115,33
109cf250: 0000: 0000057f 00000021
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x25
:0,37,115,33
109cf258: 0000: 0000057d 00000025
t0 write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
109cf260: 0000: 00002101 80000016
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0 }
109cf268: 0000: 00002073 00000000
t0 write GRAS_SU_MODE_CONTROL (2078)
GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
109cf270: 0000: 00002078 00100012
t0 write GRAS_SU_POINT_MINMAX (2070)
GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
GRAS_SU_POINT_SIZE: 1.000000
109cf278: 0000: 00012070 00100010 00000010
t0 write GRAS_SU_POLY_OFFSET_SCALE (2074)
GRAS_SU_POLY_OFFSET_SCALE: 0.000000
GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
109cf284: 0000: 00022074 00000000 00000000 00000000
t0 write GRAS_CL_CLIP_CNTL (2000)
GRAS_CL_CLIP_CNTL: { 0x80000 }
109cf294: 0000: 00002000 00080000
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109cf29c: 0000: 000121c4 02000001 00000012
t0 write GRAS_SC_WINDOW_SCISSOR_BR (209c)
GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
109cf2a8: 0000: 0001209c 012b012b 00000000
t0 write RB_VPORT_Z_CLAMP[0].MIN (2120)
RB_VPORT_Z_CLAMP[0].MIN: 0
RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
109cf2b4: 0000: 00012120 00000000 00ffffff
t0 write HLSQ_UPDATE_CONTROL (23db)
HLSQ_UPDATE_CONTROL: 0x3
109cf2c0: 0000: 000023db 00000003
t0 write HLSQ_CONTROL_0_REG (23c0)
HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 | 0xfc0000 }
109cf2c8: 0000: 000423c0 28000250 fcfc0100 fff3f3f0 fcfcfc00 00fcfcfc
t0 write HLSQ_VS_CONTROL_REG (23c5)
HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
109cf2e0: 0000: 000423c5 04000042 017e423e 007e4200 007e4200 007e4200
t0 write SP_SP_CTRL_REG (22c0)
SP_SP_CTRL_REG: { 0x140010 }
109cf2f8: 0000: 000022c0 00140010
t0 write SP_INSTR_CACHE_CTRL (22c1)
SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
109cf300: 0000: 000022c1 000005ff
t0 write SP_VS_LENGTH_REG (22e5)
SP_VS_LENGTH_REG: 4
109cf308: 0000: 000022e5 00000004
t0 write SP_VS_CTRL_REG0 (22c4)
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
109cf310: 0000: 000222c4 00201400 08000042 0010fc0a
t0 write SP_VS_OUT[0].REG (22c7)
SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
109cf320: 0000: 000022c7 00001e0e
t0 write SP_VS_VPC_DST[0].REG (22d8)
SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
109cf328: 0000: 000022d8 08080808
t0 write SP_VS_OBJ_OFFSET_REG (22e0)
SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
SP_VS_OBJ_START: 0x10cd5000
109cf330: 0000: 000122e0 00000000 10cd5000
t0 write SP_FS_LENGTH_REG (22ef)
SP_FS_LENGTH_REG: 1
109cf33c: 0000: 000022ef 00000001
t0 write SP_FS_CTRL_REG0 (22e8)
SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
109cf344: 0000: 000122e8 00340802 8010003e
t0 write SP_FS_OBJ_OFFSET_REG (22ea)
SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
SP_FS_OBJ_START: 0x108cb000
109cf350: 0000: 000122ea 7e420000 108cb000
t0 write SP_HS_OBJ_OFFSET_REG (230d)
SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109cf35c: 0000: 0000230d 7e420000
t0 write SP_DS_OBJ_OFFSET_REG (2334)
SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109cf364: 0000: 00002334 7e420000
t0 write SP_GS_OBJ_OFFSET_REG (235b)
SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109cf36c: 0000: 0000235b 7e420000
t0 write GRAS_CNTL (2003)
GRAS_CNTL: { IJ_PERSP }
109cf374: 0000: 00002003 00000001
t0 write RB_RENDER_CONTROL2 (20a3)
RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 | IJ_PERSP_PIXEL }
109cf37c: 0000: 000020a3 00001000
t0 write RB_FS_OUTPUT_REG (2100)
RB_FS_OUTPUT_REG: { MRT = 1 }
109cf384: 0000: 00002100 00000001
t0 write SP_FS_OUTPUT_REG (22f0)
SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
109cf38c: 0000: 000022f0 0000fc01
t0 write SP_FS_MRT[0].REG (22f1)
SP_FS_MRT[0].REG: { REGID = r0.z | MRTFORMAT = RB4_R8G8B8A8_UNORM }
SP_FS_MRT[0x1].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x2].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x3].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x4].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x5].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x6].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x7].REG: { REGID = r0.z | MRTFORMAT = 0 }
109cf394: 0000: 000722f1 0001a002 00000002 00000002 00000002 00000002 00000002 00000002
109cf3b4: 0020: 00000002
t0 write VPC_ATTR (2140)
VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
109cf3b8: 0000: 00012140 42001004 00040400
t0 write VPC_VARYING_INTERP[0].MODE (2142)
VPC_VARYING_INTERP[0].MODE: 0
VPC_VARYING_INTERP[0x1].MODE: 0
VPC_VARYING_INTERP[0x2].MODE: 0
VPC_VARYING_INTERP[0x3].MODE: 0
VPC_VARYING_INTERP[0x4].MODE: 0
VPC_VARYING_INTERP[0x5].MODE: 0
VPC_VARYING_INTERP[0x6].MODE: 0
VPC_VARYING_INTERP[0x7].MODE: 0
109cf3c4: 0000: 00072142 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_VARYING_PS_REPL[0].MODE (214a)
VPC_VARYING_PS_REPL[0].MODE: 0
VPC_VARYING_PS_REPL[0x1].MODE: 0
VPC_VARYING_PS_REPL[0x2].MODE: 0
VPC_VARYING_PS_REPL[0x3].MODE: 0
VPC_VARYING_PS_REPL[0x4].MODE: 0
VPC_VARYING_PS_REPL[0x5].MODE: 0
VPC_VARYING_PS_REPL[0x6].MODE: 0
VPC_VARYING_PS_REPL[0x7].MODE: 0
109cf3e8: 0000: 0007214a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (131 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 4 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[40700000x_10000002x] mul.f r0.x, r0.z, c0.x
:2:0001:0001[40700001x_10030002x] mul.f r0.y, r0.z, c0.w
:3:0002:0002[63818000x_00001004x] mad.f32 r0.x, c1.x, r0.w, r0.x
:3:0003:0003[63818001x_00011007x] mad.f32 r0.y, c1.w, r0.w, r0.y
:3:0004:0004[63820000x_00001008x] mad.f32 r0.x, c2.x, r1.x, r0.x
:3:0005:0005[63820001x_0001100bx] mad.f32 r0.y, c2.w, r1.x, r0.y
:3:0006:0006[6382800ax_0000100cx] mad.f32 r2.z, c3.x, r1.y, r0.x
:2:0007:0007[40700000x_10010002x] mul.f r0.x, r0.z, c0.y
:3:0008:0008[6382800dx_0001100fx] mad.f32 r3.y, c3.w, r1.y, r0.y
:3:0009:0009[63818000x_00001005x] mad.f32 r0.x, c1.y, r0.w, r0.x
:1:0010:0010[20244001x_00000010x] mov.f32f32 r0.y, c4.x
:3:0011:0011[63820000x_00001009x] mad.f32 r0.x, c2.y, r1.x, r0.x
:0:0012:0012[00000000x_00000000x] nop
:3:0013:0013[6382800bx_0000100dx] mad.f32 r2.w, c3.y, r1.y, r0.x
:2:0014:0014[40700000x_10020002x] mul.f r0.x, r0.z, c0.z
:2:0015:0015[40100001x_0001101cx] add.f r0.y, c7.x, r0.y
:3:0016:0016[63818000x_00001006x] mad.f32 r0.x, c1.z, r0.w, r0.x
:1:0017:0017[20244002x_00000011x] mov.f32f32 r0.z, c4.y
:3:0018:0018[63820000x_0000100ax] mad.f32 r0.x, c2.z, r1.x, r0.x
:1:0019:0019[20244004x_00000013x] mov.f32f32 r1.x, c4.w
:3:0020:0020[6382800cx_0000100ex] mad.f32 r3.x, c3.z, r1.y, r0.x
:2:0021:0021[40700000x_00070007x] mul.f r0.x, r1.w, r1.w
:2:0022:0022[40100002x_0002101dx] add.f r0.z, c7.y, r0.z
:3:0023:0023[63830000x_00000006x] mad.f32 r0.x, r1.z, r1.z, r0.x
:2:0024:0024[40500411x_00041013x] (sat)max.f r4.y, c4.w, r1.x
:3:0025:0025[63840000x_00000008x] mad.f32 r0.x, r2.x, r2.x, r0.x
:1:0026:0026[20244003x_00000012x] mov.f32f32 r0.w, c4.z
:0:0027:0027[00000200x_00000000x] (rpt2)nop
:2:0028:0030[40100003x_0003101ex] add.f r0.w, c7.z, r0.w
:0:0029:0031[00000000x_00000000x] nop
:4:0030:0032[80300000x_00000000x] rsq r0.x, r0.x
:2:0031:0033[40701004x_00000007x] (ss)mul.f r1.x, r1.w, r0.x
:0:0032:0034[00000200x_00000000x] (rpt2)nop
:2:0033:0037[40700004x_10150004x] mul.f r1.x, r1.x, c5.y
:2:0034:0038[40700005x_00000006x] mul.f r1.y, r1.z, r0.x
:0:0035:0039[00000200x_00000000x] (rpt2)nop
:3:0036:0042[63828004x_00041014x] mad.f32 r1.x, c5.x, r1.y, r1.x
:2:0037:0043[40700000x_00000008x] mul.f r0.x, r2.x, r0.x
:0:0038:0044[00000200x_00000000x] (rpt2)nop
:3:0039:0047[63800000x_00041016x] mad.f32 r0.x, c5.z, r0.x, r1.x
:0:0040:0048[00000200x_00000000x] (rpt2)nop
:2:0041:0051[40b00004x_00001034x] cmps.f.lt r1.x, c13.x, r0.x
:2:0042:0052[40500000x_00001034x] max.f r0.x, c13.x, r0.x
:0:0043:0053[00000100x_00000000x] (rpt1)nop
:1:0044:0055[200c4004x_00000004x] cov.u32f32 r1.x, r1.x
:3:0045:0056[63800001x_00011020x] mad.f32 r0.y, c8.x, r0.x, r0.y
:3:0046:0057[63800002x_00021021x] mad.f32 r0.z, c8.y, r0.x, r0.z
:3:0047:0058[63800000x_00031022x] mad.f32 r0.x, c8.z, r0.x, r0.w
:3:0048:0059[6382040ex_00011024x] (sat)mad.f32 r3.z, c9.x, r1.x, r0.y
:3:0049:0060[6382040fx_00021025x] (sat)mad.f32 r3.w, c9.y, r1.x, r0.z
:3:0050:0061[63820410x_00001026x] (sat)mad.f32 r4.x, c9.z, r1.x, r0.x
:0:0051:0062[03000000x_00000000x] end
:0:0052:0063[00000000x_00000000x] nop
:0:0053:0064[00000000x_00000000x] nop
:0:0054:0065[00000000x_00000000x] nop
:0:0055:0066[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-8 10-17 (cnt=17, max=17)
- input (half): (cnt=0, max=0)
- input (full): 2-8 (cnt=7, max=8)
- max const: 52
- output (half): (cnt=0, max=0) (estimated)
- output (full): 10-17 (cnt=8, max=17) (estimated)
- shaderdb: 67 instructions, 31 nops, 36 non-nops, (56 instlen), 0 half, 5 full
- shaderdb: 1 (ss), 0 (sy)
109cf40c: 0000: c0813000 01200000 00000000 10000002 40700000 10030002 40700001 00001004
109cf42c: 0020: 63818000 00011007 63818001 00001008 63820000 0001100b 63820001 0000100c
109cf44c: 0040: 6382800a 10010002 40700000 0001100f 6382800d 00001005 63818000 00000010
109cf46c: 0060: 20244001 00001009 63820000 00000000 00000000 0000100d 6382800b 10020002
109cf48c: 0080: 40700000 0001101c 40100001 00001006 63818000 00000011 20244002 0000100a
109cf4ac: 00a0: 63820000 00000013 20244004 0000100e 6382800c 00070007 40700000 0002101d
109cf4cc: 00c0: 40100002 00000006 63830000 00041013 40500411 00000008 63840000 00000012
109cf4ec: 00e0: 20244003 00000000 00000200 0003101e 40100003 00000000 00000000 00000000
109cf50c: 0100: 80300000 00000007 40701004 00000000 00000200 10150004 40700004 00000006
109cf52c: 0120: 40700005 00000000 00000200 00041014 63828004 00000008 40700000 00000000
109cf54c: 0140: 00000200 00041016 63800000 00000000 00000200 00001034 40b00004 00001034
109cf56c: 0160: 40500000 00000000 00000100 00000004 200c4004 00011020 63800001 00021021
109cf58c: 0180: 63800002 00031022 63800000 00011024 6382040e 00021025 6382040f 00001026
109cf5ac: 01a0: 63820410 00000000 03000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[47300002x_00002000x] bary.f r0.z, 0, r0.x
:2:0001:0001[47300003x_00002001x] bary.f r0.w, 1, r0.x
:2:0002:0002[47300004x_00002002x] bary.f r1.x, 2, r0.x
:2:0003:0003[47308005x_00002003x] bary.f (ei)r1.y, 3, r0.x
:0:0004:0004[03000000x_00000000x] end
:0:0005:0005[00000000x_00000000x] nop
:0:0006:0006[00000000x_00000000x] nop
:0:0007:0007[00000000x_00000000x] nop
:0:0008:0008[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0 2-5 (cnt=5, max=5)
- input (half): (cnt=0, max=0)
- input (full): 0 (cnt=1, max=0)
- max const: 0
- output (half): (cnt=0, max=0) (estimated)
- output (full): 2-5 (cnt=4, max=5) (estimated)
- shaderdb: 9 instructions, 4 nops, 5 non-nops, (9 instlen), 0 half, 2 full
- shaderdb: 0 (ss), 0 (sy)
109cf618: 0000: c0213000 00700000 00000000 00002000 47300002 00002001 47300003 00002002
109cf638: 0020: 47300004 00002003 47308005 00000000 03000000 00000000 00000000 00000000
*
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109cf6a4: 0000: c0002600 00000000
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109cf6b8: 4.330127 0.855050 0.555273 0.469846 0.000000 4.698463 -0.404206 -0.342020
109cf6d8: 2.500000 -1.480991 -0.961761 -0.813798 -12.990380 -11.962078 35.506226 39.274502
109cf6f8: 0.160000 0.020000 0.000000 1.000000 0.039740 0.662886 0.747665 0.000000
109cf718: 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000
109cf738: 0.800000 0.100000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
109cf758: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000
109cf6b8: 0000: 408a9066 3f5ae494 3f0e265d 3ef08fb2 00000000 409659cf becef409 beaf1d43
109cf6d8: 0020: 40200000 bfbd9119 bf7635f5 bf50550b c14fd899 c13f64ac 420e0660 421d1917
109cf6f8: 0040: 3e23d70b 3ca3d70b 00000000 3f800000 3d22c66e 3f29b2e7 3f3f66f5 00000000
109cf718: 0060: 3f800000 00000000 00000000 00000000 00000000 00000000 00000000 3f800000
109cf738: 0080: 3f4ccccd 3dcccccd 00000000 3f800000 00000000 00000000 00000000 3f800000
109cf758: 00a0: 00000000 00000000 00000000 3f800000 02020000 02020202 02020202 00000202
109cf6ac: 0000: c0313000 03200000 00000001 408a9066 3f5ae494 3f0e265d 3ef08fb2 00000000
109cf6cc: 0020: 409659cf becef409 beaf1d43 40200000 bfbd9119 bf7635f5 bf50550b c14fd899
109cf6ec: 0040: c13f64ac 420e0660 421d1917 3e23d70b 3ca3d70b 00000000 3f800000 3d22c66e
109cf70c: 0060: 3f29b2e7 3f3f66f5 00000000 3f800000 00000000 00000000 00000000 00000000
109cf72c: 0080: 00000000 00000000 3f800000 3f4ccccd 3dcccccd 00000000 3f800000 00000000
109cf74c: 00a0: 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000 02020000
109cf76c: 00c0: 02020202 02020202 00000202
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109cf778: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109cf784: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x26
:0,37,115,38
109cf78c: 0000: 0000057f 00000026
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 120 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd0960 }
{ INDX_SIZE = 240 }
draw[6] register values
!+ 00000025 CP_SCRATCH[0x5].REG: 0x25
:0,37,115,38
!+ 00000026 CP_SCRATCH[0x7].REG: 0x26
:0,37,115,38
+ 00080000 GRAS_CL_CLIP_CNTL: { 0x80000 }
!+ 00000001 GRAS_CNTL: { IJ_PERSP }
+ 00100010 GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
+ 00000010 GRAS_SU_POINT_SIZE: 1.000000
+ 00000000 GRAS_ALPHA_CONTROL: { 0 }
+ 00000000 GRAS_SU_POLY_OFFSET_SCALE: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
+ 00100012 GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
+ 012b012b GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
+ 00000000 GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
!+ 00001000 RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 | IJ_PERSP_PIXEL }
+ 00000001 RB_FS_OUTPUT_REG: { MRT = 1 }
+ 80000016 RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
+ 00000000 RB_VPORT_Z_CLAMP[0].MIN: 0
+ 00ffffff RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
+ 42001004 VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
+ 00040400 VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
!+ 00000000 VPC_VARYING_INTERP[0].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x1].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x2].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x3].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x4].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x5].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x6].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x7].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x1].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x2].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x3].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x4].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x5].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x6].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x7].MODE: 0
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
+ 00140010 SP_SP_CTRL_REG: { 0x140010 }
+ 000005ff SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
+ 00201400 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
+ 08000042 SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
+ 0010fc0a SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
+ 00001e0e SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
+ 08080808 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
+ 00000000 SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
+ 10cd5000 SP_VS_OBJ_START: 0x10cd5000
+ 00000004 SP_VS_LENGTH_REG: 4
!+ 00340802 SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
+ 8010003e SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
+ 7e420000 SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
!+ 108cb000 SP_FS_OBJ_START: 0x108cb000
+ 00000001 SP_FS_LENGTH_REG: 1
+ 0000fc01 SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
!+ 0001a002 SP_FS_MRT[0].REG: { REGID = r0.z | MRTFORMAT = RB4_R8G8B8A8_UNORM }
!+ 00000002 SP_FS_MRT[0x1].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x2].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x3].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x4].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x5].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x6].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x7].REG: { REGID = r0.z | MRTFORMAT = 0 }
+ 7e420000 SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 28000250 HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
+ fcfc0100 HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
+ fff3f3f0 HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 }
+ 00fcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | 0xfc0000 }
+ 04000042 HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
+ 017e423e HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
+ 007e4200 HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 00000003 HLSQ_UPDATE_CONTROL: 0x3
109cf794: 0000: c0053800 00000404 00000001 00000078 00000000 10bd0960 000000f0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x27
:0,37,115,39
109cf7b0: 0000: 0000057f 00000027
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x2b
:0,43,115,39
109cf7b8: 0000: 0000057d 0000002b
t0 write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
109cf7c0: 0000: 00002101 80000016
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0 }
109cf7c8: 0000: 00002073 00000000
t0 write GRAS_SU_MODE_CONTROL (2078)
GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
109cf7d0: 0000: 00002078 00100012
t0 write GRAS_SU_POINT_MINMAX (2070)
GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
GRAS_SU_POINT_SIZE: 1.000000
109cf7d8: 0000: 00012070 00100010 00000010
t0 write GRAS_SU_POLY_OFFSET_SCALE (2074)
GRAS_SU_POLY_OFFSET_SCALE: 0.000000
GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
109cf7e4: 0000: 00022074 00000000 00000000 00000000
t0 write GRAS_CL_CLIP_CNTL (2000)
GRAS_CL_CLIP_CNTL: { 0x80000 }
109cf7f4: 0000: 00002000 00080000
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109cf7fc: 0000: 000121c4 02000001 00000012
t0 write GRAS_SC_WINDOW_SCISSOR_BR (209c)
GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
109cf808: 0000: 0001209c 012b012b 00000000
t0 write RB_VPORT_Z_CLAMP[0].MIN (2120)
RB_VPORT_Z_CLAMP[0].MIN: 0
RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
109cf814: 0000: 00012120 00000000 00ffffff
t0 write HLSQ_UPDATE_CONTROL (23db)
HLSQ_UPDATE_CONTROL: 0x3
109cf820: 0000: 000023db 00000003
t0 write HLSQ_CONTROL_0_REG (23c0)
HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 | 0xfc0000 }
109cf828: 0000: 000423c0 28000250 fcfc0100 fff3f3f0 fcfcfcfc 00fcfcfc
t0 write HLSQ_VS_CONTROL_REG (23c5)
HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
109cf840: 0000: 000423c5 04000042 017e423e 007e4200 007e4200 007e4200
t0 write SP_SP_CTRL_REG (22c0)
SP_SP_CTRL_REG: { 0x140010 }
109cf858: 0000: 000022c0 00140010
t0 write SP_INSTR_CACHE_CTRL (22c1)
SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
109cf860: 0000: 000022c1 000005ff
t0 write SP_VS_LENGTH_REG (22e5)
SP_VS_LENGTH_REG: 4
109cf868: 0000: 000022e5 00000004
t0 write SP_VS_CTRL_REG0 (22c4)
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 4 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 4 }
SP_VS_PARAM_REG: { POSREGID = r1.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
109cf870: 0000: 000222c4 00201000 04000042 0010fc06
t0 write SP_VS_OUT[0].REG (22c7)
SP_VS_OUT[0].REG: { A_REGID = r2.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
109cf880: 0000: 000022c7 00001e0a
t0 write SP_VS_VPC_DST[0].REG (22d8)
SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
109cf888: 0000: 000022d8 08080808
t0 write SP_VS_OBJ_OFFSET_REG (22e0)
SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
SP_VS_OBJ_START: 0x10cd0000
109cf890: 0000: 000122e0 00000000 10cd0000
t0 write SP_FS_LENGTH_REG (22ef)
SP_FS_LENGTH_REG: 1
109cf89c: 0000: 000022ef 00000001
t0 write SP_FS_CTRL_REG0 (22e8)
SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
109cf8a4: 0000: 000122e8 00340402 8010003e
t0 write SP_FS_OBJ_OFFSET_REG (22ea)
SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
SP_FS_OBJ_START: 0x10cd2000
109cf8b0: 0000: 000122ea 7e420000 10cd2000
t0 write SP_HS_OBJ_OFFSET_REG (230d)
SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109cf8bc: 0000: 0000230d 7e420000
t0 write SP_DS_OBJ_OFFSET_REG (2334)
SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109cf8c4: 0000: 00002334 7e420000
t0 write SP_GS_OBJ_OFFSET_REG (235b)
SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109cf8cc: 0000: 0000235b 7e420000
t0 write GRAS_CNTL (2003)
GRAS_CNTL: { 0 }
109cf8d4: 0000: 00002003 00000000
t0 write RB_RENDER_CONTROL2 (20a3)
RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
109cf8dc: 0000: 000020a3 00000000
t0 write RB_FS_OUTPUT_REG (2100)
RB_FS_OUTPUT_REG: { MRT = 1 }
109cf8e4: 0000: 00002100 00000001
t0 write SP_FS_OUTPUT_REG (22f0)
SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
109cf8ec: 0000: 000022f0 0000fc01
t0 write SP_FS_MRT[0].REG (22f1)
SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
109cf8f4: 0000: 000722f1 0001a000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_ATTR (2140)
VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
109cf918: 0000: 00012140 42001004 00040400
t0 write VPC_VARYING_INTERP[0].MODE (2142)
VPC_VARYING_INTERP[0].MODE: 0x55
VPC_VARYING_INTERP[0x1].MODE: 0
VPC_VARYING_INTERP[0x2].MODE: 0
VPC_VARYING_INTERP[0x3].MODE: 0
VPC_VARYING_INTERP[0x4].MODE: 0
VPC_VARYING_INTERP[0x5].MODE: 0
VPC_VARYING_INTERP[0x6].MODE: 0
VPC_VARYING_INTERP[0x7].MODE: 0
109cf924: 0000: 00072142 00000055 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_VARYING_PS_REPL[0].MODE (214a)
VPC_VARYING_PS_REPL[0].MODE: 0
VPC_VARYING_PS_REPL[0x1].MODE: 0
VPC_VARYING_PS_REPL[0x2].MODE: 0
VPC_VARYING_PS_REPL[0x3].MODE: 0
VPC_VARYING_PS_REPL[0x4].MODE: 0
VPC_VARYING_PS_REPL[0x5].MODE: 0
VPC_VARYING_PS_REPL[0x6].MODE: 0
VPC_VARYING_PS_REPL[0x7].MODE: 0
109cf948: 0000: 0007214a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (131 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 4 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[40700000x_10000002x] mul.f r0.x, r0.z, c0.x
:2:0001:0001[40700001x_10030002x] mul.f r0.y, r0.z, c0.w
:3:0002:0002[63818000x_00001004x] mad.f32 r0.x, c1.x, r0.w, r0.x
:3:0003:0003[63818001x_00011007x] mad.f32 r0.y, c1.w, r0.w, r0.y
:3:0004:0004[63820000x_00001008x] mad.f32 r0.x, c2.x, r1.x, r0.x
:3:0005:0005[63820001x_0001100bx] mad.f32 r0.y, c2.w, r1.x, r0.y
:3:0006:0006[63828006x_0000100cx] mad.f32 r1.z, c3.x, r1.y, r0.x
:2:0007:0007[40700000x_10010002x] mul.f r0.x, r0.z, c0.y
:3:0008:0008[63828009x_0001100fx] mad.f32 r2.y, c3.w, r1.y, r0.y
:3:0009:0009[63818000x_00001005x] mad.f32 r0.x, c1.y, r0.w, r0.x
:1:0010:0010[20244001x_00000010x] mov.f32f32 r0.y, c4.x
:3:0011:0011[63820000x_00001009x] mad.f32 r0.x, c2.y, r1.x, r0.x
:0:0012:0012[00000000x_00000000x] nop
:3:0013:0013[63828007x_0000100dx] mad.f32 r1.w, c3.y, r1.y, r0.x
:2:0014:0014[40700000x_10020002x] mul.f r0.x, r0.z, c0.z
:1:0015:0015[20244002x_00000015x] mov.f32f32 r0.z, c5.y
:3:0016:0016[63818000x_00001006x] mad.f32 r0.x, c1.z, r0.w, r0.x
:1:0017:0017[20244003x_00000016x] mov.f32f32 r0.w, c5.z
:3:0018:0018[63820000x_0000100ax] mad.f32 r0.x, c2.z, r1.x, r0.x
:1:0019:0019[20244004x_00000017x] mov.f32f32 r1.x, c5.w
:3:0020:0020[63828008x_0000100ex] mad.f32 r2.x, c3.z, r1.y, r0.x
:1:0021:0021[20244000x_00000011x] mov.f32f32 r0.x, c4.y
:2:0022:0022[40100002x_00021021x] add.f r0.z, c8.y, r0.z
:2:0023:0023[4050040dx_00041017x] (sat)max.f r3.y, c5.w, r1.x
:2:0024:0024[40100003x_00031022x] add.f r0.w, c8.z, r0.w
:2:0025:0025[40700000x_00001011x] mul.f r0.x, c4.y, r0.x
:0:0026:0026[00000000x_00000000x] nop
:3:0027:0027[63808000x_00001010x] mad.f32 r0.x, c4.x, r0.y, r0.x
:1:0028:0028[20244001x_00000012x] mov.f32f32 r0.y, c4.z
:0:0029:0029[00000200x_00000000x] (rpt2)nop
:3:0030:0032[63808000x_00001012x] mad.f32 r0.x, c4.z, r0.y, r0.x
:1:0031:0033[20244001x_00000014x] mov.f32f32 r0.y, c5.x
:0:0032:0034[00000200x_00000000x] (rpt2)nop
:2:0033:0037[40100001x_00011020x] add.f r0.y, c8.x, r0.y
:0:0034:0038[00000000x_00000000x] nop
:4:0035:0039[80300000x_00000000x] rsq r0.x, r0.x
:2:0036:0040[40701004x_00001011x] (ss)mul.f r1.x, c4.y, r0.x
:0:0037:0041[00000200x_00000000x] (rpt2)nop
:2:0038:0044[40700004x_10190004x] mul.f r1.x, r1.x, c6.y
:2:0039:0045[40700005x_00001010x] mul.f r1.y, c4.x, r0.x
:0:0040:0046[00000200x_00000000x] (rpt2)nop
:3:0041:0049[63828004x_00041018x] mad.f32 r1.x, c6.x, r1.y, r1.x
:2:0042:0050[40700000x_00001012x] mul.f r0.x, c4.z, r0.x
:0:0043:0051[00000200x_00000000x] (rpt2)nop
:3:0044:0054[63800000x_0004101ax] mad.f32 r0.x, c6.z, r0.x, r1.x
:0:0045:0055[00000200x_00000000x] (rpt2)nop
:2:0046:0058[40b00004x_00001034x] cmps.f.lt r1.x, c13.x, r0.x
:2:0047:0059[40500000x_00001034x] max.f r0.x, c13.x, r0.x
:0:0048:0060[00000100x_00000000x] (rpt1)nop
:1:0049:0062[200c4004x_00000004x] cov.u32f32 r1.x, r1.x
:3:0050:0063[63800001x_00011024x] mad.f32 r0.y, c9.x, r0.x, r0.y
:3:0051:0064[63800002x_00021025x] mad.f32 r0.z, c9.y, r0.x, r0.z
:3:0052:0065[63800000x_00031026x] mad.f32 r0.x, c9.z, r0.x, r0.w
:3:0053:0066[6382040ax_00011028x] (sat)mad.f32 r2.z, c10.x, r1.x, r0.y
:3:0054:0067[6382040bx_00021029x] (sat)mad.f32 r2.w, c10.y, r1.x, r0.z
:3:0055:0068[6382040cx_0000102ax] (sat)mad.f32 r3.x, c10.z, r1.x, r0.x
:0:0056:0069[03000000x_00000000x] end
:0:0057:0070[00000000x_00000000x] nop
:0:0058:0071[00000000x_00000000x] nop
:0:0059:0072[00000000x_00000000x] nop
:0:0060:0073[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-13 (cnt=14, max=13)
- input (half): (cnt=0, max=0)
- input (full): 2-5 (cnt=4, max=5)
- max const: 52
- output (half): (cnt=0, max=0) (estimated)
- output (full): 6-13 (cnt=8, max=13) (estimated)
- shaderdb: 74 instructions, 38 nops, 36 non-nops, (61 instlen), 0 half, 4 full
- shaderdb: 1 (ss), 0 (sy)
109cf96c: 0000: c0813000 01200000 00000000 10000002 40700000 10030002 40700001 00001004
109cf98c: 0020: 63818000 00011007 63818001 00001008 63820000 0001100b 63820001 0000100c
109cf9ac: 0040: 63828006 10010002 40700000 0001100f 63828009 00001005 63818000 00000010
109cf9cc: 0060: 20244001 00001009 63820000 00000000 00000000 0000100d 63828007 10020002
109cf9ec: 0080: 40700000 00000015 20244002 00001006 63818000 00000016 20244003 0000100a
109cfa0c: 00a0: 63820000 00000017 20244004 0000100e 63828008 00000011 20244000 00021021
109cfa2c: 00c0: 40100002 00041017 4050040d 00031022 40100003 00001011 40700000 00000000
109cfa4c: 00e0: 00000000 00001010 63808000 00000012 20244001 00000000 00000200 00001012
109cfa6c: 0100: 63808000 00000014 20244001 00000000 00000200 00011020 40100001 00000000
109cfa8c: 0120: 00000000 00000000 80300000 00001011 40701004 00000000 00000200 10190004
109cfaac: 0140: 40700004 00001010 40700005 00000000 00000200 00041018 63828004 00001012
109cfacc: 0160: 40700000 00000000 00000200 0004101a 63800000 00000000 00000200 00001034
109cfaec: 0180: 40b00004 00001034 40500000 00000000 00000100 00000004 200c4004 00011024
109cfb0c: 01a0: 63800001 00021025 63800002 00031026 63800000 00011028 6382040a 00021029
109cfb2c: 01c0: 6382040b 0000102a 6382040c 00000000 03000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:0:0000:0000[00000000x_00000000x] nop
:6:0001:0001[c7c60000x_01c00000x] ldlv.u32 r0.x, l[0], 1
:6:0002:0002[c7c60001x_01c00002x] ldlv.u32 r0.y, l[1], 1
:6:0003:0003[c7c60002x_01c00004x] ldlv.u32 r0.z, l[2], 1
:6:0004:0004[c7c60003x_01c00006x] ldlv.u32 r0.w, l[3], 1
:2:0005:0005[473090fcx_00002000x] (ss)bary.f (ei)r63.x, 0, r0.x
:0:0006:0006[03000000x_00000000x] end
:0:0007:0007[00000000x_00000000x] nop
:0:0008:0008[00000000x_00000000x] nop
:0:0009:0009[00000000x_00000000x] nop
:0:0010:0010[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-3 (cnt=4, max=3)
- input (half): (cnt=0, max=0)
- input (full): 0-3 (cnt=4, max=3)
- max const: 0
- output (half): (cnt=0, max=0) (estimated)
- output (full): (cnt=0, max=0) (estimated)
- shaderdb: 11 instructions, 5 nops, 6 non-nops, (11 instlen), 0 half, 1 full
- shaderdb: 1 (ss), 0 (sy)
109cfb78: 0000: c0213000 00700000 00000000 00000000 00000000 01c00000 c7c60000 01c00002
109cfb98: 0020: c7c60001 01c00004 c7c60002 01c00006 c7c60003 00002000 473090fc 00000000
109cfbb8: 0040: 03000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109cfc04: 0000: c0002600 00000000
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109cfc18: 4.276816 0.109522 0.611668 0.517565 0.677381 4.774377 -0.312365 -0.264309
109cfc38: 2.500000 -1.480991 -0.961761 -0.813798 13.423393 -6.746271 38.893391 42.140564
109cfc58: 0.000000 0.000000 1.000000 1.000000 0.000000 0.160000 0.040000 1.000000
109cfc78: -0.064448 0.660942 0.747665 0.000000 1.000000 0.000000 0.000000 0.000000
109cfc98: 0.000000 0.000000 0.000000 1.000000 0.000000 0.800000 0.200000 1.000000
109cfcb8: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
109cfc18: 0000: 4088dbad 3de04cdc 3f1c964b 3f047f2c 3f2d68da 4098c7b2 be9fee59 be875387
109cfc38: 0020: 40200000 bfbd9119 bf7635f5 bf50550b 4156c638 c0d7e173 421b92d5 42288ff0
109cfc58: 0040: 00000000 00000000 3f800000 3f800000 00000000 3e23d70b 3d23d70b 3f800000
109cfc78: 0060: bd83fd0e 3f293379 3f3f66f5 00000000 3f800000 00000000 00000000 00000000
109cfc98: 0080: 00000000 00000000 00000000 3f800000 00000000 3f4ccccd 3e4ccccd 3f800000
109cfcb8: 00a0: 00000000 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000
109cfc0c: 0000: c0313000 03200000 00000001 4088dbad 3de04cdc 3f1c964b 3f047f2c 3f2d68da
109cfc2c: 0020: 4098c7b2 be9fee59 be875387 40200000 bfbd9119 bf7635f5 bf50550b 4156c638
109cfc4c: 0040: c0d7e173 421b92d5 42288ff0 00000000 00000000 3f800000 3f800000 00000000
109cfc6c: 0060: 3e23d70b 3d23d70b 3f800000 bd83fd0e 3f293379 3f3f66f5 00000000 3f800000
109cfc8c: 0080: 00000000 00000000 00000000 00000000 00000000 00000000 3f800000 00000000
109cfcac: 00a0: 3f4ccccd 3e4ccccd 3f800000 00000000 00000000 00000000 3f800000 00000000
109cfccc: 00c0: 00000000 00000000 3f800000
t3 opcode: CP_LOAD_STATE4 (30) (7 dwords)
{ DST_OFF = 13 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109cfce4: 0.000000 -28026765312.000000 -28026765312.000000 -28026765312.000000
109cfce4: 0000: 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
109cfcd8: 0000: c0053000 0060000d 00000001 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
t0 write VFD_FETCH[0].INSTR_0 (220a)
VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 12 }
VFD_FETCH[0].INSTR_1: 0x107cb000
VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
109cfcf4: 0000: 0003220a 0000060b 107cb000 00100000 00000001
t0 write VFD_DECODE[0].INSTR (228a)
VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
109cfd08: 0000: 0000228a 2c0020df
t0 write VFD_CONTROL_0 (2200)
VFD_CONTROL_0: { TOTALATTRTOVS = 4 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 1 | STRMFETCHINSTRCNT = 1 | 0xa0000 }
VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
VFD_CONTROL_2: 0
VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
VFD_CONTROL_4: 0
109cfd10: 0000: 00042200 041a0004 fcfc0081 00000000 0000fc00 00000000
t0 write UCHE_INVALIDATE0 (0e8a)
UCHE_INVALIDATE0: 0
UCHE_INVALIDATE1: 0x12
109cfd28: 0000: 00010e8a 00000000 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109cfd34: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109cfd40: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x2c
:0,43,115,44
109cfd48: 0000: 0000057f 0000002c
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 120 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd0a50 }
{ INDX_SIZE = 240 }
draw[7] register values
!+ 0000002b CP_SCRATCH[0x5].REG: 0x2b
:0,43,115,44
!+ 0000002c CP_SCRATCH[0x7].REG: 0x2c
:0,43,115,44
+ 00000000 UCHE_INVALIDATE0: 0
+ 00000012 UCHE_INVALIDATE1: 0x12
+ 00080000 GRAS_CL_CLIP_CNTL: { 0x80000 }
!+ 00000000 GRAS_CNTL: { 0 }
+ 00100010 GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
+ 00000010 GRAS_SU_POINT_SIZE: 1.000000
+ 00000000 GRAS_ALPHA_CONTROL: { 0 }
+ 00000000 GRAS_SU_POLY_OFFSET_SCALE: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
+ 00100012 GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
+ 012b012b GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
+ 00000000 GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
!+ 00000000 RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
+ 00000001 RB_FS_OUTPUT_REG: { MRT = 1 }
+ 80000016 RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
+ 00000000 RB_VPORT_Z_CLAMP[0].MIN: 0
+ 00ffffff RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
+ 42001004 VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
+ 00040400 VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
!+ 00000055 VPC_VARYING_INTERP[0].MODE: 0x55
+ 00000000 VPC_VARYING_INTERP[0x1].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x2].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x3].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x4].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x5].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x6].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x7].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x1].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x2].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x3].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x4].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x5].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x6].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x7].MODE: 0
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
!+ 041a0004 VFD_CONTROL_0: { TOTALATTRTOVS = 4 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 1 | STRMFETCHINSTRCNT = 1 | 0xa0000 }
+ fcfc0081 VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
+ 00000000 VFD_CONTROL_2: 0
+ 0000fc00 VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
+ 00000000 VFD_CONTROL_4: 0
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
!+ 0000060b VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 12 }
+ 107cb000 VFD_FETCH[0].INSTR_1: 0x107cb000
+ 00100000 VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
+ 00000001 VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
!+ 2c0020df VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
+ 00140010 SP_SP_CTRL_REG: { 0x140010 }
+ 000005ff SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
!+ 00201000 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 4 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
!+ 04000042 SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 4 }
!+ 0010fc06 SP_VS_PARAM_REG: { POSREGID = r1.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
!+ 00001e0a SP_VS_OUT[0].REG: { A_REGID = r2.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
+ 08080808 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
+ 00000000 SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
!+ 10cd0000 SP_VS_OBJ_START: 0x10cd0000
+ 00000004 SP_VS_LENGTH_REG: 4
!+ 00340402 SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
+ 8010003e SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
+ 7e420000 SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
!+ 10cd2000 SP_FS_OBJ_START: 0x10cd2000
+ 00000001 SP_FS_LENGTH_REG: 1
+ 0000fc01 SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
!+ 0001a000 SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
!+ 00000000 SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 7e420000 SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 28000250 HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
+ fcfc0100 HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
+ fff3f3f0 HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 }
+ 00fcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | 0xfc0000 }
+ 04000042 HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
+ 017e423e HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
+ 007e4200 HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 00000003 HLSQ_UPDATE_CONTROL: 0x3
109cfd50: 0000: c0053800 00000404 00000001 00000078 00000000 10bd0a50 000000f0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x2d
:0,43,115,45
109cfd6c: 0000: 0000057f 0000002d
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x31
:0,49,115,45
109cfd74: 0000: 0000057d 00000031
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109cfd7c: 0000: 000121c4 02000001 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109cfd88: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109cfd94: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x32
:0,49,115,50
109cfd9c: 0000: 0000057f 00000032
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 60 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd0b40 }
{ INDX_SIZE = 120 }
draw[8] register values
!+ 00000031 CP_SCRATCH[0x5].REG: 0x31
:0,49,115,50
!+ 00000032 CP_SCRATCH[0x7].REG: 0x32
:0,49,115,50
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
109cfda4: 0000: c0053800 00000404 00000001 0000003c 00000000 10bd0b40 00000078
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x33
:0,49,115,51
109cfdc0: 0000: 0000057f 00000033
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x37
:0,55,115,51
109cfdc8: 0000: 0000057d 00000037
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109cfdd0: 0000: 000121c4 02000001 00000012
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109cfddc: 0000: c0002600 00000000
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109cfdf0: 4.276816 0.109522 0.611668 0.517565 0.677381 4.774377 -0.312365 -0.264309
109cfe10: 2.500000 -1.480991 -0.961761 -0.813798 13.423393 -6.746271 38.893391 42.140564
109cfe30: 0.000000 0.000000 -1.000000 1.000000 0.000000 0.160000 0.040000 1.000000
109cfe50: -0.064448 0.660942 0.747665 0.000000 1.000000 0.000000 0.000000 0.000000
109cfe70: 0.000000 0.000000 0.000000 1.000000 0.000000 0.800000 0.200000 1.000000
109cfe90: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
109cfdf0: 0000: 4088dbad 3de04cdc 3f1c964b 3f047f2c 3f2d68da 4098c7b2 be9fee59 be875387
109cfe10: 0020: 40200000 bfbd9119 bf7635f5 bf50550b 4156c638 c0d7e173 421b92d5 42288ff0
109cfe30: 0040: 00000000 00000000 bf800000 3f800000 00000000 3e23d70b 3d23d70b 3f800000
109cfe50: 0060: bd83fd0e 3f293379 3f3f66f5 00000000 3f800000 00000000 00000000 00000000
109cfe70: 0080: 00000000 00000000 00000000 3f800000 00000000 3f4ccccd 3e4ccccd 3f800000
109cfe90: 00a0: 00000000 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000
109cfde4: 0000: c0313000 03200000 00000001 4088dbad 3de04cdc 3f1c964b 3f047f2c 3f2d68da
109cfe04: 0020: 4098c7b2 be9fee59 be875387 40200000 bfbd9119 bf7635f5 bf50550b 4156c638
109cfe24: 0040: c0d7e173 421b92d5 42288ff0 00000000 00000000 bf800000 3f800000 00000000
109cfe44: 0060: 3e23d70b 3d23d70b 3f800000 bd83fd0e 3f293379 3f3f66f5 00000000 3f800000
109cfe64: 0080: 00000000 00000000 00000000 00000000 00000000 00000000 3f800000 00000000
109cfe84: 00a0: 3f4ccccd 3e4ccccd 3f800000 00000000 00000000 00000000 3f800000 00000000
109cfea4: 00c0: 00000000 00000000 3f800000
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109cfeb0: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109cfebc: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x38
:0,55,115,56
109cfec4: 0000: 0000057f 00000038
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 120 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd0bb8 }
{ INDX_SIZE = 240 }
draw[9] register values
!+ 00000037 CP_SCRATCH[0x5].REG: 0x37
:0,55,115,56
!+ 00000038 CP_SCRATCH[0x7].REG: 0x38
:0,55,115,56
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
109cfecc: 0000: c0053800 00000404 00000001 00000078 00000000 10bd0bb8 000000f0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x39
:0,55,115,57
109cfee8: 0000: 0000057f 00000039
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x3d
:0,61,115,57
109cfef0: 0000: 0000057d 0000003d
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109cfef8: 0000: 000121c4 02000001 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109cff04: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109cff10: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x3e
:0,61,115,62
109cff18: 0000: 0000057f 0000003e
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 60 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd0ca8 }
{ INDX_SIZE = 120 }
draw[10] register values
!+ 0000003d CP_SCRATCH[0x5].REG: 0x3d
:0,61,115,62
!+ 0000003e CP_SCRATCH[0x7].REG: 0x3e
:0,61,115,62
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
109cff20: 0000: c0053800 00000404 00000001 0000003c 00000000 10bd0ca8 00000078
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x3f
:0,61,115,63
109cff3c: 0000: 0000057f 0000003f
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x43
:0,67,115,63
109cff44: 0000: 0000057d 00000043
t0 write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
109cff4c: 0000: 00002101 80000016
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0 }
109cff54: 0000: 00002073 00000000
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109cff5c: 0000: 000121c4 02000001 00000012
t0 write HLSQ_UPDATE_CONTROL (23db)
HLSQ_UPDATE_CONTROL: 0x3
109cff68: 0000: 000023db 00000003
t0 write HLSQ_CONTROL_0_REG (23c0)
HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 | 0xfc0000 }
109cff70: 0000: 000423c0 28000250 fcfc0100 fff3f3f0 fcfcfcfc 00fcfcfc
t0 write HLSQ_VS_CONTROL_REG (23c5)
HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
109cff88: 0000: 000423c5 04000042 017e423e 007e4200 007e4200 007e4200
t0 write SP_SP_CTRL_REG (22c0)
SP_SP_CTRL_REG: { 0x140010 }
109cffa0: 0000: 000022c0 00140010
t0 write SP_INSTR_CACHE_CTRL (22c1)
SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
109cffa8: 0000: 000022c1 000005ff
t0 write SP_VS_LENGTH_REG (22e5)
SP_VS_LENGTH_REG: 4
109cffb0: 0000: 000022e5 00000004
t0 write SP_VS_CTRL_REG0 (22c4)
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
109cffb8: 0000: 000222c4 00201400 08000042 0010fc0a
t0 write SP_VS_OUT[0].REG (22c7)
SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
109cffc8: 0000: 000022c7 00001e0e
t0 write SP_VS_VPC_DST[0].REG (22d8)
SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
109cffd0: 0000: 000022d8 08080808
t0 write SP_VS_OBJ_OFFSET_REG (22e0)
SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
SP_VS_OBJ_START: 0x10cd5000
109cffd8: 0000: 000122e0 00000000 10cd5000
t0 write SP_FS_LENGTH_REG (22ef)
SP_FS_LENGTH_REG: 1
109cffe4: 0000: 000022ef 00000001
t0 write SP_FS_CTRL_REG0 (22e8)
SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
109cffec: 0000: 000122e8 00340402 8010003e
t0 write SP_FS_OBJ_OFFSET_REG (22ea)
SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
SP_FS_OBJ_START: 0x10cd2000
109cfff8: 0000: 000122ea 7e420000 10cd2000
t0 write SP_HS_OBJ_OFFSET_REG (230d)
SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d0004: 0000: 0000230d 7e420000
t0 write SP_DS_OBJ_OFFSET_REG (2334)
SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d000c: 0000: 00002334 7e420000
t0 write SP_GS_OBJ_OFFSET_REG (235b)
SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d0014: 0000: 0000235b 7e420000
t0 write GRAS_CNTL (2003)
GRAS_CNTL: { 0 }
109d001c: 0000: 00002003 00000000
t0 write RB_RENDER_CONTROL2 (20a3)
RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
109d0024: 0000: 000020a3 00000000
t0 write RB_FS_OUTPUT_REG (2100)
RB_FS_OUTPUT_REG: { MRT = 1 }
109d002c: 0000: 00002100 00000001
t0 write SP_FS_OUTPUT_REG (22f0)
SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
109d0034: 0000: 000022f0 0000fc01
t0 write SP_FS_MRT[0].REG (22f1)
SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
109d003c: 0000: 000722f1 0001a000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_ATTR (2140)
VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
109d0060: 0000: 00012140 42001004 00040400
t0 write VPC_VARYING_INTERP[0].MODE (2142)
VPC_VARYING_INTERP[0].MODE: 0x55
VPC_VARYING_INTERP[0x1].MODE: 0
VPC_VARYING_INTERP[0x2].MODE: 0
VPC_VARYING_INTERP[0x3].MODE: 0
VPC_VARYING_INTERP[0x4].MODE: 0
VPC_VARYING_INTERP[0x5].MODE: 0
VPC_VARYING_INTERP[0x6].MODE: 0
VPC_VARYING_INTERP[0x7].MODE: 0
109d006c: 0000: 00072142 00000055 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_VARYING_PS_REPL[0].MODE (214a)
VPC_VARYING_PS_REPL[0].MODE: 0
VPC_VARYING_PS_REPL[0x1].MODE: 0
VPC_VARYING_PS_REPL[0x2].MODE: 0
VPC_VARYING_PS_REPL[0x3].MODE: 0
VPC_VARYING_PS_REPL[0x4].MODE: 0
VPC_VARYING_PS_REPL[0x5].MODE: 0
VPC_VARYING_PS_REPL[0x6].MODE: 0
VPC_VARYING_PS_REPL[0x7].MODE: 0
109d0090: 0000: 0007214a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (131 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 4 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[40700000x_10000002x] mul.f r0.x, r0.z, c0.x
:2:0001:0001[40700001x_10030002x] mul.f r0.y, r0.z, c0.w
:3:0002:0002[63818000x_00001004x] mad.f32 r0.x, c1.x, r0.w, r0.x
:3:0003:0003[63818001x_00011007x] mad.f32 r0.y, c1.w, r0.w, r0.y
:3:0004:0004[63820000x_00001008x] mad.f32 r0.x, c2.x, r1.x, r0.x
:3:0005:0005[63820001x_0001100bx] mad.f32 r0.y, c2.w, r1.x, r0.y
:3:0006:0006[6382800ax_0000100cx] mad.f32 r2.z, c3.x, r1.y, r0.x
:2:0007:0007[40700000x_10010002x] mul.f r0.x, r0.z, c0.y
:3:0008:0008[6382800dx_0001100fx] mad.f32 r3.y, c3.w, r1.y, r0.y
:3:0009:0009[63818000x_00001005x] mad.f32 r0.x, c1.y, r0.w, r0.x
:1:0010:0010[20244001x_00000010x] mov.f32f32 r0.y, c4.x
:3:0011:0011[63820000x_00001009x] mad.f32 r0.x, c2.y, r1.x, r0.x
:0:0012:0012[00000000x_00000000x] nop
:3:0013:0013[6382800bx_0000100dx] mad.f32 r2.w, c3.y, r1.y, r0.x
:2:0014:0014[40700000x_10020002x] mul.f r0.x, r0.z, c0.z
:2:0015:0015[40100001x_0001101cx] add.f r0.y, c7.x, r0.y
:3:0016:0016[63818000x_00001006x] mad.f32 r0.x, c1.z, r0.w, r0.x
:1:0017:0017[20244002x_00000011x] mov.f32f32 r0.z, c4.y
:3:0018:0018[63820000x_0000100ax] mad.f32 r0.x, c2.z, r1.x, r0.x
:1:0019:0019[20244004x_00000013x] mov.f32f32 r1.x, c4.w
:3:0020:0020[6382800cx_0000100ex] mad.f32 r3.x, c3.z, r1.y, r0.x
:2:0021:0021[40700000x_00070007x] mul.f r0.x, r1.w, r1.w
:2:0022:0022[40100002x_0002101dx] add.f r0.z, c7.y, r0.z
:3:0023:0023[63830000x_00000006x] mad.f32 r0.x, r1.z, r1.z, r0.x
:2:0024:0024[40500411x_00041013x] (sat)max.f r4.y, c4.w, r1.x
:3:0025:0025[63840000x_00000008x] mad.f32 r0.x, r2.x, r2.x, r0.x
:1:0026:0026[20244003x_00000012x] mov.f32f32 r0.w, c4.z
:0:0027:0027[00000200x_00000000x] (rpt2)nop
:2:0028:0030[40100003x_0003101ex] add.f r0.w, c7.z, r0.w
:0:0029:0031[00000000x_00000000x] nop
:4:0030:0032[80300000x_00000000x] rsq r0.x, r0.x
:2:0031:0033[40701004x_00000007x] (ss)mul.f r1.x, r1.w, r0.x
:0:0032:0034[00000200x_00000000x] (rpt2)nop
:2:0033:0037[40700004x_10150004x] mul.f r1.x, r1.x, c5.y
:2:0034:0038[40700005x_00000006x] mul.f r1.y, r1.z, r0.x
:0:0035:0039[00000200x_00000000x] (rpt2)nop
:3:0036:0042[63828004x_00041014x] mad.f32 r1.x, c5.x, r1.y, r1.x
:2:0037:0043[40700000x_00000008x] mul.f r0.x, r2.x, r0.x
:0:0038:0044[00000200x_00000000x] (rpt2)nop
:3:0039:0047[63800000x_00041016x] mad.f32 r0.x, c5.z, r0.x, r1.x
:0:0040:0048[00000200x_00000000x] (rpt2)nop
:2:0041:0051[40b00004x_00001034x] cmps.f.lt r1.x, c13.x, r0.x
:2:0042:0052[40500000x_00001034x] max.f r0.x, c13.x, r0.x
:0:0043:0053[00000100x_00000000x] (rpt1)nop
:1:0044:0055[200c4004x_00000004x] cov.u32f32 r1.x, r1.x
:3:0045:0056[63800001x_00011020x] mad.f32 r0.y, c8.x, r0.x, r0.y
:3:0046:0057[63800002x_00021021x] mad.f32 r0.z, c8.y, r0.x, r0.z
:3:0047:0058[63800000x_00031022x] mad.f32 r0.x, c8.z, r0.x, r0.w
:3:0048:0059[6382040ex_00011024x] (sat)mad.f32 r3.z, c9.x, r1.x, r0.y
:3:0049:0060[6382040fx_00021025x] (sat)mad.f32 r3.w, c9.y, r1.x, r0.z
:3:0050:0061[63820410x_00001026x] (sat)mad.f32 r4.x, c9.z, r1.x, r0.x
:0:0051:0062[03000000x_00000000x] end
:0:0052:0063[00000000x_00000000x] nop
:0:0053:0064[00000000x_00000000x] nop
:0:0054:0065[00000000x_00000000x] nop
:0:0055:0066[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-8 10-17 (cnt=17, max=17)
- input (half): (cnt=0, max=0)
- input (full): 2-8 (cnt=7, max=8)
- max const: 52
- output (half): (cnt=0, max=0) (estimated)
- output (full): 10-17 (cnt=8, max=17) (estimated)
- shaderdb: 67 instructions, 31 nops, 36 non-nops, (56 instlen), 0 half, 5 full
- shaderdb: 1 (ss), 0 (sy)
109d00b4: 0000: c0813000 01200000 00000000 10000002 40700000 10030002 40700001 00001004
109d00d4: 0020: 63818000 00011007 63818001 00001008 63820000 0001100b 63820001 0000100c
109d00f4: 0040: 6382800a 10010002 40700000 0001100f 6382800d 00001005 63818000 00000010
109d0114: 0060: 20244001 00001009 63820000 00000000 00000000 0000100d 6382800b 10020002
109d0134: 0080: 40700000 0001101c 40100001 00001006 63818000 00000011 20244002 0000100a
109d0154: 00a0: 63820000 00000013 20244004 0000100e 6382800c 00070007 40700000 0002101d
109d0174: 00c0: 40100002 00000006 63830000 00041013 40500411 00000008 63840000 00000012
109d0194: 00e0: 20244003 00000000 00000200 0003101e 40100003 00000000 00000000 00000000
109d01b4: 0100: 80300000 00000007 40701004 00000000 00000200 10150004 40700004 00000006
109d01d4: 0120: 40700005 00000000 00000200 00041014 63828004 00000008 40700000 00000000
109d01f4: 0140: 00000200 00041016 63800000 00000000 00000200 00001034 40b00004 00001034
109d0214: 0160: 40500000 00000000 00000100 00000004 200c4004 00011020 63800001 00021021
109d0234: 0180: 63800002 00031022 63800000 00011024 6382040e 00021025 6382040f 00001026
109d0254: 01a0: 63820410 00000000 03000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:0:0000:0000[00000000x_00000000x] nop
:6:0001:0001[c7c60000x_01c00000x] ldlv.u32 r0.x, l[0], 1
:6:0002:0002[c7c60001x_01c00002x] ldlv.u32 r0.y, l[1], 1
:6:0003:0003[c7c60002x_01c00004x] ldlv.u32 r0.z, l[2], 1
:6:0004:0004[c7c60003x_01c00006x] ldlv.u32 r0.w, l[3], 1
:2:0005:0005[473090fcx_00002000x] (ss)bary.f (ei)r63.x, 0, r0.x
:0:0006:0006[03000000x_00000000x] end
:0:0007:0007[00000000x_00000000x] nop
:0:0008:0008[00000000x_00000000x] nop
:0:0009:0009[00000000x_00000000x] nop
:0:0010:0010[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-3 (cnt=4, max=3)
- input (half): (cnt=0, max=0)
- input (full): 0-3 (cnt=4, max=3)
- max const: 0
- output (half): (cnt=0, max=0) (estimated)
- output (full): (cnt=0, max=0) (estimated)
- shaderdb: 11 instructions, 5 nops, 6 non-nops, (11 instlen), 0 half, 1 full
- shaderdb: 1 (ss), 0 (sy)
109d02c0: 0000: c0213000 00700000 00000000 00000000 00000000 01c00000 c7c60000 01c00002
109d02e0: 0020: c7c60001 01c00004 c7c60002 01c00006 c7c60003 00002000 473090fc 00000000
109d0300: 0040: 03000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109d034c: 0000: c0002600 00000000
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109d0360: 4.276816 0.109522 0.611668 0.517565 0.677381 4.774377 -0.312365 -0.264309
109d0380: 2.500000 -1.480991 -0.961761 -0.813798 13.423393 -6.746271 38.893391 42.140564
109d03a0: 0.000000 0.160000 0.040000 1.000000 -0.064448 0.660942 0.747665 0.000000
109d03c0: 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000
109d03e0: 0.000000 0.800000 0.200000 1.000000 0.000000 0.000000 0.000000 1.000000
109d0400: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000
109d0360: 0000: 4088dbad 3de04cdc 3f1c964b 3f047f2c 3f2d68da 4098c7b2 be9fee59 be875387
109d0380: 0020: 40200000 bfbd9119 bf7635f5 bf50550b 4156c638 c0d7e173 421b92d5 42288ff0
109d03a0: 0040: 00000000 3e23d70b 3d23d70b 3f800000 bd83fd0e 3f293379 3f3f66f5 00000000
109d03c0: 0060: 3f800000 00000000 00000000 00000000 00000000 00000000 00000000 3f800000
109d03e0: 0080: 00000000 3f4ccccd 3e4ccccd 3f800000 00000000 00000000 00000000 3f800000
109d0400: 00a0: 00000000 00000000 00000000 3f800000 02020000 02020202 02020202 00000202
109d0354: 0000: c0313000 03200000 00000001 4088dbad 3de04cdc 3f1c964b 3f047f2c 3f2d68da
109d0374: 0020: 4098c7b2 be9fee59 be875387 40200000 bfbd9119 bf7635f5 bf50550b 4156c638
109d0394: 0040: c0d7e173 421b92d5 42288ff0 00000000 3e23d70b 3d23d70b 3f800000 bd83fd0e
109d03b4: 0060: 3f293379 3f3f66f5 00000000 3f800000 00000000 00000000 00000000 00000000
109d03d4: 0080: 00000000 00000000 3f800000 00000000 3f4ccccd 3e4ccccd 3f800000 00000000
109d03f4: 00a0: 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000 02020000
109d0414: 00c0: 02020202 02020202 00000202
t3 opcode: CP_LOAD_STATE4 (30) (7 dwords)
{ DST_OFF = 13 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109d042c: 0.000000 -28026765312.000000 -28026765312.000000 -28026765312.000000
109d042c: 0000: 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
109d0420: 0000: c0053000 0060000d 00000001 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
t0 write VFD_FETCH[0].INSTR_0 (220a)
VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 | SWITCHNEXT }
VFD_FETCH[0].INSTR_1: 0x107cb000
VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
109d043c: 0000: 0003220a 00080c0b 107cb000 00100000 00000001
t0 write VFD_DECODE[0].INSTR (228a)
VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID | SWITCHNEXT }
109d0450: 0000: 0000228a 6c0020df
t0 write VFD_FETCH[0x1].INSTR_0 (220e)
VFD_FETCH[0x1].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 }
VFD_FETCH[0x1].INSTR_1: 0x107cb00c
VFD_FETCH[0x1].INSTR_2: { SIZE = 0xffff4 }
VFD_FETCH[0x1].INSTR_3: { STEPRATE = 1 }
109d0458: 0000: 0003220e 00000c0b 107cb00c 000ffff4 00000001
t0 write VFD_DECODE[0x1].INSTR (228b)
VFD_DECODE[0x1].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r1.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
109d046c: 0000: 0000228b 2c0060df
t0 write VFD_CONTROL_0 (2200)
VFD_CONTROL_0: { TOTALATTRTOVS = 8 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 2 | STRMFETCHINSTRCNT = 2 | 0xa0000 }
VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
VFD_CONTROL_2: 0
VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
VFD_CONTROL_4: 0
109d0474: 0000: 00042200 082a0008 fcfc0081 00000000 0000fc00 00000000
t0 write UCHE_INVALIDATE0 (0e8a)
UCHE_INVALIDATE0: 0
UCHE_INVALIDATE1: 0x12
109d048c: 0000: 00010e8a 00000000 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109d0498: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109d04a4: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x44
:0,67,115,68
109d04ac: 0000: 0000057f 00000044
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 240 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd0d20 }
{ INDX_SIZE = 480 }
draw[11] register values
!+ 00000043 CP_SCRATCH[0x5].REG: 0x43
:0,67,115,68
!+ 00000044 CP_SCRATCH[0x7].REG: 0x44
:0,67,115,68
+ 00000000 UCHE_INVALIDATE0: 0
+ 00000012 UCHE_INVALIDATE1: 0x12
+ 00000000 GRAS_CNTL: { 0 }
+ 00000000 GRAS_ALPHA_CONTROL: { 0 }
+ 00000000 RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
+ 00000001 RB_FS_OUTPUT_REG: { MRT = 1 }
+ 80000016 RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
+ 42001004 VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
+ 00040400 VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
+ 00000055 VPC_VARYING_INTERP[0].MODE: 0x55
+ 00000000 VPC_VARYING_INTERP[0x1].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x2].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x3].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x4].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x5].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x6].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x7].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x1].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x2].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x3].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x4].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x5].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x6].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x7].MODE: 0
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
!+ 082a0008 VFD_CONTROL_0: { TOTALATTRTOVS = 8 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 2 | STRMFETCHINSTRCNT = 2 | 0xa0000 }
+ fcfc0081 VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
+ 00000000 VFD_CONTROL_2: 0
+ 0000fc00 VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
+ 00000000 VFD_CONTROL_4: 0
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
!+ 00080c0b VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 | SWITCHNEXT }
+ 107cb000 VFD_FETCH[0].INSTR_1: 0x107cb000
+ 00100000 VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
+ 00000001 VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
+ 00000c0b VFD_FETCH[0x1].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 }
+ 107cb00c VFD_FETCH[0x1].INSTR_1: 0x107cb00c
+ 000ffff4 VFD_FETCH[0x1].INSTR_2: { SIZE = 0xffff4 }
+ 00000001 VFD_FETCH[0x1].INSTR_3: { STEPRATE = 1 }
!+ 6c0020df VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID | SWITCHNEXT }
+ 2c0060df VFD_DECODE[0x1].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r1.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
+ 00140010 SP_SP_CTRL_REG: { 0x140010 }
+ 000005ff SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
!+ 00201400 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
!+ 08000042 SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
!+ 0010fc0a SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
!+ 00001e0e SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
+ 08080808 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
+ 00000000 SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
!+ 10cd5000 SP_VS_OBJ_START: 0x10cd5000
+ 00000004 SP_VS_LENGTH_REG: 4
+ 00340402 SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
+ 8010003e SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
+ 7e420000 SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 10cd2000 SP_FS_OBJ_START: 0x10cd2000
+ 00000001 SP_FS_LENGTH_REG: 1
+ 0000fc01 SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
+ 0001a000 SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
+ 00000000 SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 7e420000 SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 28000250 HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
+ fcfc0100 HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
+ fff3f3f0 HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 }
+ 00fcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | 0xfc0000 }
+ 04000042 HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
+ 017e423e HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
+ 007e4200 HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 00000003 HLSQ_UPDATE_CONTROL: 0x3
109d04b4: 0000: c0053800 00000404 00000001 000000f0 00000000 10bd0d20 000001e0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x45
:0,67,115,69
109d04d0: 0000: 0000057f 00000045
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x49
:0,73,115,69
109d04d8: 0000: 0000057d 00000049
t0 write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
109d04e0: 0000: 00002101 80000016
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0 }
109d04e8: 0000: 00002073 00000000
t0 write GRAS_SU_MODE_CONTROL (2078)
GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
109d04f0: 0000: 00002078 00100012
t0 write GRAS_SU_POINT_MINMAX (2070)
GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
GRAS_SU_POINT_SIZE: 1.000000
109d04f8: 0000: 00012070 00100010 00000010
t0 write GRAS_SU_POLY_OFFSET_SCALE (2074)
GRAS_SU_POLY_OFFSET_SCALE: 0.000000
GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
109d0504: 0000: 00022074 00000000 00000000 00000000
t0 write GRAS_CL_CLIP_CNTL (2000)
GRAS_CL_CLIP_CNTL: { 0x80000 }
109d0514: 0000: 00002000 00080000
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109d051c: 0000: 000121c4 02000001 00000012
t0 write GRAS_SC_WINDOW_SCISSOR_BR (209c)
GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
109d0528: 0000: 0001209c 012b012b 00000000
t0 write RB_VPORT_Z_CLAMP[0].MIN (2120)
RB_VPORT_Z_CLAMP[0].MIN: 0
RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
109d0534: 0000: 00012120 00000000 00ffffff
t0 write HLSQ_UPDATE_CONTROL (23db)
HLSQ_UPDATE_CONTROL: 0x3
109d0540: 0000: 000023db 00000003
t0 write HLSQ_CONTROL_0_REG (23c0)
HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 | 0xfc0000 }
109d0548: 0000: 000423c0 28000250 fcfc0100 fff3f3f0 fcfcfc00 00fcfcfc
t0 write HLSQ_VS_CONTROL_REG (23c5)
HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
109d0560: 0000: 000423c5 04000042 017e423e 007e4200 007e4200 007e4200
t0 write SP_SP_CTRL_REG (22c0)
SP_SP_CTRL_REG: { 0x140010 }
109d0578: 0000: 000022c0 00140010
t0 write SP_INSTR_CACHE_CTRL (22c1)
SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
109d0580: 0000: 000022c1 000005ff
t0 write SP_VS_LENGTH_REG (22e5)
SP_VS_LENGTH_REG: 4
109d0588: 0000: 000022e5 00000004
t0 write SP_VS_CTRL_REG0 (22c4)
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
109d0590: 0000: 000222c4 00201400 08000042 0010fc0a
t0 write SP_VS_OUT[0].REG (22c7)
SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
109d05a0: 0000: 000022c7 00001e0e
t0 write SP_VS_VPC_DST[0].REG (22d8)
SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
109d05a8: 0000: 000022d8 08080808
t0 write SP_VS_OBJ_OFFSET_REG (22e0)
SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
SP_VS_OBJ_START: 0x10cd5000
109d05b0: 0000: 000122e0 00000000 10cd5000
t0 write SP_FS_LENGTH_REG (22ef)
SP_FS_LENGTH_REG: 1
109d05bc: 0000: 000022ef 00000001
t0 write SP_FS_CTRL_REG0 (22e8)
SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
109d05c4: 0000: 000122e8 00340802 8010003e
t0 write SP_FS_OBJ_OFFSET_REG (22ea)
SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
SP_FS_OBJ_START: 0x108cb000
109d05d0: 0000: 000122ea 7e420000 108cb000
t0 write SP_HS_OBJ_OFFSET_REG (230d)
SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d05dc: 0000: 0000230d 7e420000
t0 write SP_DS_OBJ_OFFSET_REG (2334)
SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d05e4: 0000: 00002334 7e420000
t0 write SP_GS_OBJ_OFFSET_REG (235b)
SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d05ec: 0000: 0000235b 7e420000
t0 write GRAS_CNTL (2003)
GRAS_CNTL: { IJ_PERSP }
109d05f4: 0000: 00002003 00000001
t0 write RB_RENDER_CONTROL2 (20a3)
RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 | IJ_PERSP_PIXEL }
109d05fc: 0000: 000020a3 00001000
t0 write RB_FS_OUTPUT_REG (2100)
RB_FS_OUTPUT_REG: { MRT = 1 }
109d0604: 0000: 00002100 00000001
t0 write SP_FS_OUTPUT_REG (22f0)
SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
109d060c: 0000: 000022f0 0000fc01
t0 write SP_FS_MRT[0].REG (22f1)
SP_FS_MRT[0].REG: { REGID = r0.z | MRTFORMAT = RB4_R8G8B8A8_UNORM }
SP_FS_MRT[0x1].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x2].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x3].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x4].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x5].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x6].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x7].REG: { REGID = r0.z | MRTFORMAT = 0 }
109d0614: 0000: 000722f1 0001a002 00000002 00000002 00000002 00000002 00000002 00000002
109d0634: 0020: 00000002
t0 write VPC_ATTR (2140)
VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
109d0638: 0000: 00012140 42001004 00040400
t0 write VPC_VARYING_INTERP[0].MODE (2142)
VPC_VARYING_INTERP[0].MODE: 0
VPC_VARYING_INTERP[0x1].MODE: 0
VPC_VARYING_INTERP[0x2].MODE: 0
VPC_VARYING_INTERP[0x3].MODE: 0
VPC_VARYING_INTERP[0x4].MODE: 0
VPC_VARYING_INTERP[0x5].MODE: 0
VPC_VARYING_INTERP[0x6].MODE: 0
VPC_VARYING_INTERP[0x7].MODE: 0
109d0644: 0000: 00072142 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_VARYING_PS_REPL[0].MODE (214a)
VPC_VARYING_PS_REPL[0].MODE: 0
VPC_VARYING_PS_REPL[0x1].MODE: 0
VPC_VARYING_PS_REPL[0x2].MODE: 0
VPC_VARYING_PS_REPL[0x3].MODE: 0
VPC_VARYING_PS_REPL[0x4].MODE: 0
VPC_VARYING_PS_REPL[0x5].MODE: 0
VPC_VARYING_PS_REPL[0x6].MODE: 0
VPC_VARYING_PS_REPL[0x7].MODE: 0
109d0668: 0000: 0007214a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (131 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 4 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[40700000x_10000002x] mul.f r0.x, r0.z, c0.x
:2:0001:0001[40700001x_10030002x] mul.f r0.y, r0.z, c0.w
:3:0002:0002[63818000x_00001004x] mad.f32 r0.x, c1.x, r0.w, r0.x
:3:0003:0003[63818001x_00011007x] mad.f32 r0.y, c1.w, r0.w, r0.y
:3:0004:0004[63820000x_00001008x] mad.f32 r0.x, c2.x, r1.x, r0.x
:3:0005:0005[63820001x_0001100bx] mad.f32 r0.y, c2.w, r1.x, r0.y
:3:0006:0006[6382800ax_0000100cx] mad.f32 r2.z, c3.x, r1.y, r0.x
:2:0007:0007[40700000x_10010002x] mul.f r0.x, r0.z, c0.y
:3:0008:0008[6382800dx_0001100fx] mad.f32 r3.y, c3.w, r1.y, r0.y
:3:0009:0009[63818000x_00001005x] mad.f32 r0.x, c1.y, r0.w, r0.x
:1:0010:0010[20244001x_00000010x] mov.f32f32 r0.y, c4.x
:3:0011:0011[63820000x_00001009x] mad.f32 r0.x, c2.y, r1.x, r0.x
:0:0012:0012[00000000x_00000000x] nop
:3:0013:0013[6382800bx_0000100dx] mad.f32 r2.w, c3.y, r1.y, r0.x
:2:0014:0014[40700000x_10020002x] mul.f r0.x, r0.z, c0.z
:2:0015:0015[40100001x_0001101cx] add.f r0.y, c7.x, r0.y
:3:0016:0016[63818000x_00001006x] mad.f32 r0.x, c1.z, r0.w, r0.x
:1:0017:0017[20244002x_00000011x] mov.f32f32 r0.z, c4.y
:3:0018:0018[63820000x_0000100ax] mad.f32 r0.x, c2.z, r1.x, r0.x
:1:0019:0019[20244004x_00000013x] mov.f32f32 r1.x, c4.w
:3:0020:0020[6382800cx_0000100ex] mad.f32 r3.x, c3.z, r1.y, r0.x
:2:0021:0021[40700000x_00070007x] mul.f r0.x, r1.w, r1.w
:2:0022:0022[40100002x_0002101dx] add.f r0.z, c7.y, r0.z
:3:0023:0023[63830000x_00000006x] mad.f32 r0.x, r1.z, r1.z, r0.x
:2:0024:0024[40500411x_00041013x] (sat)max.f r4.y, c4.w, r1.x
:3:0025:0025[63840000x_00000008x] mad.f32 r0.x, r2.x, r2.x, r0.x
:1:0026:0026[20244003x_00000012x] mov.f32f32 r0.w, c4.z
:0:0027:0027[00000200x_00000000x] (rpt2)nop
:2:0028:0030[40100003x_0003101ex] add.f r0.w, c7.z, r0.w
:0:0029:0031[00000000x_00000000x] nop
:4:0030:0032[80300000x_00000000x] rsq r0.x, r0.x
:2:0031:0033[40701004x_00000007x] (ss)mul.f r1.x, r1.w, r0.x
:0:0032:0034[00000200x_00000000x] (rpt2)nop
:2:0033:0037[40700004x_10150004x] mul.f r1.x, r1.x, c5.y
:2:0034:0038[40700005x_00000006x] mul.f r1.y, r1.z, r0.x
:0:0035:0039[00000200x_00000000x] (rpt2)nop
:3:0036:0042[63828004x_00041014x] mad.f32 r1.x, c5.x, r1.y, r1.x
:2:0037:0043[40700000x_00000008x] mul.f r0.x, r2.x, r0.x
:0:0038:0044[00000200x_00000000x] (rpt2)nop
:3:0039:0047[63800000x_00041016x] mad.f32 r0.x, c5.z, r0.x, r1.x
:0:0040:0048[00000200x_00000000x] (rpt2)nop
:2:0041:0051[40b00004x_00001034x] cmps.f.lt r1.x, c13.x, r0.x
:2:0042:0052[40500000x_00001034x] max.f r0.x, c13.x, r0.x
:0:0043:0053[00000100x_00000000x] (rpt1)nop
:1:0044:0055[200c4004x_00000004x] cov.u32f32 r1.x, r1.x
:3:0045:0056[63800001x_00011020x] mad.f32 r0.y, c8.x, r0.x, r0.y
:3:0046:0057[63800002x_00021021x] mad.f32 r0.z, c8.y, r0.x, r0.z
:3:0047:0058[63800000x_00031022x] mad.f32 r0.x, c8.z, r0.x, r0.w
:3:0048:0059[6382040ex_00011024x] (sat)mad.f32 r3.z, c9.x, r1.x, r0.y
:3:0049:0060[6382040fx_00021025x] (sat)mad.f32 r3.w, c9.y, r1.x, r0.z
:3:0050:0061[63820410x_00001026x] (sat)mad.f32 r4.x, c9.z, r1.x, r0.x
:0:0051:0062[03000000x_00000000x] end
:0:0052:0063[00000000x_00000000x] nop
:0:0053:0064[00000000x_00000000x] nop
:0:0054:0065[00000000x_00000000x] nop
:0:0055:0066[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-8 10-17 (cnt=17, max=17)
- input (half): (cnt=0, max=0)
- input (full): 2-8 (cnt=7, max=8)
- max const: 52
- output (half): (cnt=0, max=0) (estimated)
- output (full): 10-17 (cnt=8, max=17) (estimated)
- shaderdb: 67 instructions, 31 nops, 36 non-nops, (56 instlen), 0 half, 5 full
- shaderdb: 1 (ss), 0 (sy)
109d068c: 0000: c0813000 01200000 00000000 10000002 40700000 10030002 40700001 00001004
109d06ac: 0020: 63818000 00011007 63818001 00001008 63820000 0001100b 63820001 0000100c
109d06cc: 0040: 6382800a 10010002 40700000 0001100f 6382800d 00001005 63818000 00000010
109d06ec: 0060: 20244001 00001009 63820000 00000000 00000000 0000100d 6382800b 10020002
109d070c: 0080: 40700000 0001101c 40100001 00001006 63818000 00000011 20244002 0000100a
109d072c: 00a0: 63820000 00000013 20244004 0000100e 6382800c 00070007 40700000 0002101d
109d074c: 00c0: 40100002 00000006 63830000 00041013 40500411 00000008 63840000 00000012
109d076c: 00e0: 20244003 00000000 00000200 0003101e 40100003 00000000 00000000 00000000
109d078c: 0100: 80300000 00000007 40701004 00000000 00000200 10150004 40700004 00000006
109d07ac: 0120: 40700005 00000000 00000200 00041014 63828004 00000008 40700000 00000000
109d07cc: 0140: 00000200 00041016 63800000 00000000 00000200 00001034 40b00004 00001034
109d07ec: 0160: 40500000 00000000 00000100 00000004 200c4004 00011020 63800001 00021021
109d080c: 0180: 63800002 00031022 63800000 00011024 6382040e 00021025 6382040f 00001026
109d082c: 01a0: 63820410 00000000 03000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[47300002x_00002000x] bary.f r0.z, 0, r0.x
:2:0001:0001[47300003x_00002001x] bary.f r0.w, 1, r0.x
:2:0002:0002[47300004x_00002002x] bary.f r1.x, 2, r0.x
:2:0003:0003[47308005x_00002003x] bary.f (ei)r1.y, 3, r0.x
:0:0004:0004[03000000x_00000000x] end
:0:0005:0005[00000000x_00000000x] nop
:0:0006:0006[00000000x_00000000x] nop
:0:0007:0007[00000000x_00000000x] nop
:0:0008:0008[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0 2-5 (cnt=5, max=5)
- input (half): (cnt=0, max=0)
- input (full): 0 (cnt=1, max=0)
- max const: 0
- output (half): (cnt=0, max=0) (estimated)
- output (full): 2-5 (cnt=4, max=5) (estimated)
- shaderdb: 9 instructions, 4 nops, 5 non-nops, (9 instlen), 0 half, 2 full
- shaderdb: 0 (ss), 0 (sy)
109d0898: 0000: c0213000 00700000 00000000 00002000 47300002 00002001 47300003 00002002
109d08b8: 0020: 47300004 00002003 47308005 00000000 03000000 00000000 00000000 00000000
*
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109d0924: 0000: c0002600 00000000
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109d0938: 4.276816 0.109522 0.611668 0.517565 0.677381 4.774377 -0.312365 -0.264309
109d0958: 2.500000 -1.480991 -0.961761 -0.813798 13.423393 -6.746271 38.893391 42.140564
109d0978: 0.000000 0.160000 0.040000 1.000000 -0.064448 0.660942 0.747665 0.000000
109d0998: 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000
109d09b8: 0.000000 0.800000 0.200000 1.000000 0.000000 0.000000 0.000000 1.000000
109d09d8: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000
109d0938: 0000: 4088dbad 3de04cdc 3f1c964b 3f047f2c 3f2d68da 4098c7b2 be9fee59 be875387
109d0958: 0020: 40200000 bfbd9119 bf7635f5 bf50550b 4156c638 c0d7e173 421b92d5 42288ff0
109d0978: 0040: 00000000 3e23d70b 3d23d70b 3f800000 bd83fd0e 3f293379 3f3f66f5 00000000
109d0998: 0060: 3f800000 00000000 00000000 00000000 00000000 00000000 00000000 3f800000
109d09b8: 0080: 00000000 3f4ccccd 3e4ccccd 3f800000 00000000 00000000 00000000 3f800000
109d09d8: 00a0: 00000000 00000000 00000000 3f800000 02020000 02020202 02020202 00000202
109d092c: 0000: c0313000 03200000 00000001 4088dbad 3de04cdc 3f1c964b 3f047f2c 3f2d68da
109d094c: 0020: 4098c7b2 be9fee59 be875387 40200000 bfbd9119 bf7635f5 bf50550b 4156c638
109d096c: 0040: c0d7e173 421b92d5 42288ff0 00000000 3e23d70b 3d23d70b 3f800000 bd83fd0e
109d098c: 0060: 3f293379 3f3f66f5 00000000 3f800000 00000000 00000000 00000000 00000000
109d09ac: 0080: 00000000 00000000 3f800000 00000000 3f4ccccd 3e4ccccd 3f800000 00000000
109d09cc: 00a0: 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000 02020000
109d09ec: 00c0: 02020202 02020202 00000202
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109d09f8: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109d0a04: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x4a
:0,73,115,74
109d0a0c: 0000: 0000057f 0000004a
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 60 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd0f00 }
{ INDX_SIZE = 120 }
draw[12] register values
!+ 00000049 CP_SCRATCH[0x5].REG: 0x49
:0,73,115,74
!+ 0000004a CP_SCRATCH[0x7].REG: 0x4a
:0,73,115,74
+ 00080000 GRAS_CL_CLIP_CNTL: { 0x80000 }
!+ 00000001 GRAS_CNTL: { IJ_PERSP }
+ 00100010 GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
+ 00000010 GRAS_SU_POINT_SIZE: 1.000000
+ 00000000 GRAS_ALPHA_CONTROL: { 0 }
+ 00000000 GRAS_SU_POLY_OFFSET_SCALE: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
+ 00100012 GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
+ 012b012b GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
+ 00000000 GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
!+ 00001000 RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 | IJ_PERSP_PIXEL }
+ 00000001 RB_FS_OUTPUT_REG: { MRT = 1 }
+ 80000016 RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
+ 00000000 RB_VPORT_Z_CLAMP[0].MIN: 0
+ 00ffffff RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
+ 42001004 VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
+ 00040400 VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
!+ 00000000 VPC_VARYING_INTERP[0].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x1].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x2].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x3].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x4].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x5].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x6].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x7].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x1].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x2].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x3].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x4].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x5].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x6].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x7].MODE: 0
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
+ 00140010 SP_SP_CTRL_REG: { 0x140010 }
+ 000005ff SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
+ 00201400 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
+ 08000042 SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
+ 0010fc0a SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
+ 00001e0e SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
+ 08080808 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
+ 00000000 SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
+ 10cd5000 SP_VS_OBJ_START: 0x10cd5000
+ 00000004 SP_VS_LENGTH_REG: 4
!+ 00340802 SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
+ 8010003e SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
+ 7e420000 SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
!+ 108cb000 SP_FS_OBJ_START: 0x108cb000
+ 00000001 SP_FS_LENGTH_REG: 1
+ 0000fc01 SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
!+ 0001a002 SP_FS_MRT[0].REG: { REGID = r0.z | MRTFORMAT = RB4_R8G8B8A8_UNORM }
!+ 00000002 SP_FS_MRT[0x1].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x2].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x3].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x4].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x5].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x6].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x7].REG: { REGID = r0.z | MRTFORMAT = 0 }
+ 7e420000 SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 28000250 HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
+ fcfc0100 HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
+ fff3f3f0 HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 }
+ 00fcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | 0xfc0000 }
+ 04000042 HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
+ 017e423e HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
+ 007e4200 HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 00000003 HLSQ_UPDATE_CONTROL: 0x3
109d0a14: 0000: c0053800 00000404 00000001 0000003c 00000000 10bd0f00 00000078
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x4b
:0,73,115,75
109d0a30: 0000: 0000057f 0000004b
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x4f
:0,79,115,75
109d0a38: 0000: 0000057d 0000004f
t0 write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
109d0a40: 0000: 00002101 80000016
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0 }
109d0a48: 0000: 00002073 00000000
t0 write GRAS_SU_MODE_CONTROL (2078)
GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
109d0a50: 0000: 00002078 00100012
t0 write GRAS_SU_POINT_MINMAX (2070)
GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
GRAS_SU_POINT_SIZE: 1.000000
109d0a58: 0000: 00012070 00100010 00000010
t0 write GRAS_SU_POLY_OFFSET_SCALE (2074)
GRAS_SU_POLY_OFFSET_SCALE: 0.000000
GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
109d0a64: 0000: 00022074 00000000 00000000 00000000
t0 write GRAS_CL_CLIP_CNTL (2000)
GRAS_CL_CLIP_CNTL: { 0x80000 }
109d0a74: 0000: 00002000 00080000
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109d0a7c: 0000: 000121c4 02000001 00000012
t0 write GRAS_SC_WINDOW_SCISSOR_BR (209c)
GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
109d0a88: 0000: 0001209c 012b012b 00000000
t0 write RB_VPORT_Z_CLAMP[0].MIN (2120)
RB_VPORT_Z_CLAMP[0].MIN: 0
RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
109d0a94: 0000: 00012120 00000000 00ffffff
t0 write HLSQ_UPDATE_CONTROL (23db)
HLSQ_UPDATE_CONTROL: 0x3
109d0aa0: 0000: 000023db 00000003
t0 write HLSQ_CONTROL_0_REG (23c0)
HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 | 0xfc0000 }
109d0aa8: 0000: 000423c0 28000250 fcfc0100 fff3f3f0 fcfcfcfc 00fcfcfc
t0 write HLSQ_VS_CONTROL_REG (23c5)
HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
109d0ac0: 0000: 000423c5 04000042 017e423e 007e4200 007e4200 007e4200
t0 write SP_SP_CTRL_REG (22c0)
SP_SP_CTRL_REG: { 0x140010 }
109d0ad8: 0000: 000022c0 00140010
t0 write SP_INSTR_CACHE_CTRL (22c1)
SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
109d0ae0: 0000: 000022c1 000005ff
t0 write SP_VS_LENGTH_REG (22e5)
SP_VS_LENGTH_REG: 4
109d0ae8: 0000: 000022e5 00000004
t0 write SP_VS_CTRL_REG0 (22c4)
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 4 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 4 }
SP_VS_PARAM_REG: { POSREGID = r1.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
109d0af0: 0000: 000222c4 00201000 04000042 0010fc06
t0 write SP_VS_OUT[0].REG (22c7)
SP_VS_OUT[0].REG: { A_REGID = r2.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
109d0b00: 0000: 000022c7 00001e0a
t0 write SP_VS_VPC_DST[0].REG (22d8)
SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
109d0b08: 0000: 000022d8 08080808
t0 write SP_VS_OBJ_OFFSET_REG (22e0)
SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
SP_VS_OBJ_START: 0x10cd0000
109d0b10: 0000: 000122e0 00000000 10cd0000
t0 write SP_FS_LENGTH_REG (22ef)
SP_FS_LENGTH_REG: 1
109d0b1c: 0000: 000022ef 00000001
t0 write SP_FS_CTRL_REG0 (22e8)
SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
109d0b24: 0000: 000122e8 00340402 8010003e
t0 write SP_FS_OBJ_OFFSET_REG (22ea)
SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
SP_FS_OBJ_START: 0x10cd2000
109d0b30: 0000: 000122ea 7e420000 10cd2000
t0 write SP_HS_OBJ_OFFSET_REG (230d)
SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d0b3c: 0000: 0000230d 7e420000
t0 write SP_DS_OBJ_OFFSET_REG (2334)
SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d0b44: 0000: 00002334 7e420000
t0 write SP_GS_OBJ_OFFSET_REG (235b)
SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d0b4c: 0000: 0000235b 7e420000
t0 write GRAS_CNTL (2003)
GRAS_CNTL: { 0 }
109d0b54: 0000: 00002003 00000000
t0 write RB_RENDER_CONTROL2 (20a3)
RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
109d0b5c: 0000: 000020a3 00000000
t0 write RB_FS_OUTPUT_REG (2100)
RB_FS_OUTPUT_REG: { MRT = 1 }
109d0b64: 0000: 00002100 00000001
t0 write SP_FS_OUTPUT_REG (22f0)
SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
109d0b6c: 0000: 000022f0 0000fc01
t0 write SP_FS_MRT[0].REG (22f1)
SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
109d0b74: 0000: 000722f1 0001a000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_ATTR (2140)
VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
109d0b98: 0000: 00012140 42001004 00040400
t0 write VPC_VARYING_INTERP[0].MODE (2142)
VPC_VARYING_INTERP[0].MODE: 0x55
VPC_VARYING_INTERP[0x1].MODE: 0
VPC_VARYING_INTERP[0x2].MODE: 0
VPC_VARYING_INTERP[0x3].MODE: 0
VPC_VARYING_INTERP[0x4].MODE: 0
VPC_VARYING_INTERP[0x5].MODE: 0
VPC_VARYING_INTERP[0x6].MODE: 0
VPC_VARYING_INTERP[0x7].MODE: 0
109d0ba4: 0000: 00072142 00000055 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_VARYING_PS_REPL[0].MODE (214a)
VPC_VARYING_PS_REPL[0].MODE: 0
VPC_VARYING_PS_REPL[0x1].MODE: 0
VPC_VARYING_PS_REPL[0x2].MODE: 0
VPC_VARYING_PS_REPL[0x3].MODE: 0
VPC_VARYING_PS_REPL[0x4].MODE: 0
VPC_VARYING_PS_REPL[0x5].MODE: 0
VPC_VARYING_PS_REPL[0x6].MODE: 0
VPC_VARYING_PS_REPL[0x7].MODE: 0
109d0bc8: 0000: 0007214a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (131 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 4 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[40700000x_10000002x] mul.f r0.x, r0.z, c0.x
:2:0001:0001[40700001x_10030002x] mul.f r0.y, r0.z, c0.w
:3:0002:0002[63818000x_00001004x] mad.f32 r0.x, c1.x, r0.w, r0.x
:3:0003:0003[63818001x_00011007x] mad.f32 r0.y, c1.w, r0.w, r0.y
:3:0004:0004[63820000x_00001008x] mad.f32 r0.x, c2.x, r1.x, r0.x
:3:0005:0005[63820001x_0001100bx] mad.f32 r0.y, c2.w, r1.x, r0.y
:3:0006:0006[63828006x_0000100cx] mad.f32 r1.z, c3.x, r1.y, r0.x
:2:0007:0007[40700000x_10010002x] mul.f r0.x, r0.z, c0.y
:3:0008:0008[63828009x_0001100fx] mad.f32 r2.y, c3.w, r1.y, r0.y
:3:0009:0009[63818000x_00001005x] mad.f32 r0.x, c1.y, r0.w, r0.x
:1:0010:0010[20244001x_00000010x] mov.f32f32 r0.y, c4.x
:3:0011:0011[63820000x_00001009x] mad.f32 r0.x, c2.y, r1.x, r0.x
:0:0012:0012[00000000x_00000000x] nop
:3:0013:0013[63828007x_0000100dx] mad.f32 r1.w, c3.y, r1.y, r0.x
:2:0014:0014[40700000x_10020002x] mul.f r0.x, r0.z, c0.z
:1:0015:0015[20244002x_00000015x] mov.f32f32 r0.z, c5.y
:3:0016:0016[63818000x_00001006x] mad.f32 r0.x, c1.z, r0.w, r0.x
:1:0017:0017[20244003x_00000016x] mov.f32f32 r0.w, c5.z
:3:0018:0018[63820000x_0000100ax] mad.f32 r0.x, c2.z, r1.x, r0.x
:1:0019:0019[20244004x_00000017x] mov.f32f32 r1.x, c5.w
:3:0020:0020[63828008x_0000100ex] mad.f32 r2.x, c3.z, r1.y, r0.x
:1:0021:0021[20244000x_00000011x] mov.f32f32 r0.x, c4.y
:2:0022:0022[40100002x_00021021x] add.f r0.z, c8.y, r0.z
:2:0023:0023[4050040dx_00041017x] (sat)max.f r3.y, c5.w, r1.x
:2:0024:0024[40100003x_00031022x] add.f r0.w, c8.z, r0.w
:2:0025:0025[40700000x_00001011x] mul.f r0.x, c4.y, r0.x
:0:0026:0026[00000000x_00000000x] nop
:3:0027:0027[63808000x_00001010x] mad.f32 r0.x, c4.x, r0.y, r0.x
:1:0028:0028[20244001x_00000012x] mov.f32f32 r0.y, c4.z
:0:0029:0029[00000200x_00000000x] (rpt2)nop
:3:0030:0032[63808000x_00001012x] mad.f32 r0.x, c4.z, r0.y, r0.x
:1:0031:0033[20244001x_00000014x] mov.f32f32 r0.y, c5.x
:0:0032:0034[00000200x_00000000x] (rpt2)nop
:2:0033:0037[40100001x_00011020x] add.f r0.y, c8.x, r0.y
:0:0034:0038[00000000x_00000000x] nop
:4:0035:0039[80300000x_00000000x] rsq r0.x, r0.x
:2:0036:0040[40701004x_00001011x] (ss)mul.f r1.x, c4.y, r0.x
:0:0037:0041[00000200x_00000000x] (rpt2)nop
:2:0038:0044[40700004x_10190004x] mul.f r1.x, r1.x, c6.y
:2:0039:0045[40700005x_00001010x] mul.f r1.y, c4.x, r0.x
:0:0040:0046[00000200x_00000000x] (rpt2)nop
:3:0041:0049[63828004x_00041018x] mad.f32 r1.x, c6.x, r1.y, r1.x
:2:0042:0050[40700000x_00001012x] mul.f r0.x, c4.z, r0.x
:0:0043:0051[00000200x_00000000x] (rpt2)nop
:3:0044:0054[63800000x_0004101ax] mad.f32 r0.x, c6.z, r0.x, r1.x
:0:0045:0055[00000200x_00000000x] (rpt2)nop
:2:0046:0058[40b00004x_00001034x] cmps.f.lt r1.x, c13.x, r0.x
:2:0047:0059[40500000x_00001034x] max.f r0.x, c13.x, r0.x
:0:0048:0060[00000100x_00000000x] (rpt1)nop
:1:0049:0062[200c4004x_00000004x] cov.u32f32 r1.x, r1.x
:3:0050:0063[63800001x_00011024x] mad.f32 r0.y, c9.x, r0.x, r0.y
:3:0051:0064[63800002x_00021025x] mad.f32 r0.z, c9.y, r0.x, r0.z
:3:0052:0065[63800000x_00031026x] mad.f32 r0.x, c9.z, r0.x, r0.w
:3:0053:0066[6382040ax_00011028x] (sat)mad.f32 r2.z, c10.x, r1.x, r0.y
:3:0054:0067[6382040bx_00021029x] (sat)mad.f32 r2.w, c10.y, r1.x, r0.z
:3:0055:0068[6382040cx_0000102ax] (sat)mad.f32 r3.x, c10.z, r1.x, r0.x
:0:0056:0069[03000000x_00000000x] end
:0:0057:0070[00000000x_00000000x] nop
:0:0058:0071[00000000x_00000000x] nop
:0:0059:0072[00000000x_00000000x] nop
:0:0060:0073[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-13 (cnt=14, max=13)
- input (half): (cnt=0, max=0)
- input (full): 2-5 (cnt=4, max=5)
- max const: 52
- output (half): (cnt=0, max=0) (estimated)
- output (full): 6-13 (cnt=8, max=13) (estimated)
- shaderdb: 74 instructions, 38 nops, 36 non-nops, (61 instlen), 0 half, 4 full
- shaderdb: 1 (ss), 0 (sy)
109d0bec: 0000: c0813000 01200000 00000000 10000002 40700000 10030002 40700001 00001004
109d0c0c: 0020: 63818000 00011007 63818001 00001008 63820000 0001100b 63820001 0000100c
109d0c2c: 0040: 63828006 10010002 40700000 0001100f 63828009 00001005 63818000 00000010
109d0c4c: 0060: 20244001 00001009 63820000 00000000 00000000 0000100d 63828007 10020002
109d0c6c: 0080: 40700000 00000015 20244002 00001006 63818000 00000016 20244003 0000100a
109d0c8c: 00a0: 63820000 00000017 20244004 0000100e 63828008 00000011 20244000 00021021
109d0cac: 00c0: 40100002 00041017 4050040d 00031022 40100003 00001011 40700000 00000000
109d0ccc: 00e0: 00000000 00001010 63808000 00000012 20244001 00000000 00000200 00001012
109d0cec: 0100: 63808000 00000014 20244001 00000000 00000200 00011020 40100001 00000000
109d0d0c: 0120: 00000000 00000000 80300000 00001011 40701004 00000000 00000200 10190004
109d0d2c: 0140: 40700004 00001010 40700005 00000000 00000200 00041018 63828004 00001012
109d0d4c: 0160: 40700000 00000000 00000200 0004101a 63800000 00000000 00000200 00001034
109d0d6c: 0180: 40b00004 00001034 40500000 00000000 00000100 00000004 200c4004 00011024
109d0d8c: 01a0: 63800001 00021025 63800002 00031026 63800000 00011028 6382040a 00021029
109d0dac: 01c0: 6382040b 0000102a 6382040c 00000000 03000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:0:0000:0000[00000000x_00000000x] nop
:6:0001:0001[c7c60000x_01c00000x] ldlv.u32 r0.x, l[0], 1
:6:0002:0002[c7c60001x_01c00002x] ldlv.u32 r0.y, l[1], 1
:6:0003:0003[c7c60002x_01c00004x] ldlv.u32 r0.z, l[2], 1
:6:0004:0004[c7c60003x_01c00006x] ldlv.u32 r0.w, l[3], 1
:2:0005:0005[473090fcx_00002000x] (ss)bary.f (ei)r63.x, 0, r0.x
:0:0006:0006[03000000x_00000000x] end
:0:0007:0007[00000000x_00000000x] nop
:0:0008:0008[00000000x_00000000x] nop
:0:0009:0009[00000000x_00000000x] nop
:0:0010:0010[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-3 (cnt=4, max=3)
- input (half): (cnt=0, max=0)
- input (full): 0-3 (cnt=4, max=3)
- max const: 0
- output (half): (cnt=0, max=0) (estimated)
- output (full): (cnt=0, max=0) (estimated)
- shaderdb: 11 instructions, 5 nops, 6 non-nops, (11 instlen), 0 half, 1 full
- shaderdb: 1 (ss), 0 (sy)
109d0df8: 0000: c0213000 00700000 00000000 00000000 00000000 01c00000 c7c60000 01c00002
109d0e18: 0020: c7c60001 01c00004 c7c60002 01c00006 c7c60003 00002000 473090fc 00000000
109d0e38: 0040: 03000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109d0e84: 0000: c0002600 00000000
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109d0e98: 3.924428 -1.210718 0.674073 0.570369 1.829991 4.619613 -0.131666 -0.111410
109d0eb8: 2.500000 -1.480991 -0.961761 -0.813798 -13.423393 17.082890 32.944622 37.106991
109d0ed8: 0.000000 0.000000 1.000000 1.000000 0.040000 0.040000 0.200000 1.000000
109d0ef8: -0.244131 0.617574 0.747665 0.000000 1.000000 0.000000 0.000000 0.000000
109d0f18: 0.000000 0.000000 0.000000 1.000000 0.200000 0.200000 1.000000 1.000000
109d0f38: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
109d0e98: 0000: 407b29d2 bf9af8cb 3f2c9009 3f1203b9 3fea3d23 4093d3df be06d382 bde42adc
109d0eb8: 0020: 40200000 bfbd9119 bf7635f5 bf50550b c156c638 4188a9c2 4203c74b 42146d8f
109d0ed8: 0040: 00000000 00000000 3f800000 3f800000 3d23d70b 3d23d70b 3e4ccccd 3f800000
109d0ef8: 0060: be79fd80 3f1e194f 3f3f66f5 00000000 3f800000 00000000 00000000 00000000
109d0f18: 0080: 00000000 00000000 00000000 3f800000 3e4ccccd 3e4ccccd 3f800000 3f800000
109d0f38: 00a0: 00000000 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000
109d0e8c: 0000: c0313000 03200000 00000001 407b29d2 bf9af8cb 3f2c9009 3f1203b9 3fea3d23
109d0eac: 0020: 4093d3df be06d382 bde42adc 40200000 bfbd9119 bf7635f5 bf50550b c156c638
109d0ecc: 0040: 4188a9c2 4203c74b 42146d8f 00000000 00000000 3f800000 3f800000 3d23d70b
109d0eec: 0060: 3d23d70b 3e4ccccd 3f800000 be79fd80 3f1e194f 3f3f66f5 00000000 3f800000
109d0f0c: 0080: 00000000 00000000 00000000 00000000 00000000 00000000 3f800000 3e4ccccd
109d0f2c: 00a0: 3e4ccccd 3f800000 3f800000 00000000 00000000 00000000 3f800000 00000000
109d0f4c: 00c0: 00000000 00000000 3f800000
t3 opcode: CP_LOAD_STATE4 (30) (7 dwords)
{ DST_OFF = 13 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109d0f64: 0.000000 -28026765312.000000 -28026765312.000000 -28026765312.000000
109d0f64: 0000: 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
109d0f58: 0000: c0053000 0060000d 00000001 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
t0 write VFD_FETCH[0].INSTR_0 (220a)
VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 12 }
VFD_FETCH[0].INSTR_1: 0x107cb000
VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
109d0f74: 0000: 0003220a 0000060b 107cb000 00100000 00000001
t0 write VFD_DECODE[0].INSTR (228a)
VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
109d0f88: 0000: 0000228a 2c0020df
t0 write VFD_CONTROL_0 (2200)
VFD_CONTROL_0: { TOTALATTRTOVS = 4 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 1 | STRMFETCHINSTRCNT = 1 | 0xa0000 }
VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
VFD_CONTROL_2: 0
VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
VFD_CONTROL_4: 0
109d0f90: 0000: 00042200 041a0004 fcfc0081 00000000 0000fc00 00000000
t0 write UCHE_INVALIDATE0 (0e8a)
UCHE_INVALIDATE0: 0
UCHE_INVALIDATE1: 0x12
109d0fa8: 0000: 00010e8a 00000000 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109d0fb4: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109d0fc0: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x50
:0,79,115,80
109d0fc8: 0000: 0000057f 00000050
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 120 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd0f78 }
{ INDX_SIZE = 240 }
draw[13] register values
!+ 0000004f CP_SCRATCH[0x5].REG: 0x4f
:0,79,115,80
!+ 00000050 CP_SCRATCH[0x7].REG: 0x50
:0,79,115,80
+ 00000000 UCHE_INVALIDATE0: 0
+ 00000012 UCHE_INVALIDATE1: 0x12
+ 00080000 GRAS_CL_CLIP_CNTL: { 0x80000 }
!+ 00000000 GRAS_CNTL: { 0 }
+ 00100010 GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
+ 00000010 GRAS_SU_POINT_SIZE: 1.000000
+ 00000000 GRAS_ALPHA_CONTROL: { 0 }
+ 00000000 GRAS_SU_POLY_OFFSET_SCALE: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
+ 00100012 GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
+ 012b012b GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
+ 00000000 GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
!+ 00000000 RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
+ 00000001 RB_FS_OUTPUT_REG: { MRT = 1 }
+ 80000016 RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
+ 00000000 RB_VPORT_Z_CLAMP[0].MIN: 0
+ 00ffffff RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
+ 42001004 VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
+ 00040400 VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
!+ 00000055 VPC_VARYING_INTERP[0].MODE: 0x55
+ 00000000 VPC_VARYING_INTERP[0x1].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x2].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x3].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x4].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x5].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x6].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x7].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x1].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x2].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x3].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x4].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x5].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x6].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x7].MODE: 0
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
!+ 041a0004 VFD_CONTROL_0: { TOTALATTRTOVS = 4 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 1 | STRMFETCHINSTRCNT = 1 | 0xa0000 }
+ fcfc0081 VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
+ 00000000 VFD_CONTROL_2: 0
+ 0000fc00 VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
+ 00000000 VFD_CONTROL_4: 0
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
!+ 0000060b VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 12 }
+ 107cb000 VFD_FETCH[0].INSTR_1: 0x107cb000
+ 00100000 VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
+ 00000001 VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
!+ 2c0020df VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
+ 00140010 SP_SP_CTRL_REG: { 0x140010 }
+ 000005ff SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
!+ 00201000 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 4 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
!+ 04000042 SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 4 }
!+ 0010fc06 SP_VS_PARAM_REG: { POSREGID = r1.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
!+ 00001e0a SP_VS_OUT[0].REG: { A_REGID = r2.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
+ 08080808 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
+ 00000000 SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
!+ 10cd0000 SP_VS_OBJ_START: 0x10cd0000
+ 00000004 SP_VS_LENGTH_REG: 4
!+ 00340402 SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
+ 8010003e SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
+ 7e420000 SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
!+ 10cd2000 SP_FS_OBJ_START: 0x10cd2000
+ 00000001 SP_FS_LENGTH_REG: 1
+ 0000fc01 SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
!+ 0001a000 SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
!+ 00000000 SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 7e420000 SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 28000250 HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
+ fcfc0100 HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
+ fff3f3f0 HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 }
+ 00fcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | 0xfc0000 }
+ 04000042 HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
+ 017e423e HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
+ 007e4200 HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 00000003 HLSQ_UPDATE_CONTROL: 0x3
109d0fd0: 0000: c0053800 00000404 00000001 00000078 00000000 10bd0f78 000000f0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x51
:0,79,115,81
109d0fec: 0000: 0000057f 00000051
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x55
:0,85,115,81
109d0ff4: 0000: 0000057d 00000055
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109d0ffc: 0000: 000121c4 02000001 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109d1008: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109d1014: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x56
:0,85,115,86
109d101c: 0000: 0000057f 00000056
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 60 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd1068 }
{ INDX_SIZE = 120 }
draw[14] register values
!+ 00000055 CP_SCRATCH[0x5].REG: 0x55
:0,85,115,86
!+ 00000056 CP_SCRATCH[0x7].REG: 0x56
:0,85,115,86
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
109d1024: 0000: c0053800 00000404 00000001 0000003c 00000000 10bd1068 00000078
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x57
:0,85,115,87
109d1040: 0000: 0000057f 00000057
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x5b
:0,91,115,87
109d1048: 0000: 0000057d 0000005b
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109d1050: 0000: 000121c4 02000001 00000012
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109d105c: 0000: c0002600 00000000
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109d1070: 3.924428 -1.210718 0.674073 0.570369 1.829991 4.619613 -0.131666 -0.111410
109d1090: 2.500000 -1.480991 -0.961761 -0.813798 -13.423393 17.082890 32.944622 37.106991
109d10b0: 0.000000 0.000000 -1.000000 1.000000 0.040000 0.040000 0.200000 1.000000
109d10d0: -0.244131 0.617574 0.747665 0.000000 1.000000 0.000000 0.000000 0.000000
109d10f0: 0.000000 0.000000 0.000000 1.000000 0.200000 0.200000 1.000000 1.000000
109d1110: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
109d1070: 0000: 407b29d2 bf9af8cb 3f2c9009 3f1203b9 3fea3d23 4093d3df be06d382 bde42adc
109d1090: 0020: 40200000 bfbd9119 bf7635f5 bf50550b c156c638 4188a9c2 4203c74b 42146d8f
109d10b0: 0040: 00000000 00000000 bf800000 3f800000 3d23d70b 3d23d70b 3e4ccccd 3f800000
109d10d0: 0060: be79fd80 3f1e194f 3f3f66f5 00000000 3f800000 00000000 00000000 00000000
109d10f0: 0080: 00000000 00000000 00000000 3f800000 3e4ccccd 3e4ccccd 3f800000 3f800000
109d1110: 00a0: 00000000 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000
109d1064: 0000: c0313000 03200000 00000001 407b29d2 bf9af8cb 3f2c9009 3f1203b9 3fea3d23
109d1084: 0020: 4093d3df be06d382 bde42adc 40200000 bfbd9119 bf7635f5 bf50550b c156c638
109d10a4: 0040: 4188a9c2 4203c74b 42146d8f 00000000 00000000 bf800000 3f800000 3d23d70b
109d10c4: 0060: 3d23d70b 3e4ccccd 3f800000 be79fd80 3f1e194f 3f3f66f5 00000000 3f800000
109d10e4: 0080: 00000000 00000000 00000000 00000000 00000000 00000000 3f800000 3e4ccccd
109d1104: 00a0: 3e4ccccd 3f800000 3f800000 00000000 00000000 00000000 3f800000 00000000
109d1124: 00c0: 00000000 00000000 3f800000
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109d1130: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109d113c: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x5c
:0,91,115,92
109d1144: 0000: 0000057f 0000005c
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 120 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd10e0 }
{ INDX_SIZE = 240 }
draw[15] register values
!+ 0000005b CP_SCRATCH[0x5].REG: 0x5b
:0,91,115,92
!+ 0000005c CP_SCRATCH[0x7].REG: 0x5c
:0,91,115,92
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
109d114c: 0000: c0053800 00000404 00000001 00000078 00000000 10bd10e0 000000f0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x5d
:0,91,115,93
109d1168: 0000: 0000057f 0000005d
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x61
:0,97,115,93
109d1170: 0000: 0000057d 00000061
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109d1178: 0000: 000121c4 02000001 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109d1184: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109d1190: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x62
:0,97,115,98
109d1198: 0000: 0000057f 00000062
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 60 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd11d0 }
{ INDX_SIZE = 120 }
draw[16] register values
!+ 00000061 CP_SCRATCH[0x5].REG: 0x61
:0,97,115,98
!+ 00000062 CP_SCRATCH[0x7].REG: 0x62
:0,97,115,98
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
109d11a0: 0000: c0053800 00000404 00000001 0000003c 00000000 10bd11d0 00000078
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x63
:0,97,115,99
109d11bc: 0000: 0000057f 00000063
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x67
:0,103,115,99
109d11c4: 0000: 0000057d 00000067
t0 write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
109d11cc: 0000: 00002101 80000016
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0 }
109d11d4: 0000: 00002073 00000000
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109d11dc: 0000: 000121c4 02000001 00000012
t0 write HLSQ_UPDATE_CONTROL (23db)
HLSQ_UPDATE_CONTROL: 0x3
109d11e8: 0000: 000023db 00000003
t0 write HLSQ_CONTROL_0_REG (23c0)
HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 | 0xfc0000 }
109d11f0: 0000: 000423c0 28000250 fcfc0100 fff3f3f0 fcfcfcfc 00fcfcfc
t0 write HLSQ_VS_CONTROL_REG (23c5)
HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
109d1208: 0000: 000423c5 04000042 017e423e 007e4200 007e4200 007e4200
t0 write SP_SP_CTRL_REG (22c0)
SP_SP_CTRL_REG: { 0x140010 }
109d1220: 0000: 000022c0 00140010
t0 write SP_INSTR_CACHE_CTRL (22c1)
SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
109d1228: 0000: 000022c1 000005ff
t0 write SP_VS_LENGTH_REG (22e5)
SP_VS_LENGTH_REG: 4
109d1230: 0000: 000022e5 00000004
t0 write SP_VS_CTRL_REG0 (22c4)
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
109d1238: 0000: 000222c4 00201400 08000042 0010fc0a
t0 write SP_VS_OUT[0].REG (22c7)
SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
109d1248: 0000: 000022c7 00001e0e
t0 write SP_VS_VPC_DST[0].REG (22d8)
SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
109d1250: 0000: 000022d8 08080808
t0 write SP_VS_OBJ_OFFSET_REG (22e0)
SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
SP_VS_OBJ_START: 0x10cd5000
109d1258: 0000: 000122e0 00000000 10cd5000
t0 write SP_FS_LENGTH_REG (22ef)
SP_FS_LENGTH_REG: 1
109d1264: 0000: 000022ef 00000001
t0 write SP_FS_CTRL_REG0 (22e8)
SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
109d126c: 0000: 000122e8 00340402 8010003e
t0 write SP_FS_OBJ_OFFSET_REG (22ea)
SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
SP_FS_OBJ_START: 0x10cd2000
109d1278: 0000: 000122ea 7e420000 10cd2000
t0 write SP_HS_OBJ_OFFSET_REG (230d)
SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d1284: 0000: 0000230d 7e420000
t0 write SP_DS_OBJ_OFFSET_REG (2334)
SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d128c: 0000: 00002334 7e420000
t0 write SP_GS_OBJ_OFFSET_REG (235b)
SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d1294: 0000: 0000235b 7e420000
t0 write GRAS_CNTL (2003)
GRAS_CNTL: { 0 }
109d129c: 0000: 00002003 00000000
t0 write RB_RENDER_CONTROL2 (20a3)
RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
109d12a4: 0000: 000020a3 00000000
t0 write RB_FS_OUTPUT_REG (2100)
RB_FS_OUTPUT_REG: { MRT = 1 }
109d12ac: 0000: 00002100 00000001
t0 write SP_FS_OUTPUT_REG (22f0)
SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
109d12b4: 0000: 000022f0 0000fc01
t0 write SP_FS_MRT[0].REG (22f1)
SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
109d12bc: 0000: 000722f1 0001a000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_ATTR (2140)
VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
109d12e0: 0000: 00012140 42001004 00040400
t0 write VPC_VARYING_INTERP[0].MODE (2142)
VPC_VARYING_INTERP[0].MODE: 0x55
VPC_VARYING_INTERP[0x1].MODE: 0
VPC_VARYING_INTERP[0x2].MODE: 0
VPC_VARYING_INTERP[0x3].MODE: 0
VPC_VARYING_INTERP[0x4].MODE: 0
VPC_VARYING_INTERP[0x5].MODE: 0
VPC_VARYING_INTERP[0x6].MODE: 0
VPC_VARYING_INTERP[0x7].MODE: 0
109d12ec: 0000: 00072142 00000055 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_VARYING_PS_REPL[0].MODE (214a)
VPC_VARYING_PS_REPL[0].MODE: 0
VPC_VARYING_PS_REPL[0x1].MODE: 0
VPC_VARYING_PS_REPL[0x2].MODE: 0
VPC_VARYING_PS_REPL[0x3].MODE: 0
VPC_VARYING_PS_REPL[0x4].MODE: 0
VPC_VARYING_PS_REPL[0x5].MODE: 0
VPC_VARYING_PS_REPL[0x6].MODE: 0
VPC_VARYING_PS_REPL[0x7].MODE: 0
109d1310: 0000: 0007214a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (131 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 4 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[40700000x_10000002x] mul.f r0.x, r0.z, c0.x
:2:0001:0001[40700001x_10030002x] mul.f r0.y, r0.z, c0.w
:3:0002:0002[63818000x_00001004x] mad.f32 r0.x, c1.x, r0.w, r0.x
:3:0003:0003[63818001x_00011007x] mad.f32 r0.y, c1.w, r0.w, r0.y
:3:0004:0004[63820000x_00001008x] mad.f32 r0.x, c2.x, r1.x, r0.x
:3:0005:0005[63820001x_0001100bx] mad.f32 r0.y, c2.w, r1.x, r0.y
:3:0006:0006[6382800ax_0000100cx] mad.f32 r2.z, c3.x, r1.y, r0.x
:2:0007:0007[40700000x_10010002x] mul.f r0.x, r0.z, c0.y
:3:0008:0008[6382800dx_0001100fx] mad.f32 r3.y, c3.w, r1.y, r0.y
:3:0009:0009[63818000x_00001005x] mad.f32 r0.x, c1.y, r0.w, r0.x
:1:0010:0010[20244001x_00000010x] mov.f32f32 r0.y, c4.x
:3:0011:0011[63820000x_00001009x] mad.f32 r0.x, c2.y, r1.x, r0.x
:0:0012:0012[00000000x_00000000x] nop
:3:0013:0013[6382800bx_0000100dx] mad.f32 r2.w, c3.y, r1.y, r0.x
:2:0014:0014[40700000x_10020002x] mul.f r0.x, r0.z, c0.z
:2:0015:0015[40100001x_0001101cx] add.f r0.y, c7.x, r0.y
:3:0016:0016[63818000x_00001006x] mad.f32 r0.x, c1.z, r0.w, r0.x
:1:0017:0017[20244002x_00000011x] mov.f32f32 r0.z, c4.y
:3:0018:0018[63820000x_0000100ax] mad.f32 r0.x, c2.z, r1.x, r0.x
:1:0019:0019[20244004x_00000013x] mov.f32f32 r1.x, c4.w
:3:0020:0020[6382800cx_0000100ex] mad.f32 r3.x, c3.z, r1.y, r0.x
:2:0021:0021[40700000x_00070007x] mul.f r0.x, r1.w, r1.w
:2:0022:0022[40100002x_0002101dx] add.f r0.z, c7.y, r0.z
:3:0023:0023[63830000x_00000006x] mad.f32 r0.x, r1.z, r1.z, r0.x
:2:0024:0024[40500411x_00041013x] (sat)max.f r4.y, c4.w, r1.x
:3:0025:0025[63840000x_00000008x] mad.f32 r0.x, r2.x, r2.x, r0.x
:1:0026:0026[20244003x_00000012x] mov.f32f32 r0.w, c4.z
:0:0027:0027[00000200x_00000000x] (rpt2)nop
:2:0028:0030[40100003x_0003101ex] add.f r0.w, c7.z, r0.w
:0:0029:0031[00000000x_00000000x] nop
:4:0030:0032[80300000x_00000000x] rsq r0.x, r0.x
:2:0031:0033[40701004x_00000007x] (ss)mul.f r1.x, r1.w, r0.x
:0:0032:0034[00000200x_00000000x] (rpt2)nop
:2:0033:0037[40700004x_10150004x] mul.f r1.x, r1.x, c5.y
:2:0034:0038[40700005x_00000006x] mul.f r1.y, r1.z, r0.x
:0:0035:0039[00000200x_00000000x] (rpt2)nop
:3:0036:0042[63828004x_00041014x] mad.f32 r1.x, c5.x, r1.y, r1.x
:2:0037:0043[40700000x_00000008x] mul.f r0.x, r2.x, r0.x
:0:0038:0044[00000200x_00000000x] (rpt2)nop
:3:0039:0047[63800000x_00041016x] mad.f32 r0.x, c5.z, r0.x, r1.x
:0:0040:0048[00000200x_00000000x] (rpt2)nop
:2:0041:0051[40b00004x_00001034x] cmps.f.lt r1.x, c13.x, r0.x
:2:0042:0052[40500000x_00001034x] max.f r0.x, c13.x, r0.x
:0:0043:0053[00000100x_00000000x] (rpt1)nop
:1:0044:0055[200c4004x_00000004x] cov.u32f32 r1.x, r1.x
:3:0045:0056[63800001x_00011020x] mad.f32 r0.y, c8.x, r0.x, r0.y
:3:0046:0057[63800002x_00021021x] mad.f32 r0.z, c8.y, r0.x, r0.z
:3:0047:0058[63800000x_00031022x] mad.f32 r0.x, c8.z, r0.x, r0.w
:3:0048:0059[6382040ex_00011024x] (sat)mad.f32 r3.z, c9.x, r1.x, r0.y
:3:0049:0060[6382040fx_00021025x] (sat)mad.f32 r3.w, c9.y, r1.x, r0.z
:3:0050:0061[63820410x_00001026x] (sat)mad.f32 r4.x, c9.z, r1.x, r0.x
:0:0051:0062[03000000x_00000000x] end
:0:0052:0063[00000000x_00000000x] nop
:0:0053:0064[00000000x_00000000x] nop
:0:0054:0065[00000000x_00000000x] nop
:0:0055:0066[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-8 10-17 (cnt=17, max=17)
- input (half): (cnt=0, max=0)
- input (full): 2-8 (cnt=7, max=8)
- max const: 52
- output (half): (cnt=0, max=0) (estimated)
- output (full): 10-17 (cnt=8, max=17) (estimated)
- shaderdb: 67 instructions, 31 nops, 36 non-nops, (56 instlen), 0 half, 5 full
- shaderdb: 1 (ss), 0 (sy)
109d1334: 0000: c0813000 01200000 00000000 10000002 40700000 10030002 40700001 00001004
109d1354: 0020: 63818000 00011007 63818001 00001008 63820000 0001100b 63820001 0000100c
109d1374: 0040: 6382800a 10010002 40700000 0001100f 6382800d 00001005 63818000 00000010
109d1394: 0060: 20244001 00001009 63820000 00000000 00000000 0000100d 6382800b 10020002
109d13b4: 0080: 40700000 0001101c 40100001 00001006 63818000 00000011 20244002 0000100a
109d13d4: 00a0: 63820000 00000013 20244004 0000100e 6382800c 00070007 40700000 0002101d
109d13f4: 00c0: 40100002 00000006 63830000 00041013 40500411 00000008 63840000 00000012
109d1414: 00e0: 20244003 00000000 00000200 0003101e 40100003 00000000 00000000 00000000
109d1434: 0100: 80300000 00000007 40701004 00000000 00000200 10150004 40700004 00000006
109d1454: 0120: 40700005 00000000 00000200 00041014 63828004 00000008 40700000 00000000
109d1474: 0140: 00000200 00041016 63800000 00000000 00000200 00001034 40b00004 00001034
109d1494: 0160: 40500000 00000000 00000100 00000004 200c4004 00011020 63800001 00021021
109d14b4: 0180: 63800002 00031022 63800000 00011024 6382040e 00021025 6382040f 00001026
109d14d4: 01a0: 63820410 00000000 03000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:0:0000:0000[00000000x_00000000x] nop
:6:0001:0001[c7c60000x_01c00000x] ldlv.u32 r0.x, l[0], 1
:6:0002:0002[c7c60001x_01c00002x] ldlv.u32 r0.y, l[1], 1
:6:0003:0003[c7c60002x_01c00004x] ldlv.u32 r0.z, l[2], 1
:6:0004:0004[c7c60003x_01c00006x] ldlv.u32 r0.w, l[3], 1
:2:0005:0005[473090fcx_00002000x] (ss)bary.f (ei)r63.x, 0, r0.x
:0:0006:0006[03000000x_00000000x] end
:0:0007:0007[00000000x_00000000x] nop
:0:0008:0008[00000000x_00000000x] nop
:0:0009:0009[00000000x_00000000x] nop
:0:0010:0010[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-3 (cnt=4, max=3)
- input (half): (cnt=0, max=0)
- input (full): 0-3 (cnt=4, max=3)
- max const: 0
- output (half): (cnt=0, max=0) (estimated)
- output (full): (cnt=0, max=0) (estimated)
- shaderdb: 11 instructions, 5 nops, 6 non-nops, (11 instlen), 0 half, 1 full
- shaderdb: 1 (ss), 0 (sy)
109d1540: 0000: c0213000 00700000 00000000 00000000 00000000 01c00000 c7c60000 01c00002
109d1560: 0020: c7c60001 01c00004 c7c60002 01c00006 c7c60003 00002000 473090fc 00000000
109d1580: 0040: 03000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109d15cc: 0000: c0002600 00000000
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109d15e0: 3.924428 -1.210718 0.674073 0.570369 1.829991 4.619613 -0.131666 -0.111410
109d1600: 2.500000 -1.480991 -0.961761 -0.813798 -13.423393 17.082890 32.944622 37.106991
109d1620: 0.040000 0.040000 0.200000 1.000000 -0.244131 0.617574 0.747665 0.000000
109d1640: 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000
109d1660: 0.200000 0.200000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000
109d1680: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000
109d15e0: 0000: 407b29d2 bf9af8cb 3f2c9009 3f1203b9 3fea3d23 4093d3df be06d382 bde42adc
109d1600: 0020: 40200000 bfbd9119 bf7635f5 bf50550b c156c638 4188a9c2 4203c74b 42146d8f
109d1620: 0040: 3d23d70b 3d23d70b 3e4ccccd 3f800000 be79fd80 3f1e194f 3f3f66f5 00000000
109d1640: 0060: 3f800000 00000000 00000000 00000000 00000000 00000000 00000000 3f800000
109d1660: 0080: 3e4ccccd 3e4ccccd 3f800000 3f800000 00000000 00000000 00000000 3f800000
109d1680: 00a0: 00000000 00000000 00000000 3f800000 02020000 02020202 02020202 00000202
109d15d4: 0000: c0313000 03200000 00000001 407b29d2 bf9af8cb 3f2c9009 3f1203b9 3fea3d23
109d15f4: 0020: 4093d3df be06d382 bde42adc 40200000 bfbd9119 bf7635f5 bf50550b c156c638
109d1614: 0040: 4188a9c2 4203c74b 42146d8f 3d23d70b 3d23d70b 3e4ccccd 3f800000 be79fd80
109d1634: 0060: 3f1e194f 3f3f66f5 00000000 3f800000 00000000 00000000 00000000 00000000
109d1654: 0080: 00000000 00000000 3f800000 3e4ccccd 3e4ccccd 3f800000 3f800000 00000000
109d1674: 00a0: 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000 02020000
109d1694: 00c0: 02020202 02020202 00000202
t3 opcode: CP_LOAD_STATE4 (30) (7 dwords)
{ DST_OFF = 13 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109d16ac: 0.000000 -28026765312.000000 -28026765312.000000 -28026765312.000000
109d16ac: 0000: 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
109d16a0: 0000: c0053000 0060000d 00000001 00000000 d0d0d0d0 d0d0d0d0 d0d0d0d0
t0 write VFD_FETCH[0].INSTR_0 (220a)
VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 | SWITCHNEXT }
VFD_FETCH[0].INSTR_1: 0x107cb000
VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
109d16bc: 0000: 0003220a 00080c0b 107cb000 00100000 00000001
t0 write VFD_DECODE[0].INSTR (228a)
VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID | SWITCHNEXT }
109d16d0: 0000: 0000228a 6c0020df
t0 write VFD_FETCH[0x1].INSTR_0 (220e)
VFD_FETCH[0x1].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 }
VFD_FETCH[0x1].INSTR_1: 0x107cb00c
VFD_FETCH[0x1].INSTR_2: { SIZE = 0xffff4 }
VFD_FETCH[0x1].INSTR_3: { STEPRATE = 1 }
109d16d8: 0000: 0003220e 00000c0b 107cb00c 000ffff4 00000001
t0 write VFD_DECODE[0x1].INSTR (228b)
VFD_DECODE[0x1].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r1.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
109d16ec: 0000: 0000228b 2c0060df
t0 write VFD_CONTROL_0 (2200)
VFD_CONTROL_0: { TOTALATTRTOVS = 8 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 2 | STRMFETCHINSTRCNT = 2 | 0xa0000 }
VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
VFD_CONTROL_2: 0
VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
VFD_CONTROL_4: 0
109d16f4: 0000: 00042200 082a0008 fcfc0081 00000000 0000fc00 00000000
t0 write UCHE_INVALIDATE0 (0e8a)
UCHE_INVALIDATE0: 0
UCHE_INVALIDATE1: 0x12
109d170c: 0000: 00010e8a 00000000 00000012
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109d1718: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109d1724: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x68
:0,103,115,104
109d172c: 0000: 0000057f 00000068
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 240 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd1248 }
{ INDX_SIZE = 480 }
draw[17] register values
!+ 00000067 CP_SCRATCH[0x5].REG: 0x67
:0,103,115,104
!+ 00000068 CP_SCRATCH[0x7].REG: 0x68
:0,103,115,104
+ 00000000 UCHE_INVALIDATE0: 0
+ 00000012 UCHE_INVALIDATE1: 0x12
+ 00000000 GRAS_CNTL: { 0 }
+ 00000000 GRAS_ALPHA_CONTROL: { 0 }
+ 00000000 RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
+ 00000001 RB_FS_OUTPUT_REG: { MRT = 1 }
+ 80000016 RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
+ 42001004 VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
+ 00040400 VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
+ 00000055 VPC_VARYING_INTERP[0].MODE: 0x55
+ 00000000 VPC_VARYING_INTERP[0x1].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x2].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x3].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x4].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x5].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x6].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x7].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x1].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x2].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x3].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x4].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x5].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x6].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x7].MODE: 0
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
!+ 082a0008 VFD_CONTROL_0: { TOTALATTRTOVS = 8 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 2 | STRMFETCHINSTRCNT = 2 | 0xa0000 }
+ fcfc0081 VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
+ 00000000 VFD_CONTROL_2: 0
+ 0000fc00 VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
+ 00000000 VFD_CONTROL_4: 0
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
!+ 00080c0b VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 | SWITCHNEXT }
+ 107cb000 VFD_FETCH[0].INSTR_1: 0x107cb000
+ 00100000 VFD_FETCH[0].INSTR_2: { SIZE = 0x100000 }
+ 00000001 VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
+ 00000c0b VFD_FETCH[0x1].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 24 }
+ 107cb00c VFD_FETCH[0x1].INSTR_1: 0x107cb00c
+ 000ffff4 VFD_FETCH[0x1].INSTR_2: { SIZE = 0xffff4 }
+ 00000001 VFD_FETCH[0x1].INSTR_3: { STEPRATE = 1 }
!+ 6c0020df VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID | SWITCHNEXT }
+ 2c0060df VFD_DECODE[0x1].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r1.z | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
+ 00140010 SP_SP_CTRL_REG: { 0x140010 }
+ 000005ff SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
!+ 00201400 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
!+ 08000042 SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
!+ 0010fc0a SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
!+ 00001e0e SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
+ 08080808 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
+ 00000000 SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
!+ 10cd5000 SP_VS_OBJ_START: 0x10cd5000
+ 00000004 SP_VS_LENGTH_REG: 4
+ 00340402 SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
+ 8010003e SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
+ 7e420000 SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 10cd2000 SP_FS_OBJ_START: 0x10cd2000
+ 00000001 SP_FS_LENGTH_REG: 1
+ 0000fc01 SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
+ 0001a000 SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = RB4_R8G8B8A8_UNORM }
+ 00000000 SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 00000000 SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 7e420000 SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 28000250 HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
+ fcfc0100 HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
+ fff3f3f0 HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 }
+ 00fcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | 0xfc0000 }
+ 04000042 HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
+ 017e423e HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
+ 007e4200 HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 00000003 HLSQ_UPDATE_CONTROL: 0x3
109d1734: 0000: c0053800 00000404 00000001 000000f0 00000000 10bd1248 000001e0
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x69
:0,103,115,105
109d1750: 0000: 0000057f 00000069
t0 write CP_SCRATCH[0x5].REG (057d)
CP_SCRATCH[0x5].REG: 0x6d
:0,109,115,105
109d1758: 0000: 0000057d 0000006d
t0 write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
109d1760: 0000: 00002101 80000016
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0 }
109d1768: 0000: 00002073 00000000
t0 write GRAS_SU_MODE_CONTROL (2078)
GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
109d1770: 0000: 00002078 00100012
t0 write GRAS_SU_POINT_MINMAX (2070)
GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
GRAS_SU_POINT_SIZE: 1.000000
109d1778: 0000: 00012070 00100010 00000010
t0 write GRAS_SU_POLY_OFFSET_SCALE (2074)
GRAS_SU_POLY_OFFSET_SCALE: 0.000000
GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
109d1784: 0000: 00022074 00000000 00000000 00000000
t0 write GRAS_CL_CLIP_CNTL (2000)
GRAS_CL_CLIP_CNTL: { 0x80000 }
109d1794: 0000: 00002000 00080000
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
109d179c: 0000: 000121c4 02000001 00000012
t0 write GRAS_SC_WINDOW_SCISSOR_BR (209c)
GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
109d17a8: 0000: 0001209c 012b012b 00000000
t0 write RB_VPORT_Z_CLAMP[0].MIN (2120)
RB_VPORT_Z_CLAMP[0].MIN: 0
RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
109d17b4: 0000: 00012120 00000000 00ffffff
t0 write HLSQ_UPDATE_CONTROL (23db)
HLSQ_UPDATE_CONTROL: 0x3
109d17c0: 0000: 000023db 00000003
t0 write HLSQ_CONTROL_0_REG (23c0)
HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 | 0xfc0000 }
109d17c8: 0000: 000423c0 28000250 fcfc0100 fff3f3f0 fcfcfc00 00fcfcfc
t0 write HLSQ_VS_CONTROL_REG (23c5)
HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
109d17e0: 0000: 000423c5 04000042 017e423e 007e4200 007e4200 007e4200
t0 write SP_SP_CTRL_REG (22c0)
SP_SP_CTRL_REG: { 0x140010 }
109d17f8: 0000: 000022c0 00140010
t0 write SP_INSTR_CACHE_CTRL (22c1)
SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
109d1800: 0000: 000022c1 000005ff
t0 write SP_VS_LENGTH_REG (22e5)
SP_VS_LENGTH_REG: 4
109d1808: 0000: 000022e5 00000004
t0 write SP_VS_CTRL_REG0 (22c4)
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
109d1810: 0000: 000222c4 00201400 08000042 0010fc0a
t0 write SP_VS_OUT[0].REG (22c7)
SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
109d1820: 0000: 000022c7 00001e0e
t0 write SP_VS_VPC_DST[0].REG (22d8)
SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
109d1828: 0000: 000022d8 08080808
t0 write SP_VS_OBJ_OFFSET_REG (22e0)
SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
SP_VS_OBJ_START: 0x10cd5000
109d1830: 0000: 000122e0 00000000 10cd5000
t0 write SP_FS_LENGTH_REG (22ef)
SP_FS_LENGTH_REG: 1
109d183c: 0000: 000022ef 00000001
t0 write SP_FS_CTRL_REG0 (22e8)
SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
109d1844: 0000: 000122e8 00340802 8010003e
t0 write SP_FS_OBJ_OFFSET_REG (22ea)
SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
SP_FS_OBJ_START: 0x108cb000
109d1850: 0000: 000122ea 7e420000 108cb000
t0 write SP_HS_OBJ_OFFSET_REG (230d)
SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d185c: 0000: 0000230d 7e420000
t0 write SP_DS_OBJ_OFFSET_REG (2334)
SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d1864: 0000: 00002334 7e420000
t0 write SP_GS_OBJ_OFFSET_REG (235b)
SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
109d186c: 0000: 0000235b 7e420000
t0 write GRAS_CNTL (2003)
GRAS_CNTL: { IJ_PERSP }
109d1874: 0000: 00002003 00000001
t0 write RB_RENDER_CONTROL2 (20a3)
RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 | IJ_PERSP_PIXEL }
109d187c: 0000: 000020a3 00001000
t0 write RB_FS_OUTPUT_REG (2100)
RB_FS_OUTPUT_REG: { MRT = 1 }
109d1884: 0000: 00002100 00000001
t0 write SP_FS_OUTPUT_REG (22f0)
SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
109d188c: 0000: 000022f0 0000fc01
t0 write SP_FS_MRT[0].REG (22f1)
SP_FS_MRT[0].REG: { REGID = r0.z | MRTFORMAT = RB4_R8G8B8A8_UNORM }
SP_FS_MRT[0x1].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x2].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x3].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x4].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x5].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x6].REG: { REGID = r0.z | MRTFORMAT = 0 }
SP_FS_MRT[0x7].REG: { REGID = r0.z | MRTFORMAT = 0 }
109d1894: 0000: 000722f1 0001a002 00000002 00000002 00000002 00000002 00000002 00000002
109d18b4: 0020: 00000002
t0 write VPC_ATTR (2140)
VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
109d18b8: 0000: 00012140 42001004 00040400
t0 write VPC_VARYING_INTERP[0].MODE (2142)
VPC_VARYING_INTERP[0].MODE: 0
VPC_VARYING_INTERP[0x1].MODE: 0
VPC_VARYING_INTERP[0x2].MODE: 0
VPC_VARYING_INTERP[0x3].MODE: 0
VPC_VARYING_INTERP[0x4].MODE: 0
VPC_VARYING_INTERP[0x5].MODE: 0
VPC_VARYING_INTERP[0x6].MODE: 0
VPC_VARYING_INTERP[0x7].MODE: 0
109d18c4: 0000: 00072142 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_VARYING_PS_REPL[0].MODE (214a)
VPC_VARYING_PS_REPL[0].MODE: 0
VPC_VARYING_PS_REPL[0x1].MODE: 0
VPC_VARYING_PS_REPL[0x2].MODE: 0
VPC_VARYING_PS_REPL[0x3].MODE: 0
VPC_VARYING_PS_REPL[0x4].MODE: 0
VPC_VARYING_PS_REPL[0x5].MODE: 0
VPC_VARYING_PS_REPL[0x6].MODE: 0
VPC_VARYING_PS_REPL[0x7].MODE: 0
109d18e8: 0000: 0007214a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (131 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 4 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[40700000x_10000002x] mul.f r0.x, r0.z, c0.x
:2:0001:0001[40700001x_10030002x] mul.f r0.y, r0.z, c0.w
:3:0002:0002[63818000x_00001004x] mad.f32 r0.x, c1.x, r0.w, r0.x
:3:0003:0003[63818001x_00011007x] mad.f32 r0.y, c1.w, r0.w, r0.y
:3:0004:0004[63820000x_00001008x] mad.f32 r0.x, c2.x, r1.x, r0.x
:3:0005:0005[63820001x_0001100bx] mad.f32 r0.y, c2.w, r1.x, r0.y
:3:0006:0006[6382800ax_0000100cx] mad.f32 r2.z, c3.x, r1.y, r0.x
:2:0007:0007[40700000x_10010002x] mul.f r0.x, r0.z, c0.y
:3:0008:0008[6382800dx_0001100fx] mad.f32 r3.y, c3.w, r1.y, r0.y
:3:0009:0009[63818000x_00001005x] mad.f32 r0.x, c1.y, r0.w, r0.x
:1:0010:0010[20244001x_00000010x] mov.f32f32 r0.y, c4.x
:3:0011:0011[63820000x_00001009x] mad.f32 r0.x, c2.y, r1.x, r0.x
:0:0012:0012[00000000x_00000000x] nop
:3:0013:0013[6382800bx_0000100dx] mad.f32 r2.w, c3.y, r1.y, r0.x
:2:0014:0014[40700000x_10020002x] mul.f r0.x, r0.z, c0.z
:2:0015:0015[40100001x_0001101cx] add.f r0.y, c7.x, r0.y
:3:0016:0016[63818000x_00001006x] mad.f32 r0.x, c1.z, r0.w, r0.x
:1:0017:0017[20244002x_00000011x] mov.f32f32 r0.z, c4.y
:3:0018:0018[63820000x_0000100ax] mad.f32 r0.x, c2.z, r1.x, r0.x
:1:0019:0019[20244004x_00000013x] mov.f32f32 r1.x, c4.w
:3:0020:0020[6382800cx_0000100ex] mad.f32 r3.x, c3.z, r1.y, r0.x
:2:0021:0021[40700000x_00070007x] mul.f r0.x, r1.w, r1.w
:2:0022:0022[40100002x_0002101dx] add.f r0.z, c7.y, r0.z
:3:0023:0023[63830000x_00000006x] mad.f32 r0.x, r1.z, r1.z, r0.x
:2:0024:0024[40500411x_00041013x] (sat)max.f r4.y, c4.w, r1.x
:3:0025:0025[63840000x_00000008x] mad.f32 r0.x, r2.x, r2.x, r0.x
:1:0026:0026[20244003x_00000012x] mov.f32f32 r0.w, c4.z
:0:0027:0027[00000200x_00000000x] (rpt2)nop
:2:0028:0030[40100003x_0003101ex] add.f r0.w, c7.z, r0.w
:0:0029:0031[00000000x_00000000x] nop
:4:0030:0032[80300000x_00000000x] rsq r0.x, r0.x
:2:0031:0033[40701004x_00000007x] (ss)mul.f r1.x, r1.w, r0.x
:0:0032:0034[00000200x_00000000x] (rpt2)nop
:2:0033:0037[40700004x_10150004x] mul.f r1.x, r1.x, c5.y
:2:0034:0038[40700005x_00000006x] mul.f r1.y, r1.z, r0.x
:0:0035:0039[00000200x_00000000x] (rpt2)nop
:3:0036:0042[63828004x_00041014x] mad.f32 r1.x, c5.x, r1.y, r1.x
:2:0037:0043[40700000x_00000008x] mul.f r0.x, r2.x, r0.x
:0:0038:0044[00000200x_00000000x] (rpt2)nop
:3:0039:0047[63800000x_00041016x] mad.f32 r0.x, c5.z, r0.x, r1.x
:0:0040:0048[00000200x_00000000x] (rpt2)nop
:2:0041:0051[40b00004x_00001034x] cmps.f.lt r1.x, c13.x, r0.x
:2:0042:0052[40500000x_00001034x] max.f r0.x, c13.x, r0.x
:0:0043:0053[00000100x_00000000x] (rpt1)nop
:1:0044:0055[200c4004x_00000004x] cov.u32f32 r1.x, r1.x
:3:0045:0056[63800001x_00011020x] mad.f32 r0.y, c8.x, r0.x, r0.y
:3:0046:0057[63800002x_00021021x] mad.f32 r0.z, c8.y, r0.x, r0.z
:3:0047:0058[63800000x_00031022x] mad.f32 r0.x, c8.z, r0.x, r0.w
:3:0048:0059[6382040ex_00011024x] (sat)mad.f32 r3.z, c9.x, r1.x, r0.y
:3:0049:0060[6382040fx_00021025x] (sat)mad.f32 r3.w, c9.y, r1.x, r0.z
:3:0050:0061[63820410x_00001026x] (sat)mad.f32 r4.x, c9.z, r1.x, r0.x
:0:0051:0062[03000000x_00000000x] end
:0:0052:0063[00000000x_00000000x] nop
:0:0053:0064[00000000x_00000000x] nop
:0:0054:0065[00000000x_00000000x] nop
:0:0055:0066[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-8 10-17 (cnt=17, max=17)
- input (half): (cnt=0, max=0)
- input (full): 2-8 (cnt=7, max=8)
- max const: 52
- output (half): (cnt=0, max=0) (estimated)
- output (full): 10-17 (cnt=8, max=17) (estimated)
- shaderdb: 67 instructions, 31 nops, 36 non-nops, (56 instlen), 0 half, 5 full
- shaderdb: 1 (ss), 0 (sy)
109d190c: 0000: c0813000 01200000 00000000 10000002 40700000 10030002 40700001 00001004
109d192c: 0020: 63818000 00011007 63818001 00001008 63820000 0001100b 63820001 0000100c
109d194c: 0040: 6382800a 10010002 40700000 0001100f 6382800d 00001005 63818000 00000010
109d196c: 0060: 20244001 00001009 63820000 00000000 00000000 0000100d 6382800b 10020002
109d198c: 0080: 40700000 0001101c 40100001 00001006 63818000 00000011 20244002 0000100a
109d19ac: 00a0: 63820000 00000013 20244004 0000100e 6382800c 00070007 40700000 0002101d
109d19cc: 00c0: 40100002 00000006 63830000 00041013 40500411 00000008 63840000 00000012
109d19ec: 00e0: 20244003 00000000 00000200 0003101e 40100003 00000000 00000000 00000000
109d1a0c: 0100: 80300000 00000007 40701004 00000000 00000200 10150004 40700004 00000006
109d1a2c: 0120: 40700005 00000000 00000200 00041014 63828004 00000008 40700000 00000000
109d1a4c: 0140: 00000200 00041016 63800000 00000000 00000200 00001034 40b00004 00001034
109d1a6c: 0160: 40500000 00000000 00000100 00000004 200c4004 00011020 63800001 00021021
109d1a8c: 0180: 63800002 00031022 63800000 00011024 6382040e 00021025 6382040f 00001026
109d1aac: 01a0: 63820410 00000000 03000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:2:0000:0000[47300002x_00002000x] bary.f r0.z, 0, r0.x
:2:0001:0001[47300003x_00002001x] bary.f r0.w, 1, r0.x
:2:0002:0002[47300004x_00002002x] bary.f r1.x, 2, r0.x
:2:0003:0003[47308005x_00002003x] bary.f (ei)r1.y, 3, r0.x
:0:0004:0004[03000000x_00000000x] end
:0:0005:0005[00000000x_00000000x] nop
:0:0006:0006[00000000x_00000000x] nop
:0:0007:0007[00000000x_00000000x] nop
:0:0008:0008[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0 2-5 (cnt=5, max=5)
- input (half): (cnt=0, max=0)
- input (full): 0 (cnt=1, max=0)
- max const: 0
- output (half): (cnt=0, max=0) (estimated)
- output (full): 2-5 (cnt=4, max=5) (estimated)
- shaderdb: 9 instructions, 4 nops, 5 non-nops, (9 instlen), 0 half, 2 full
- shaderdb: 0 (ss), 0 (sy)
109d1b18: 0000: c0213000 00700000 00000000 00002000 47300002 00002001 47300003 00002002
109d1b38: 0020: 47300004 00002003 47308005 00000000 03000000 00000000 00000000 00000000
*
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
109d1ba4: 0000: c0002600 00000000
t3 opcode: CP_LOAD_STATE4 (30) (51 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 12 }
{ STATE_TYPE = ST4_CONSTANTS | EXT_SRC_ADDR = 0 }
109d1bb8: 3.924428 -1.210718 0.674073 0.570369 1.829991 4.619613 -0.131666 -0.111410
109d1bd8: 2.500000 -1.480991 -0.961761 -0.813798 -13.423393 17.082890 32.944622 37.106991
109d1bf8: 0.040000 0.040000 0.200000 1.000000 -0.244131 0.617574 0.747665 0.000000
109d1c18: 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000
109d1c38: 0.200000 0.200000 1.000000 1.000000 0.000000 0.000000 0.000000 1.000000
109d1c58: 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000
109d1bb8: 0000: 407b29d2 bf9af8cb 3f2c9009 3f1203b9 3fea3d23 4093d3df be06d382 bde42adc
109d1bd8: 0020: 40200000 bfbd9119 bf7635f5 bf50550b c156c638 4188a9c2 4203c74b 42146d8f
109d1bf8: 0040: 3d23d70b 3d23d70b 3e4ccccd 3f800000 be79fd80 3f1e194f 3f3f66f5 00000000
109d1c18: 0060: 3f800000 00000000 00000000 00000000 00000000 00000000 00000000 3f800000
109d1c38: 0080: 3e4ccccd 3e4ccccd 3f800000 3f800000 00000000 00000000 00000000 3f800000
109d1c58: 00a0: 00000000 00000000 00000000 3f800000 02020000 02020202 02020202 00000202
109d1bac: 0000: c0313000 03200000 00000001 407b29d2 bf9af8cb 3f2c9009 3f1203b9 3fea3d23
109d1bcc: 0020: 4093d3df be06d382 bde42adc 40200000 bfbd9119 bf7635f5 bf50550b c156c638
109d1bec: 0040: 4188a9c2 4203c74b 42146d8f 3d23d70b 3d23d70b 3e4ccccd 3f800000 be79fd80
109d1c0c: 0060: 3f1e194f 3f3f66f5 00000000 3f800000 00000000 00000000 00000000 00000000
109d1c2c: 0080: 00000000 00000000 3f800000 3e4ccccd 3e4ccccd 3f800000 3f800000 00000000
109d1c4c: 00a0: 00000000 00000000 3f800000 00000000 00000000 00000000 3f800000 02020000
109d1c6c: 00c0: 02020202 02020202 00000202
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
109d1c78: 0000: 00012208 00000000 00000000
t0 write PC_RESTART_INDEX (21c6)
PC_RESTART_INDEX: 0xffffffff
109d1c84: 0000: 000021c6 ffffffff
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x6e
:0,109,115,110
109d1c8c: 0000: 0000057f 0000006e
t3 opcode: CP_DRAW_INDX_OFFSET (38) (7 dwords)
{ PRIM_TYPE = DI_PT_TRILIST | SOURCE_SELECT = DI_SRC_SEL_DMA | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_16_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 60 }
{ FIRST_INDX = 0 }
{ INDX_BASE = 0x10bd1428 }
{ INDX_SIZE = 120 }
draw[18] register values
!+ 0000006d CP_SCRATCH[0x5].REG: 0x6d
:0,109,115,110
!+ 0000006e CP_SCRATCH[0x7].REG: 0x6e
:0,109,115,110
+ 00080000 GRAS_CL_CLIP_CNTL: { 0x80000 }
!+ 00000001 GRAS_CNTL: { IJ_PERSP }
+ 00100010 GRAS_SU_POINT_MINMAX: { MIN = 1.000000 | MAX = 1.000000 }
+ 00000010 GRAS_SU_POINT_SIZE: 1.000000
+ 00000000 GRAS_ALPHA_CONTROL: { 0 }
+ 00000000 GRAS_SU_POLY_OFFSET_SCALE: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_OFFSET: 0.000000
+ 00000000 GRAS_SU_POLY_OFFSET_CLAMP: 0.000000
+ 00100012 GRAS_SU_MODE_CONTROL: { CULL_BACK | LINEHALFWIDTH = 0.500000 | RENDERING_PASS }
+ 012b012b GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
+ 00000000 GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
!+ 00001000 RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 | IJ_PERSP_PIXEL }
+ 00000001 RB_FS_OUTPUT_REG: { MRT = 1 }
+ 80000016 RB_DEPTH_CONTROL: { Z_ENABLE | Z_WRITE_ENABLE | ZFUNC = FUNC_LESS | Z_TEST_ENABLE }
+ 00000000 RB_VPORT_Z_CLAMP[0].MIN: 0
+ 00ffffff RB_VPORT_Z_CLAMP[0].MAX: 0xffffff
+ 42001004 VPC_ATTR: { TOTALATTR = 4 | THRDASSIGN = 1 | ENABLE | 0x40000000 }
+ 00040400 VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 4 | NUMNONPOSVSVAR = 4 }
!+ 00000000 VPC_VARYING_INTERP[0].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x1].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x2].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x3].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x4].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x5].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x6].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x7].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x1].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x2].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x3].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x4].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x5].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x6].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x7].MODE: 0
+ 02000001 PC_PRIM_VTX_CNTL: { VAROUT = 1 | PROVOKING_VTX_LAST }
+ 00000012 PC_PRIM_VTX_CNTL2: { POLYMODE_FRONT_PTYPE = PC_DRAW_TRIANGLES | POLYMODE_BACK_PTYPE = PC_DRAW_TRIANGLES }
+ ffffffff PC_RESTART_INDEX: 0xffffffff
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
+ 00140010 SP_SP_CTRL_REG: { 0x140010 }
+ 000005ff SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
+ 00201400 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 5 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
+ 08000042 SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 8 }
+ 0010fc0a SP_VS_PARAM_REG: { POSREGID = r2.z | PSIZEREGID = r63.x | TOTALVSOUTVAR = 1 }
+ 00001e0e SP_VS_OUT[0].REG: { A_REGID = r3.z | A_COMPMASK = 0xf | B_REGID = r0.x | B_COMPMASK = 0 }
+ 08080808 SP_VS_VPC_DST[0].REG: { OUTLOC0 = 8 | OUTLOC1 = 8 | OUTLOC2 = 8 | OUTLOC3 = 8 }
+ 00000000 SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
+ 10cd5000 SP_VS_OBJ_START: 0x10cd5000
+ 00000004 SP_VS_LENGTH_REG: 4
!+ 00340802 SP_FS_CTRL_REG0: { THREADMODE = MULTI | VARYING | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 2 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
+ 8010003e SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | VARYING | 0x80000000 }
+ 7e420000 SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
!+ 108cb000 SP_FS_OBJ_START: 0x108cb000
+ 00000001 SP_FS_LENGTH_REG: 1
+ 0000fc01 SP_FS_OUTPUT_REG: { MRT = 1 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
!+ 0001a002 SP_FS_MRT[0].REG: { REGID = r0.z | MRTFORMAT = RB4_R8G8B8A8_UNORM }
!+ 00000002 SP_FS_MRT[0x1].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x2].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x3].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x4].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x5].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x6].REG: { REGID = r0.z | MRTFORMAT = 0 }
!+ 00000002 SP_FS_MRT[0x7].REG: { REGID = r0.z | MRTFORMAT = 0 }
+ 7e420000 SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 28000250 HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
+ fcfc0100 HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
+ fff3f3f0 HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 }
+ 00fcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | 0xfc0000 }
+ 04000042 HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 4 }
+ 017e423e HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
+ 007e4200 HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 00000003 HLSQ_UPDATE_CONTROL: 0x3
109d1c94: 0000: c0053800 00000404 00000001 0000003c 00000000 10bd1428 00000078
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x6f
:0,109,115,111
109d1cb0: 0000: 0000057f 0000006f
108ce2d0: 0000: c0013f00 109ce000 00000f2e
t2 nop
t0 write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { ZFUNC = FUNC_NEVER }
108ce2e8: 0000: 00002101 00000000
t0 write RB_STENCIL_CONTROL (2106)
RB_STENCIL_CONTROL: { FUNC = FUNC_NEVER | FAIL = STENCIL_KEEP | ZPASS = STENCIL_KEEP | ZFAIL = STENCIL_KEEP | FUNC_BF = FUNC_NEVER | FAIL_BF = STENCIL_KEEP | ZPASS_BF = STENCIL_KEEP | ZFAIL_BF = STENCIL_KEEP }
RB_STENCIL_CONTROL2: { 0 }
108ce2f0: 0000: 00012106 00000000 00000000
t0 write RB_STENCILREFMASK (210b)
RB_STENCILREFMASK: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0xff | 0xff000000 }
RB_STENCILREFMASK_BF: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0xff | 0xff000000 }
108ce2fc: 0000: 0001210b ffff0000 ffff0000
t0 write GRAS_SU_MODE_CONTROL (2078)
GRAS_SU_MODE_CONTROL: { LINEHALFWIDTH = 0.000000 }
108ce308: 0000: 00002078 00000000
t3 opcode: CP_WAIT_FOR_IDLE (26) (2 dwords)
108ce310: 0000: c0002600 00000000
t0 write GRAS_CL_CLIP_CNTL (2000)
GRAS_CL_CLIP_CNTL: { 0x80000 }
108ce318: 0000: 00002000 00080000
t0 write GRAS_CL_VPORT_XOFFSET_0 (2008)
GRAS_CL_VPORT_XOFFSET_0: 150.000000
GRAS_CL_VPORT_XSCALE_0: 150.000000
GRAS_CL_VPORT_YOFFSET_0: 150.000000
GRAS_CL_VPORT_YSCALE_0: -150.000000
GRAS_CL_VPORT_ZOFFSET_0: 0.000000
GRAS_CL_VPORT_ZSCALE_0: 1.000000
108ce320: 0000: 00052008 43160000 43160000 43160000 c3160000 00000000 3f800000
t0 write RB_RENDER_CONTROL (20a1)
RB_RENDER_CONTROL: { DISABLE_COLOR_PIPE | 0xa }
108ce33c: 0000: 000020a1 0000002a
t0 write GRAS_SC_CONTROL (207b)
GRAS_SC_CONTROL: { RENDER_MODE = RB_RESOLVE_PASS | MSAA_SAMPLES = 0 | MSAA_DISABLE | RASTER_MODE = 0x1 }
108ce344: 0000: 0000207b 00001808
t0 write PC_PRIM_VTX_CNTL (21c4)
PC_PRIM_VTX_CNTL: { VAROUT = 0 | PROVOKING_VTX_LAST }
108ce34c: 0000: 000021c4 02000000
t0 write GRAS_ALPHA_CONTROL (2073)
GRAS_ALPHA_CONTROL: { 0x2 }
108ce354: 0000: 00002073 00000002
t0 write GRAS_SC_WINDOW_SCISSOR_BR (209c)
GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
108ce35c: 0000: 0001209c 012b012b 00000000
t0 write VFD_INDEX_OFFSET (2208)
VFD_INDEX_OFFSET: 0
UNKNOWN_2209: 0
108ce368: 0000: 00012208 00000000 00000000
t0 write HLSQ_UPDATE_CONTROL (23db)
HLSQ_UPDATE_CONTROL: 0x3
108ce374: 0000: 000023db 00000003
t0 write HLSQ_CONTROL_0_REG (23c0)
HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 | 0xfc0000 }
108ce37c: 0000: 000423c0 28000250 fcfc0100 fff3f3f0 fcfcfcfc 00fcfcfc
t0 write HLSQ_VS_CONTROL_REG (23c5)
HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 1 }
HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
108ce394: 0000: 000423c5 01000042 017e423e 007e4200 007e4200 007e4200
t0 write SP_SP_CTRL_REG (22c0)
SP_SP_CTRL_REG: { 0x140010 }
108ce3ac: 0000: 000022c0 00140010
t0 write SP_INSTR_CACHE_CTRL (22c1)
SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
108ce3b4: 0000: 000022c1 000005ff
t0 write SP_VS_LENGTH_REG (22e5)
SP_VS_LENGTH_REG: 1
108ce3bc: 0000: 000022e5 00000001
t0 write SP_VS_CTRL_REG0 (22c4)
SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 4 }
SP_VS_PARAM_REG: { POSREGID = r0.x | PSIZEREGID = r63.x | TOTALVSOUTVAR = 0 }
108ce3c4: 0000: 000222c4 00200400 04000042 0000fc00
t0 write SP_VS_OBJ_OFFSET_REG (22e0)
SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
SP_VS_OBJ_START: 0x1073c000
108ce3d4: 0000: 000122e0 00000000 1073c000
t0 write SP_FS_LENGTH_REG (22ef)
SP_FS_LENGTH_REG: 1
108ce3e0: 0000: 000022ef 00000001
t0 write SP_FS_CTRL_REG0 (22e8)
SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | 0x80000000 }
108ce3e8: 0000: 000122e8 00340400 8000003e
t0 write SP_FS_OBJ_OFFSET_REG (22ea)
SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
SP_FS_OBJ_START: 0x1073b000
108ce3f4: 0000: 000122ea 7e420000 1073b000
t0 write SP_HS_OBJ_OFFSET_REG (230d)
SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
108ce400: 0000: 0000230d 7e420000
t0 write SP_DS_OBJ_OFFSET_REG (2334)
SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
108ce408: 0000: 00002334 7e420000
t0 write SP_GS_OBJ_OFFSET_REG (235b)
SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
108ce410: 0000: 0000235b 7e420000
t0 write GRAS_CNTL (2003)
GRAS_CNTL: { 0 }
108ce418: 0000: 00002003 00000000
t0 write RB_RENDER_CONTROL2 (20a3)
RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
108ce420: 0000: 000020a3 00000000
t0 write RB_FS_OUTPUT_REG (2100)
RB_FS_OUTPUT_REG: { MRT = 0 }
108ce428: 0000: 00002100 00000000
t0 write SP_FS_OUTPUT_REG (22f0)
SP_FS_OUTPUT_REG: { MRT = 0 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
108ce430: 0000: 000022f0 0000fc00
t0 write SP_FS_MRT[0].REG (22f1)
SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
108ce438: 0000: 000722f1 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_ATTR (2140)
VPC_ATTR: { TOTALATTR = 0 | THRDASSIGN = 1 | 0x40000000 }
VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 0 | NUMNONPOSVSVAR = 0 }
108ce45c: 0000: 00012140 40001000 00000000
t0 write VPC_VARYING_INTERP[0].MODE (2142)
VPC_VARYING_INTERP[0].MODE: 0
VPC_VARYING_INTERP[0x1].MODE: 0
VPC_VARYING_INTERP[0x2].MODE: 0
VPC_VARYING_INTERP[0x3].MODE: 0
VPC_VARYING_INTERP[0x4].MODE: 0
VPC_VARYING_INTERP[0x5].MODE: 0
VPC_VARYING_INTERP[0x6].MODE: 0
VPC_VARYING_INTERP[0x7].MODE: 0
108ce468: 0000: 00072142 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t0 write VPC_VARYING_PS_REPL[0].MODE (214a)
VPC_VARYING_PS_REPL[0].MODE: 0
VPC_VARYING_PS_REPL[0x1].MODE: 0
VPC_VARYING_PS_REPL[0x2].MODE: 0
VPC_VARYING_PS_REPL[0x3].MODE: 0
VPC_VARYING_PS_REPL[0x4].MODE: 0
VPC_VARYING_PS_REPL[0x5].MODE: 0
VPC_VARYING_PS_REPL[0x6].MODE: 0
VPC_VARYING_PS_REPL[0x7].MODE: 0
108ce48c: 0000: 0007214a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_VS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:0:0000:0000[03000000x_00000000x] end
:0:0001:0001[00000000x_00000000x] nop
:0:0002:0002[00000000x_00000000x] nop
:0:0003:0003[00000000x_00000000x] nop
:0:0004:0004[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): (cnt=0, max=0)
- input (half): (cnt=0, max=0)
- input (full): (cnt=0, max=0)
- max const: 0
- output (half): (cnt=0, max=0) (estimated)
- output (full): (cnt=0, max=0) (estimated)
- shaderdb: 5 instructions, 4 nops, 1 non-nops, (5 instlen), 0 half, 0 full
- shaderdb: 0 (ss), 0 (sy)
108ce4b0: 0000: c0213000 00600000 00000000 00000000 03000000 00000000 00000000 00000000
*
t3 opcode: CP_LOAD_STATE4 (30) (35 dwords)
{ DST_OFF = 0 | STATE_SRC = SS4_DIRECT | STATE_BLOCK = SB4_FS_SHADER | NUM_UNIT = 1 }
{ STATE_TYPE = ST4_SHADER | EXT_SRC_ADDR = 0 }
:1:0000:0000[20244000x_00000000x] mov.f32f32 r0.x, c0.x
:1:0001:0001[20244001x_00000001x] mov.f32f32 r0.y, c0.y
:1:0002:0002[20244002x_00000002x] mov.f32f32 r0.z, c0.z
:1:0003:0003[20244003x_00000003x] mov.f32f32 r0.w, c0.w
:0:0004:0004[03000000x_00000000x] end
:0:0005:0005[00000000x_00000000x] nop
:0:0006:0006[00000000x_00000000x] nop
:0:0007:0007[00000000x_00000000x] nop
:0:0008:0008[00000000x_00000000x] nop
Register Stats:
- used (half): (cnt=0, max=0)
- used (full): 0-3 (cnt=4, max=3)
- input (half): (cnt=0, max=0)
- input (full): (cnt=0, max=0)
- max const: 3
- output (half): (cnt=0, max=0) (estimated)
- output (full): 0-3 (cnt=4, max=3) (estimated)
- shaderdb: 9 instructions, 8 nops, 1 non-nops, (9 instlen), 0 half, 1 full
- shaderdb: 0 (ss), 0 (sy)
108ce53c: 0000: c0213000 00700000 00000000 00000000 20244000 00000001 20244001 00000002
108ce55c: 0020: 20244002 00000003 20244003 00000000 03000000 00000000 00000000 00000000
*
t0 write VFD_FETCH[0].INSTR_0 (220a)
VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 12 }
VFD_FETCH[0].INSTR_1: 0x1074a000
VFD_FETCH[0].INSTR_2: { SIZE = 0x1000 }
VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
108ce5c8: 0000: 0003220a 0000060b 1074a000 00001000 00000001
t0 write VFD_DECODE[0].INSTR (228a)
VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.x | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
108ce5dc: 0000: 0000228a 2c0000df
t0 write VFD_CONTROL_0 (2200)
VFD_CONTROL_0: { TOTALATTRTOVS = 4 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 1 | STRMFETCHINSTRCNT = 1 | 0xa0000 }
VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
VFD_CONTROL_2: 0
VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
VFD_CONTROL_4: 0
108ce5e4: 0000: 00042200 041a0004 fcfc0081 00000000 0000fc00 00000000
t0 write UCHE_INVALIDATE0 (0e8a)
UCHE_INVALIDATE0: 0
UCHE_INVALIDATE1: 0x12
108ce5fc: 0000: 00010e8a 00000000 00000012
t0 write RB_COPY_CONTROL (20fc)
RB_COPY_CONTROL: { MSAA_RESOLVE = MSAA_ONE | MODE = RB_COPY_RESOLVE | FASTCLEAR = 0 | GMEM_BASE = 0x64000 }
RB_COPY_DEST_BASE: { BASE = 0x10edc000 }
RB_COPY_DEST_PITCH: { PITCH = 1280 }
RB_COPY_DEST_INFO: { FORMAT = RB4_R8G8B8A8_UNORM | SWAP = WZYX | DITHER_MODE = DITHER_DISABLE | COMPONENT_ENABLE = 0xf | ENDIAN = ENDIAN_NONE | TILE = TILE4_LINEAR }
108ce608: 0000: 000320fc 00064010 10edc000 00000028 0003c068
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x75
:0,109,115,117
108ce61c: 0000: 0000057f 00000075
t3 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
{ PRIM_TYPE = DI_PT_RECTLIST | SOURCE_SELECT = DI_SRC_SEL_AUTO_INDEX | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_8_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 2 }
draw[19] register values
!+ 00000075 CP_SCRATCH[0x7].REG: 0x75
:0,109,115,117
+ 00000000 UCHE_INVALIDATE0: 0
+ 00000012 UCHE_INVALIDATE1: 0x12
+ 00080000 GRAS_CL_CLIP_CNTL: { 0x80000 }
!+ 00000000 GRAS_CNTL: { 0 }
+ 43160000 GRAS_CL_VPORT_XOFFSET_0: 150.000000
+ 43160000 GRAS_CL_VPORT_XSCALE_0: 150.000000
+ 43160000 GRAS_CL_VPORT_YOFFSET_0: 150.000000
+ c3160000 GRAS_CL_VPORT_YSCALE_0: -150.000000
!+ 00000000 GRAS_CL_VPORT_ZOFFSET_0: 0.000000
!+ 3f800000 GRAS_CL_VPORT_ZSCALE_0: 1.000000
!+ 00000002 GRAS_ALPHA_CONTROL: { 0x2 }
!+ 00000000 GRAS_SU_MODE_CONTROL: { LINEHALFWIDTH = 0.000000 }
!+ 00001808 GRAS_SC_CONTROL: { RENDER_MODE = RB_RESOLVE_PASS | MSAA_SAMPLES = 0 | MSAA_DISABLE | RASTER_MODE = 0x1 }
+ 012b012b GRAS_SC_WINDOW_SCISSOR_BR: { X = 299 | Y = 299 }
+ 00000000 GRAS_SC_WINDOW_SCISSOR_TL: { X = 0 | Y = 0 }
!+ 0000002a RB_RENDER_CONTROL: { DISABLE_COLOR_PIPE | 0xa }
!+ 00000000 RB_RENDER_CONTROL2: { COORD_MASK = 0 | MSAA_SAMPLES = 0 }
!+ 00064010 RB_COPY_CONTROL: { MSAA_RESOLVE = MSAA_ONE | MODE = RB_COPY_RESOLVE | FASTCLEAR = 0 | GMEM_BASE = 0x64000 }
!+ 10edc000 RB_COPY_DEST_BASE: { BASE = 0x10edc000 }
!+ 00000028 RB_COPY_DEST_PITCH: { PITCH = 1280 }
!+ 0003c068 RB_COPY_DEST_INFO: { FORMAT = RB4_R8G8B8A8_UNORM | SWAP = WZYX | DITHER_MODE = DITHER_DISABLE | COMPONENT_ENABLE = 0xf | ENDIAN = ENDIAN_NONE | TILE = TILE4_LINEAR }
!+ 00000000 RB_FS_OUTPUT_REG: { MRT = 0 }
!+ 00000000 RB_DEPTH_CONTROL: { ZFUNC = FUNC_NEVER }
+ 00000000 RB_STENCIL_CONTROL: { FUNC = FUNC_NEVER | FAIL = STENCIL_KEEP | ZPASS = STENCIL_KEEP | ZFAIL = STENCIL_KEEP | FUNC_BF = FUNC_NEVER | FAIL_BF = STENCIL_KEEP | ZPASS_BF = STENCIL_KEEP | ZFAIL_BF = STENCIL_KEEP }
+ 00000000 RB_STENCIL_CONTROL2: { 0 }
!+ ffff0000 RB_STENCILREFMASK: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0xff | 0xff000000 }
!+ ffff0000 RB_STENCILREFMASK_BF: { STENCILREF = 0 | STENCILMASK = 0 | STENCILWRITEMASK = 0xff | 0xff000000 }
!+ 40001000 VPC_ATTR: { TOTALATTR = 0 | THRDASSIGN = 1 | 0x40000000 }
!+ 00000000 VPC_PACK: { NUMBYPASSVAR = 0 | NUMFPNONPOSVAR = 0 | NUMNONPOSVSVAR = 0 }
+ 00000000 VPC_VARYING_INTERP[0].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x1].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x2].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x3].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x4].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x5].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x6].MODE: 0
+ 00000000 VPC_VARYING_INTERP[0x7].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x1].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x2].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x3].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x4].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x5].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x6].MODE: 0
+ 00000000 VPC_VARYING_PS_REPL[0x7].MODE: 0
!+ 02000000 PC_PRIM_VTX_CNTL: { VAROUT = 0 | PROVOKING_VTX_LAST }
!+ 041a0004 VFD_CONTROL_0: { TOTALATTRTOVS = 4 | BYPASSATTROVS = 0 | STRMDECINSTRCNT = 1 | STRMFETCHINSTRCNT = 1 | 0xa0000 }
+ fcfc0081 VFD_CONTROL_1: { MAXSTORAGE = 129 | REGID4VTX = r63.x | REGID4INST = r63.x }
+ 00000000 VFD_CONTROL_2: 0
+ 0000fc00 VFD_CONTROL_3: { REGID_VTXCNT = r63.x | REGID_TESSX = r0.x | REGID_TESSY = r0.x }
+ 00000000 VFD_CONTROL_4: 0
+ 00000000 VFD_INDEX_OFFSET: 0
+ 00000000 UNKNOWN_2209: 0
!+ 0000060b VFD_FETCH[0].INSTR_0: { FETCHSIZE = 11 | BUFSTRIDE = 12 }
!+ 1074a000 VFD_FETCH[0].INSTR_1: 0x1074a000
!+ 00001000 VFD_FETCH[0].INSTR_2: { SIZE = 0x1000 }
+ 00000001 VFD_FETCH[0].INSTR_3: { STEPRATE = 1 }
!+ 2c0000df VFD_DECODE[0].INSTR: { WRITEMASK = 0xf | CONSTFILL | FORMAT = VFMT4_32_32_32_FLOAT | REGID = r0.x | SWAP = WZYX | SHIFTCNT = 12 | LASTCOMPVALID }
+ 00140010 SP_SP_CTRL_REG: { 0x140010 }
+ 000005ff SP_INSTR_CACHE_CTRL: { VS_BUFFER | FS_BUFFER | INSTR_BUFFER | 0x7f }
!+ 00200400 SP_VS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 0 | THREADSIZE = TWO_QUADS | SUPERTHREADMODE }
!+ 04000042 SP_VS_CTRL_REG1: { CONSTLENGTH = 66 | INITIALOUTSTANDING = 4 }
!+ 0000fc00 SP_VS_PARAM_REG: { POSREGID = r0.x | PSIZEREGID = r63.x | TOTALVSOUTVAR = 0 }
+ 00000000 SP_VS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 }
!+ 1073c000 SP_VS_OBJ_START: 0x1073c000
!+ 00000001 SP_VS_LENGTH_REG: 1
!+ 00340400 SP_FS_CTRL_REG0: { THREADMODE = MULTI | HALFREGFOOTPRINT = 0 | FULLREGFOOTPRINT = 1 | INOUTREGOVERLAP = 1 | THREADSIZE = FOUR_QUADS | SUPERTHREADMODE }
!+ 8000003e SP_FS_CTRL_REG1: { CONSTLENGTH = 62 | 0x80000000 }
+ 7e420000 SP_FS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
!+ 1073b000 SP_FS_OBJ_START: 0x1073b000
+ 00000001 SP_FS_LENGTH_REG: 1
!+ 0000fc00 SP_FS_OUTPUT_REG: { MRT = 0 | DEPTH_REGID = r63.x | SAMPLEMASK_REGID = r0.x }
!+ 00000000 SP_FS_MRT[0].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x1].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x2].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x3].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x4].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x5].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x6].REG: { REGID = r0.x | MRTFORMAT = 0 }
!+ 00000000 SP_FS_MRT[0x7].REG: { REGID = r0.x | MRTFORMAT = 0 }
+ 7e420000 SP_HS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_DS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 7e420000 SP_GS_OBJ_OFFSET_REG: { CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 }
+ 28000250 HLSQ_CONTROL_0_REG: { FSTHREADSIZE = FOUR_QUADS | FSSUPERTHREADENABLE | SPSHADERRESTART | CONSTMODE = 1 | SPCONSTFULLUPDATE }
+ fcfc0100 HLSQ_CONTROL_1_REG: { VSTHREADSIZE = TWO_QUADS | VSSUPERTHREADENABLE | COORDREGID = r63.x | ZWCOORDREGID = r63.x }
+ fff3f3f0 HLSQ_CONTROL_2_REG: { PRIMALLOCTHRESHOLD = 63 | FACEREGID = r63.x | SAMPLEID_REGID = r63.x | SAMPLEMASK_REGID = 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 }
+ 00fcfcfc HLSQ_CONTROL_4_REG: { IJ_PERSP_SAMPLE = r63.x | IJ_LINEAR_SAMPLE = r63.x | 0xfc0000 }
!+ 01000042 HLSQ_VS_CONTROL_REG: { CONSTLENGTH = 66 | CONSTOBJECTOFFSET = 0 | SHADEROBJOFFSET = 0 | INSTRLENGTH = 1 }
+ 017e423e HLSQ_FS_CONTROL_REG: { CONSTLENGTH = 62 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 1 }
+ 007e4200 HLSQ_HS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_DS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 007e4200 HLSQ_GS_CONTROL_REG: { CONSTLENGTH = 0 | CONSTOBJECTOFFSET = 66 | SHADEROBJOFFSET = 63 | INSTRLENGTH = 0 }
+ 00000003 HLSQ_UPDATE_CONTROL: 0x3
108ce624: 0000: c0023800 00000088 00000001 00000002
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x76
:0,109,115,118
108ce634: 0000: 0000057f 00000076
t0 write RB_COPY_CONTROL (20fc)
RB_COPY_CONTROL: { MSAA_RESOLVE = MSAA_ONE | MODE = RB_COPY_RESOLVE | FASTCLEAR = 0 | GMEM_BASE = 0 }
RB_COPY_DEST_BASE: { BASE = 0x10f3c000 }
RB_COPY_DEST_PITCH: { PITCH = 1280 }
RB_COPY_DEST_INFO: { FORMAT = RB4_R8G8B8A8_UNORM | SWAP = WXYZ | DITHER_MODE = DITHER_DISABLE | COMPONENT_ENABLE = 0xf | ENDIAN = ENDIAN_NONE | TILE = TILE4_LINEAR }
108ce63c: 0000: 000320fc 00000010 10f3c000 00000028 0003c168
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x77
:0,109,115,119
108ce650: 0000: 0000057f 00000077
t3 opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
{ PRIM_TYPE = DI_PT_RECTLIST | SOURCE_SELECT = DI_SRC_SEL_AUTO_INDEX | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_8_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 2 }
draw[20] register values
!+ 00000077 CP_SCRATCH[0x7].REG: 0x77
:0,109,115,119
!+ 00000010 RB_COPY_CONTROL: { MSAA_RESOLVE = MSAA_ONE | MODE = RB_COPY_RESOLVE | FASTCLEAR = 0 | GMEM_BASE = 0 }
!+ 10f3c000 RB_COPY_DEST_BASE: { BASE = 0x10f3c000 }
+ 00000028 RB_COPY_DEST_PITCH: { PITCH = 1280 }
!+ 0003c168 RB_COPY_DEST_INFO: { FORMAT = RB4_R8G8B8A8_UNORM | SWAP = WXYZ | DITHER_MODE = DITHER_DISABLE | COMPONENT_ENABLE = 0xf | ENDIAN = ENDIAN_NONE | TILE = TILE4_LINEAR }
108ce658: 0000: c0023800 00000088 00000001 00000002
t0 write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x78
:0,109,115,120
108ce668: 0000: 0000057f 00000078
t0 write GRAS_SC_CONTROL (207b)
GRAS_SC_CONTROL: { RENDER_MODE = RB_RENDERING_PASS | MSAA_SAMPLES = 0 | MSAA_DISABLE | RASTER_MODE = 0 }
108ce670: 0000: 0000207b 00000800
############################################################
vertices: 0
cmd: glxgears/23375: fence=1029605
cmd: glxgears/23375: fence=1029606
cmd: glxgears/23375: fence=1029607
cmd: glxgears/23375: fence=1029608
cmd: glxgears/23375: fence=1029609
cmd: glxgears/23375: fence=1029610
cmd: glxgears/23375: fence=1029611
cmd: glxgears/23375: fence=1029612
cmd: glxgears/23375: fence=1029613
cmd: glxgears/23375: fence=1029614
cmd: glxgears/23375: fence=1029615
cmd: glxgears/23375: fence=1029616
cmd: glxgears/23375: fence=1029617
cmd: glxgears/23375: fence=1029618
cmd: glxgears/23375: fence=1029619
cmd: glxgears/23375: fence=1029620
cmd: glxgears/23375: fence=1029621
cmd: glxgears/23375: fence=1029622
cmd: glxgears/23375: fence=1029623
cmd: glxgears/23375: fence=1029624
cmd: glxgears/23375: fence=1029625
cmd: glxgears/23375: fence=1029626
cmd: glxgears/23375: fence=1029627
cmd: glxgears/23375: fence=1029628
cmd: glxgears/23375: fence=1029629
cmd: glxgears/23375: fence=1029630
cmd: glxgears/23375: fence=1029631
cmd: glxgears/23375: fence=1029632
cmd: glxgears/23375: fence=1029633
cmd: glxgears/23375: fence=1029634
cmd: glxgears/23375: fence=1029635
cmd: glxgears/23375: fence=1029636
cmd: glxgears/23375: fence=1029637
cmd: glxgears/23375: fence=1029638
cmd: glxgears/23375: fence=1029639
cmd: glxgears/23375: fence=1029640
cmd: glxgears/23375: fence=1029641
cmd: glxgears/23375: fence=1029642
cmd: glxgears/23375: fence=1029643
cmd: glxgears/23375: fence=1029644
cmd: glxgears/23375: fence=1029645
cmd: glxgears/23375: fence=1029646
cmd: glxgears/23375: fence=1029647
cmd: glxgears/23375: fence=1029648
cmd: glxgears/23375: fence=1029649
cmd: glxgears/23375: fence=1029650
cmd: glxgears/23375: fence=1029651
cmd: glxgears/23375: fence=1029652
cmd: glxgears/23375: fence=1029653
cmd: glxgears/23375: fence=1029654
cmd: glxgears/23375: fence=1029655
cmd: glxgears/23375: fence=1029656
cmd: glxgears/23375: fence=1029657
cmd: glxgears/23375: fence=1029658
cmd: glxgears/23375: fence=1029659
cmd: glxgears/23375: fence=1029660
cmd: glxgears/23375: fence=1029661
cmd: glxgears/23375: fence=1029662
cmd: glxgears/23375: fence=1029663
cmd: glxgears/23375: fence=1029664
cmd: glxgears/23375: fence=1029665
cmd: glxgears/23375: fence=1029666
cmd: glxgears/23375: fence=1029667
cmd: glxgears/23375: fence=1029668
cmd: glxgears/23375: fence=1029669
cmd: glxgears/23375: fence=1029670
cmd: glxgears/23375: fence=1029671
cmd: glxgears/23375: fence=1029672
cmd: glxgears/23375: fence=1029673
cmd: glxgears/23375: fence=1029674
cmd: glxgears/23375: fence=1029675
cmd: glxgears/23375: fence=1029676
cmd: glxgears/23375: fence=1029677
cmd: glxgears/23375: fence=1029678
cmd: glxgears/23375: fence=1029679
cmd: glxgears/23375: fence=1029680
cmd: glxgears/23375: fence=1029681
cmd: glxgears/23375: fence=1029682
cmd: glxgears/23375: fence=1029683
cmd: glxgears/23375: fence=1029684
cmd: glxgears/23375: fence=1029685
cmd: glxgears/23375: fence=1029686
cmd: glxgears/23375: fence=1029687
cmd: glxgears/23375: fence=1029688
cmd: glxgears/23375: fence=1029689
cmd: glxgears/23375: fence=1029690
cmd: glxgears/23375: fence=1029691
cmd: glxgears/23375: fence=1029692
cmd: glxgears/23375: fence=1029693
cmd: glxgears/23375: fence=1029694
cmd: glxgears/23375: fence=1029695
cmd: glxgears/23375: fence=1029696
cmd: glxgears/23375: fence=1029697
cmd: glxgears/23375: fence=1029698
cmd: glxgears/23375: fence=1029699
cmd: glxgears/23375: fence=1029700
cmd: glxgears/23375: fence=1029701
cmd: glxgears/23375: fence=1029702
cmd: glxgears/23375: fence=1029703
cmd: glxgears/23375: fence=1029704
cmd: glxgears/23375: fence=1029705
cmd: glxgears/23375: fence=1029706
cmd: glxgears/23375: fence=1029707
cmd: glxgears/23375: fence=1029708
cmd: glxgears/23375: fence=1029709
cmd: glxgears/23375: fence=1029710
cmd: glxgears/23375: fence=1029711
cmd: glxgears/23375: fence=1029712
cmd: glxgears/23375: fence=1029713
cmd: glxgears/23375: fence=1029714
cmd: glxgears/23375: fence=1029715
cmd: glxgears/23375: fence=1029716
cmd: glxgears/23375: fence=1029717
cmd: glxgears/23375: fence=1029718
cmd: glxgears/23375: fence=1029719
cmd: glxgears/23375: fence=1029720
cmd: glxgears/23375: fence=1029721
cmd: glxgears/23375: fence=1029722
cmd: glxgears/23375: fence=1029723
cmd: glxgears/23375: fence=1029724
cmd: glxgears/23375: fence=1029725
cmd: glxgears/23375: fence=1029726
cmd: glxgears/23375: fence=1029727
cmd: glxgears/23375: fence=1029728
cmd: glxgears/23375: fence=1029729
cmd: glxgears/23375: fence=1029730
cmd: glxgears/23375: fence=1029731
cmd: glxgears/23375: fence=1029732
cmd: glxgears/23375: fence=1029733
cmd: glxgears/23375: fence=1029734
cmd: glxgears/23375: fence=1029735
cmd: glxgears/23375: fence=1029736
cmd: glxgears/23375: fence=1029737
cmd: glxgears/23375: fence=1029738
cmd: glxgears/23375: fence=1029739
cmd: glxgears/23375: fence=1029740
cmd: glxgears/23375: fence=1029741
cmd: glxgears/23375: fence=1029742
cmd: glxgears/23375: fence=1029743
cmd: glxgears/23375: fence=1029744
cmd: glxgears/23375: fence=1029745
cmd: glxgears/23375: fence=1029746
cmd: glxgears/23375: fence=1029747
cmd: glxgears/23375: fence=1029748
cmd: glxgears/23375: fence=1029749
cmd: glxgears/23375: fence=1029750
cmd: glxgears/23375: fence=1029751
cmd: glxgears/23375: fence=1029752
cmd: glxgears/23375: fence=1029753
cmd: glxgears/23375: fence=1029754
cmd: glxgears/23375: fence=1029755
cmd: glxgears/23375: fence=1029756
cmd: glxgears/23375: fence=1029757
cmd: glxgears/23375: fence=1029758
cmd: glxgears/23375: fence=1029759
cmd: glxgears/23375: fence=1029760
cmd: glxgears/23375: fence=1029761
cmd: glxgears/23375: fence=1029762
cmd: glxgears/23375: fence=1029763
cmd: glxgears/23375: fence=1029764
cmd: glxgears/23375: fence=1029765
cmd: glxgears/23375: fence=1029766
cmd: glxgears/23375: fence=1029767
cmd: glxgears/23375: fence=1029768
cmd: glxgears/23375: fence=1029769
cmd: glxgears/23375: fence=1029770
cmd: glxgears/23375: fence=1029771
cmd: glxgears/23375: fence=1029772
cmd: glxgears/23375: fence=1029773
cmd: glxgears/23375: fence=1029774
cmd: glxgears/23375: fence=1029775
cmd: glxgears/23375: fence=1029776
cmd: glxgears/23375: fence=1029777
cmd: glxgears/23375: fence=1029778
cmd: glxgears/23375: fence=1029779
cmd: glxgears/23375: fence=1029780
cmd: glxgears/23375: fence=1029781
cmd: glxgears/23375: fence=1029782
cmd: glxgears/23375: fence=1029783
cmd: glxgears/23375: fence=1029784
cmd: glxgears/23375: fence=1029785
cmd: glxgears/23375: fence=1029786
cmd: glxgears/23375: fence=1029787
cmd: glxgears/23375: fence=1029788
cmd: glxgears/23375: fence=1029789
cmd: glxgears/23375: fence=1029790
cmd: glxgears/23375: fence=1029791
cmd: glxgears/23375: fence=1029792
cmd: glxgears/23375: fence=1029793
cmd: glxgears/23375: fence=1029794
cmd: glxgears/23375: fence=1029795
cmd: glxgears/23375: fence=1029796
cmd: glxgears/23375: fence=1029797
cmd: glxgears/23375: fence=1029798
cmd: glxgears/23375: fence=1029799
cmd: glxgears/23375: fence=1029800
cmd: glxgears/23375: fence=1029801
cmd: glxgears/23375: fence=1029802
cmd: glxgears/23375: fence=1029803
cmd: glxgears/23375: fence=1029804
cmd: glxgears/23375: fence=1029805
cmd: glxgears/23375: fence=1029806
cmd: glxgears/23375: fence=1029807
cmd: glxgears/23375: fence=1029808
cmd: glxgears/23375: fence=1029809
cmd: glxgears/23375: fence=1029810
cmd: glxgears/23375: fence=1029811
cmd: glxgears/23375: fence=1029812
cmd: glxgears/23375: fence=1029813
cmd: glxgears/23375: fence=1029814
cmd: glxgears/23375: fence=1029815
cmd: glxgears/23375: fence=1029816
cmd: glxgears/23375: fence=1029817
cmd: glxgears/23375: fence=1029818
cmd: glxgears/23375: fence=1029819
cmd: glxgears/23375: fence=1029820
cmd: glxgears/23375: fence=1029821
cmd: glxgears/23375: fence=1029822
cmd: glxgears/23375: fence=1029823
cmd: glxgears/23375: fence=1029824
cmd: glxgears/23375: fence=1029825
cmd: glxgears/23375: fence=1029826
cmd: glxgears/23375: fence=1029827
cmd: glxgears/23375: fence=1029828
cmd: X/23360: fence=1029829
cmd: glxgears/23375: fence=1029830
cmd: glxgears/23375: fence=1029831
cmd: X/23360: fence=1029832
cmd: glxgears/23375: fence=1029833
cmd: glxgears/23375: fence=1029834
cmd: X/23360: fence=1029835
cmd: glxgears/23375: fence=1029836
cmd: glxgears/23375: fence=1029837
cmd: X/23360: fence=1029838
cmd: glxgears/23375: fence=1029839
cmd: glxgears/23375: fence=1029840
cmd: X/23360: fence=1029841
cmd: glxgears/23375: fence=1029842
cmd: glxgears/23375: fence=1029843
cmd: X/23360: fence=1029844
cmd: glxgears/23375: fence=1029845
cmd: glxgears/23375: fence=1029846
cmd: X/23360: fence=1029847