freedreno/cffdec: Add option to dump bindless descriptors
What does this MR do and why?
cffdump --bindless
would dump bindless descriptors. We don't know
what exactly is in the descriptors, so we dump all interpretations
for each of them.
Example:
set[1]:
UBO[0]:
{ BASE_LO = 0x23806420 }
{ BASE_HI = 0xc | SIZE = 0x2 }
STORAGE/TEXEL/IMAGE[0]:
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_Z | SWIZ_Y = A6XX_TEX_X | SWIZ_Z = A6XX_TEX_Y | SWIZ_W = A6XX_TEX_W | MIPLVLS = 0 | SAMPLES = MSAA_ONE | FMT = FMT6_R8_G8B8_2PLANE_420_UNORM | SWAP = WZYX }
{ WIDTH = 12 | HEIGHT = 8 }
{ STRUCTSIZETEXELS = 1024 | STARTOFFSETTEXELS = 0 | PITCHALIGN = 1 | PITCH = 128 | TYPE = A6XX_TEX_2D }
{ ARRAY_PITCH = 4096 | MIN_LAYERSZ = 0 }
{ BASE_LO = 0xa5000 }
{ BASE_HI = 0x1 | DEPTH = 1 }
{ MIN_LOD_CLAMP = 0.000000 | PLANE_PITCH = 128 }
{ FLAG_LO = 0xa6000 }
{ FLAG_HI = 0x1 }
{ FLAG_BUFFER_ARRAY_PITCH = 327680 | 0xa0000 }
{ FLAG_BUFFER_PITCH = 64 | FLAG_BUFFER_LOGW = 0 | FLAG_BUFFER_LOGH = 0 }
{ 11 = 0 }
{ 12 = 0 }
{ 13 = 0 }
{ 14 = 0 }
{ 15 = 0 }
SAMPLER[0]:
{ XY_MAG = A6XX_TEX_NEAREST | XY_MIN = A6XX_TEX_NEAREST | WRAP_S = A6XX_TEX_CLAMP_TO_EDGE | WRAP_T = A6XX_TEX_MIRROR_CLAMP | WRAP_R = A6XX_TEX_MIRROR_CLAMP | ANISO = A6XX_TEX_ANISO_2 | LOD_BIAS = 4.437500 }
{ COMPARE_FUNC = FUNC_GEQUAL | MAX_LOD = 4.000000 | MIN_LOD = 0.000000 }
{ REDUCTION_MODE = A6XX_REDUCTION_MODE_MIN | BCOLOR = 0x400080 }
{ 3 = 0x1 }