radeonsi: move descriptor logs to after corresponding draw/compute packet

It has to happen after descriptor uploads since otherwise we'll print out
the wrong GPU list / incorrectly claim descriptor corruption.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Nicolai Hähnle 2017-09-23 22:34:10 +02:00
parent 9ddc6e16a9
commit 4ed419328d
2 changed files with 6 additions and 8 deletions

View File

@ -806,9 +806,6 @@ static void si_launch_grid(
si_need_cs_space(sctx);
if (sctx->b.log)
si_log_compute_state(sctx, sctx->b.log);
if (!sctx->cs_shader_state.initialized)
si_initialize_compute(sctx);
@ -851,8 +848,10 @@ static void si_launch_grid(
si_emit_dispatch_packets(sctx, info);
if (unlikely(sctx->current_saved_cs))
if (unlikely(sctx->current_saved_cs)) {
si_trace_emit(sctx);
si_log_compute_state(sctx, sctx->b.log);
}
sctx->compute_is_busy = true;
sctx->b.num_compute_calls++;

View File

@ -1376,9 +1376,6 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
si_need_cs_space(sctx);
if (unlikely(sctx->b.log))
si_log_draw_state(sctx, sctx->b.log);
/* Since we've called r600_context_add_resource_size for vertex buffers,
* this must be called after si_need_cs_space, because we must let
* need_cs_space flush before we add buffers to the buffer list.
@ -1454,8 +1451,10 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
si_emit_draw_packets(sctx, info, indexbuf, index_size, index_offset);
}
if (unlikely(sctx->current_saved_cs))
if (unlikely(sctx->current_saved_cs)) {
si_trace_emit(sctx);
si_log_draw_state(sctx, sctx->b.log);
}
/* Workaround for a VGT hang when streamout is enabled.
* It must be done after drawing. */