if (INTEL_DEBUG(DEBUG_BATCH)) {
batch->state_sizes = _mesa_hash_table_u64_create(NULL);
- const unsigned decode_flags =
- INTEL_BATCH_DECODE_FULL |
- (INTEL_DEBUG(DEBUG_COLOR) ? INTEL_BATCH_DECODE_IN_COLOR : 0) |
- INTEL_BATCH_DECODE_OFFSETS | INTEL_BATCH_DECODE_FLOATS;
+ const unsigned decode_flags = INTEL_BATCH_DECODE_DEFAULT_FLAGS |
+ (INTEL_DEBUG(DEBUG_COLOR) ? INTEL_BATCH_DECODE_IN_COLOR : 0);
intel_batch_decode_ctx_init(&batch->decoder, &screen->compiler->isa,
&screen->devinfo, stderr,
}
if (INTEL_DEBUG(DEBUG_ANY)) {
- const unsigned decode_flags =
- INTEL_BATCH_DECODE_FULL |
- (INTEL_DEBUG(DEBUG_COLOR) ? INTEL_BATCH_DECODE_IN_COLOR : 0) |
- INTEL_BATCH_DECODE_OFFSETS |
- INTEL_BATCH_DECODE_FLOATS;
+ const unsigned decode_flags = INTEL_BATCH_DECODE_DEFAULT_FLAGS |
+ (INTEL_DEBUG(DEBUG_COLOR) ? INTEL_BATCH_DECODE_IN_COLOR : 0);
intel_batch_decode_ctx_init(&batch->decoder, &screen->compiler->isa,
screen->devinfo,
{ "full", INTEL_BATCH_DECODE_FULL },
{ "offsets", INTEL_BATCH_DECODE_OFFSETS },
{ "floats", INTEL_BATCH_DECODE_FLOATS },
+ { "surfaces", INTEL_BATCH_DECODE_SURFACES },
{ NULL, 0 }
};
}
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));
}
}
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;
}
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;
for (unsigned i = 0; i < physical_device->queue.family_count; i++) {
struct intel_batch_decode_ctx *decoder = &device->decoder[i];
- const unsigned decode_flags =
- INTEL_BATCH_DECODE_FULL |
- (INTEL_DEBUG(DEBUG_COLOR) ? INTEL_BATCH_DECODE_IN_COLOR : 0) |
- INTEL_BATCH_DECODE_OFFSETS |
- INTEL_BATCH_DECODE_FLOATS;
+ const unsigned decode_flags = INTEL_BATCH_DECODE_DEFAULT_FLAGS;
intel_batch_decode_ctx_init(decoder,
&physical_device->compiler->isa,
goto fail_alloc;
if (INTEL_DEBUG(DEBUG_BATCH)) {
- const unsigned decode_flags =
- INTEL_BATCH_DECODE_FULL |
- (INTEL_DEBUG(DEBUG_COLOR) ? INTEL_BATCH_DECODE_IN_COLOR : 0) |
- INTEL_BATCH_DECODE_OFFSETS |
- INTEL_BATCH_DECODE_FLOATS;
+ const unsigned decode_flags = INTEL_BATCH_DECODE_DEFAULT_FLAGS;
intel_batch_decode_ctx_init(&device->decoder_ctx,
&physical_device->compiler->isa,