radeonsi: record and dump time of flush
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
#include "gfx9d.h"
|
#include "gfx9d.h"
|
||||||
#include "sid_tables.h"
|
#include "sid_tables.h"
|
||||||
#include "ddebug/dd_util.h"
|
#include "ddebug/dd_util.h"
|
||||||
|
#include "util/u_dump.h"
|
||||||
#include "util/u_log.h"
|
#include "util/u_log.h"
|
||||||
#include "util/u_memory.h"
|
#include "util/u_memory.h"
|
||||||
#include "ac_debug.h"
|
#include "ac_debug.h"
|
||||||
@@ -373,7 +374,9 @@ static void si_log_chunk_type_cs_print(void *data, FILE *f)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (chunk->dump_bo_list) {
|
if (chunk->dump_bo_list) {
|
||||||
fprintf(f, "Flushing.\n\n");
|
fprintf(f, "Flushing. Time: ");
|
||||||
|
util_dump_ns(f, scs->time_flush);
|
||||||
|
fprintf(f, "\n\n");
|
||||||
si_dump_bo_list(ctx, &scs->gfx, f);
|
si_dump_bo_list(ctx, &scs->gfx, f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -24,6 +24,8 @@
|
|||||||
#include "si_pipe.h"
|
#include "si_pipe.h"
|
||||||
#include "radeon/r600_cs.h"
|
#include "radeon/r600_cs.h"
|
||||||
|
|
||||||
|
#include "util/os_time.h"
|
||||||
|
|
||||||
void si_destroy_saved_cs(struct si_saved_cs *scs)
|
void si_destroy_saved_cs(struct si_saved_cs *scs)
|
||||||
{
|
{
|
||||||
si_clear_saved_cs(&scs->gfx);
|
si_clear_saved_cs(&scs->gfx);
|
||||||
@@ -120,6 +122,7 @@ void si_context_gfx_flush(void *context, unsigned flags,
|
|||||||
/* Save the IB for debug contexts. */
|
/* Save the IB for debug contexts. */
|
||||||
si_save_cs(ws, cs, &ctx->current_saved_cs->gfx, true);
|
si_save_cs(ws, cs, &ctx->current_saved_cs->gfx, true);
|
||||||
ctx->current_saved_cs->flushed = true;
|
ctx->current_saved_cs->flushed = true;
|
||||||
|
ctx->current_saved_cs->time_flush = os_time_get_nano();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Flush the CS. */
|
/* Flush the CS. */
|
||||||
|
@@ -345,6 +345,7 @@ struct si_saved_cs {
|
|||||||
|
|
||||||
unsigned gfx_last_dw;
|
unsigned gfx_last_dw;
|
||||||
bool flushed;
|
bool flushed;
|
||||||
|
int64_t time_flush;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct si_context {
|
struct si_context {
|
||||||
|
Reference in New Issue
Block a user