intel/decoder: add options to decode surfaces/samplers

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24632>
This commit is contained in:
Lionel Landwerlin
2023-08-01 23:16:43 +03:00
committed by Marge Bot
parent cf5ee0a0f7
commit eef54f3175
6 changed files with 22 additions and 21 deletions
+5 -2
View File
@@ -34,6 +34,7 @@ static const struct debug_control debug_control[] = {
{ "full", INTEL_BATCH_DECODE_FULL },
{ "offsets", INTEL_BATCH_DECODE_OFFSETS },
{ "floats", INTEL_BATCH_DECODE_FLOATS },
{ "surfaces", INTEL_BATCH_DECODE_SURFACES },
{ NULL, 0 }
};
@@ -356,7 +357,8 @@ dump_binding_table(struct intel_batch_decode_ctx *ctx,
}
fprintf(ctx->fp, "pointer %u: 0x%08x\n", i, pointers[i]);
ctx_print_group(ctx, strct, addr, bo.map + (addr - bo.addr));
if (ctx->flags & INTEL_BATCH_DECODE_SURFACES)
ctx_print_group(ctx, strct, addr, bo.map + (addr - bo.addr));
}
}
@@ -391,7 +393,8 @@ dump_samplers(struct intel_batch_decode_ctx *ctx, uint32_t offset, int count)
for (int i = 0; i < count; i++) {
fprintf(ctx->fp, "sampler state %d\n", i);
ctx_print_group(ctx, strct, state_addr, state_map);
if (ctx->flags & INTEL_BATCH_DECODE_SAMPLERS)
ctx_print_group(ctx, strct, state_addr, state_map);
state_addr += sampler_state_size;
state_map += sampler_state_size;
}
+11
View File
@@ -216,8 +216,19 @@ enum intel_batch_decode_flags {
INTEL_BATCH_DECODE_OFFSETS = (1 << 2),
/** Guess when a value is a float and print it as such */
INTEL_BATCH_DECODE_FLOATS = (1 << 3),
/** Print surface states */
INTEL_BATCH_DECODE_SURFACES = (1 << 4),
/** Print sampler states */
INTEL_BATCH_DECODE_SAMPLERS = (1 << 5),
};
#define INTEL_BATCH_DECODE_DEFAULT_FLAGS \
(INTEL_BATCH_DECODE_FULL | \
INTEL_BATCH_DECODE_OFFSETS | \
INTEL_BATCH_DECODE_FLOATS | \
INTEL_BATCH_DECODE_SURFACES | \
INTEL_BATCH_DECODE_SAMPLERS)
struct intel_batch_decode_bo {
uint64_t addr;
uint32_t size;