Size pixel to fetch, in bytes. Doesn't seem to be required, setting it to 0x0 seems to work ok, but may be less optimal. Pitch (actually, appears to be pitch in bytes, so really is a stride) in GMEM, so pitch of the current tile. actually, appears to be pitch in bytes, so really is a stride Z_TEST_ENABLE bit is set for zfunc other than GL_ALWAYS or GL_NEVER DEPTH_BASE is offset in GMEM to depth/stencil buffer, ie bin_w * bin_h / 1024 (possible rounded up to multiple of something?? ie. 39 becomes 40, 78 becomes 80.. 75 becomes 80.. so maybe it needs to be multiple of 8?? stride of depth/stencil buffer ??? Base address for stencil when not using interleaved depth/stencil pitch of stencil buffer when not using interleaved depth/stencil The full/half register footprint is in units of four components, so if r0.x is used, that counts as all of r0.[xyzw] as used. There are separate full/half register footprint values as the full and half registers are independent (not overlapping). Presumably the thread scheduler hardware allocates the full/half register names from the actual physical register file and handles the register renaming. These seem to be offsets for storage of the varyings. Always seems to start from 8, possibly loc 0 and 4 are for gl_Position and gl_PointSize? From register spec: SP_FS_OBJ_OFFSET_REG.CONSTOBJECTSTARTOFFSET [16:24]: Constant object start offset in on chip RAM, 128bit aligned " " " These seem to be offsets for storage of the varyings. Always seems to start from 8, possibly loc 0 and 4 are for gl_Position and gl_PointSize? " These seem to be offsets for storage of the varyings. Always seems to start from 8, possibly loc 0 and 4 are for gl_Position and gl_PointSize? " Configures the mapping between VSC_PIPE buffer and bin, X/Y specify the bin index in the horiz/vert direction (0,0 is upper left, 0,1 is leftmost bin on second row, and so on). W/H specify the number of bins assigned to this VSC_PIPE in the horiz/vert dimension. TOTALATTRTOVS is # of attributes to vertex shader, in register slots (ie. vec4+vec3 -> 7) BYPASSATTROVS seems to count varyings that are just directly assigned from attributes (ie, "vFoo = aFoo;") STRMDECINSTRCNT is # of VFD_DECODE_INSTR registers valid STRMFETCHINSTRCNT is # of VFD_FETCH_INSTR registers valid MAXSTORAGE could be # of attributes/vbo's SHIFTCNT appears to be size, ie. FLOAT_32_32_32 is 12, and BYTE_8 is 1 SIZE is current pipe width * height (in tiles) N is some sort of slot # between 0..(SIZE-1). In case multiple tiles use same pipe, each tile gets unique slot # in groups of 4x vec4, blob only uses values 0, 1, 2, 4, 6, 8 Texture sampler dwords Texture constant dwords Pitch in bytes (so actually stride) Pitch in bytes (so actually stride)