mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-19 14:20:37 +01:00
freedreno/decode: Dump filtered bindless descriptors by default
Now that we can use info from the shaders to better determine which possible interpretation of a descriptor is (or might be) used, we can dump descriptor decoding by default without causing a massive spam of incorrect/impossible descriptor decoding. The old arg is repurposed to show all descriptors (ie. the previous behavior). Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39636>
This commit is contained in:
parent
8efbe73f3f
commit
9dbdcb6d53
6 changed files with 26070 additions and 6 deletions
|
|
@ -1638,6 +1638,9 @@ static bool
|
|||
show_descriptor(uint32_t *desc, int sizedwords, int base, int idx,
|
||||
const char *domain, const char *type)
|
||||
{
|
||||
if (options->dump_all_bindless)
|
||||
return true;
|
||||
|
||||
struct rnndomain *dom = rnn_finddomain(rnn->db, domain);
|
||||
|
||||
/* Earlier gens don't have bindless, or use descriptor variants. And
|
||||
|
|
@ -1741,9 +1744,6 @@ dump_tex_const(uint32_t *texconst, int num_unit, int level)
|
|||
static void
|
||||
dump_bindless_descriptors(bool is_compute, int level)
|
||||
{
|
||||
if (!options->dump_bindless)
|
||||
return;
|
||||
|
||||
/* Skip for devices which do not support bindless: */
|
||||
if (options->info->chip < 6)
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ struct cffdec_options {
|
|||
int summary;
|
||||
int allregs;
|
||||
int dump_textures;
|
||||
int dump_bindless;
|
||||
int dump_all_bindless;
|
||||
int decode_markers;
|
||||
char *script;
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ static const struct option opts[] = {
|
|||
{ "no-pager", no_argument, &interactive, 0 },
|
||||
{ "pager", no_argument, &interactive, 1 },
|
||||
{ "textures", no_argument, &options.dump_textures, 1 },
|
||||
{ "bindless", no_argument, &options.dump_bindless, 1 },
|
||||
{ "bindless", no_argument, &options.dump_all_bindless, 1 },
|
||||
{ "show-compositor", no_argument, &show_comp, 1 },
|
||||
{ "query-all", no_argument, &options.query_mode, QUERY_ALL },
|
||||
{ "query-written", no_argument, &options.query_mode, QUERY_WRITTEN },
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ if with_tests
|
|||
|
||||
log = custom_target(name + '.log',
|
||||
output: name + '.log',
|
||||
command: [cffdump, '--unit-test', '--bindless', args, files('../tests/traces/' + name + '.rd.gz')],
|
||||
command: [cffdump, '--unit-test', args, files('../tests/traces/' + name + '.rd.gz')],
|
||||
capture: true,
|
||||
)
|
||||
test('cffdump-' + name,
|
||||
|
|
|
|||
|
|
@ -8715,6 +8715,12 @@ got cmdszdw=38
|
|||
{ NUM_INDICES = 6 }
|
||||
mode: RM6_DIRECT_RENDER
|
||||
skip_ib2: g=0, l=0
|
||||
draw[11] bindless descriptors
|
||||
set[0]:
|
||||
set[1]:
|
||||
set[2]:
|
||||
set[3]:
|
||||
set[4]:
|
||||
draw[11] register values
|
||||
!+ 000000c0 GRAS_CL_CNTL: { ZERO_GB_SCALE_Z | VP_CLIP_CODE_IGNORE }
|
||||
+ 00000000 GRAS_CL_VS_CLIP_CULL_DISTANCE: { CLIP_MASK = 0 | CULL_MASK = 0 }
|
||||
|
|
@ -9398,6 +9404,12 @@ got cmdszdw=38
|
|||
{ NUM_INDICES = 6 }
|
||||
mode: RM6_DIRECT_RENDER
|
||||
skip_ib2: g=0, l=0
|
||||
draw[15] bindless descriptors
|
||||
set[0]:
|
||||
set[1]:
|
||||
set[2]:
|
||||
set[3]:
|
||||
set[4]:
|
||||
draw[15] register values
|
||||
+ 000000c0 GRAS_CL_CNTL: { ZERO_GB_SCALE_Z | VP_CLIP_CODE_IGNORE }
|
||||
+ 00000000 GRAS_CL_VS_CLIP_CULL_DISTANCE: { CLIP_MASK = 0 | CULL_MASK = 0 }
|
||||
|
|
@ -10091,6 +10103,12 @@ got cmdszdw=38
|
|||
{ NUM_INDICES = 6 }
|
||||
mode: RM6_DIRECT_RENDER
|
||||
skip_ib2: g=0, l=0
|
||||
draw[19] bindless descriptors
|
||||
set[0]:
|
||||
set[1]:
|
||||
set[2]:
|
||||
set[3]:
|
||||
set[4]:
|
||||
draw[19] register values
|
||||
+ 000000c0 GRAS_CL_CNTL: { ZERO_GB_SCALE_Z | VP_CLIP_CODE_IGNORE }
|
||||
+ 00000000 GRAS_CL_VS_CLIP_CULL_DISTANCE: { CLIP_MASK = 0 | CULL_MASK = 0 }
|
||||
|
|
@ -10708,6 +10726,12 @@ ESTIMATED CRASH LOCATION!
|
|||
{ NUM_INDICES = 6 }
|
||||
mode: RM6_DIRECT_RENDER
|
||||
skip_ib2: g=0, l=0
|
||||
draw[20] bindless descriptors
|
||||
set[0]:
|
||||
set[1]:
|
||||
set[2]:
|
||||
set[3]:
|
||||
set[4]:
|
||||
draw[20] register values
|
||||
+ 000000c0 GRAS_CL_CNTL: { ZERO_GB_SCALE_Z | VP_CLIP_CODE_IGNORE }
|
||||
+ 00000000 GRAS_CL_VS_CLIP_CULL_DISTANCE: { CLIP_MASK = 0 | CULL_MASK = 0 }
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue