u_trace/anv/iris: drop cs argument for recording traces
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16605>
This commit is contained in:
parent
12773d4070
commit
1c077ca9c0
|
@ -708,7 +708,7 @@ iris_finish_batch(struct iris_batch *batch)
|
||||||
|
|
||||||
finish_seqno(batch);
|
finish_seqno(batch);
|
||||||
|
|
||||||
trace_intel_end_batch(&batch->trace, batch, batch->name);
|
trace_intel_end_batch(&batch->trace, batch->name);
|
||||||
|
|
||||||
/* Emit MI_BATCH_BUFFER_END to finish our batch. */
|
/* Emit MI_BATCH_BUFFER_END to finish our batch. */
|
||||||
uint32_t *map = batch->map_next;
|
uint32_t *map = batch->map_next;
|
||||||
|
|
|
@ -253,7 +253,7 @@ iris_get_command_space(struct iris_batch *batch, unsigned bytes)
|
||||||
{
|
{
|
||||||
if (!batch->begin_trace_recorded) {
|
if (!batch->begin_trace_recorded) {
|
||||||
batch->begin_trace_recorded = true;
|
batch->begin_trace_recorded = true;
|
||||||
trace_intel_begin_batch(&batch->trace, batch);
|
trace_intel_begin_batch(&batch->trace);
|
||||||
}
|
}
|
||||||
iris_require_command_space(batch, bytes);
|
iris_require_command_space(batch, bytes);
|
||||||
void *map = batch->map_next;
|
void *map = batch->map_next;
|
||||||
|
|
|
@ -453,7 +453,7 @@ blorp_measure_start(struct blorp_batch *blorp_batch,
|
||||||
struct iris_context *ice = blorp_batch->blorp->driver_ctx;
|
struct iris_context *ice = blorp_batch->blorp->driver_ctx;
|
||||||
struct iris_batch *batch = blorp_batch->driver_batch;
|
struct iris_batch *batch = blorp_batch->driver_batch;
|
||||||
|
|
||||||
trace_intel_begin_blorp(&batch->trace, batch);
|
trace_intel_begin_blorp(&batch->trace);
|
||||||
|
|
||||||
if (batch->measure == NULL)
|
if (batch->measure == NULL)
|
||||||
return;
|
return;
|
||||||
|
@ -468,7 +468,7 @@ blorp_measure_end(struct blorp_batch *blorp_batch,
|
||||||
{
|
{
|
||||||
struct iris_batch *batch = blorp_batch->driver_batch;
|
struct iris_batch *batch = blorp_batch->driver_batch;
|
||||||
|
|
||||||
trace_intel_end_blorp(&batch->trace, batch,
|
trace_intel_end_blorp(&batch->trace,
|
||||||
params->x1 - params->x0,
|
params->x1 - params->x0,
|
||||||
params->y1 - params->y0,
|
params->y1 - params->y0,
|
||||||
params->hiz_op,
|
params->hiz_op,
|
||||||
|
|
|
@ -6067,7 +6067,7 @@ iris_upload_dirty_render_state(struct iris_context *ice,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dirty & IRIS_DIRTY_RENDER_BUFFER)
|
if (dirty & IRIS_DIRTY_RENDER_BUFFER)
|
||||||
trace_framebuffer_state(&batch->trace, batch, &ice->state.framebuffer);
|
trace_framebuffer_state(&batch->trace, NULL, &ice->state.framebuffer);
|
||||||
|
|
||||||
for (int stage = 0; stage <= MESA_SHADER_FRAGMENT; stage++) {
|
for (int stage = 0; stage <= MESA_SHADER_FRAGMENT; stage++) {
|
||||||
if (stage_dirty & (IRIS_STAGE_DIRTY_BINDINGS_VS << stage)) {
|
if (stage_dirty & (IRIS_STAGE_DIRTY_BINDINGS_VS << stage)) {
|
||||||
|
@ -6860,7 +6860,7 @@ iris_upload_render_state(struct iris_context *ice,
|
||||||
{
|
{
|
||||||
bool use_predicate = ice->state.predicate == IRIS_PREDICATE_STATE_USE_BIT;
|
bool use_predicate = ice->state.predicate == IRIS_PREDICATE_STATE_USE_BIT;
|
||||||
|
|
||||||
trace_intel_begin_draw(&batch->trace, batch);
|
trace_intel_begin_draw(&batch->trace);
|
||||||
|
|
||||||
if (ice->state.dirty & IRIS_DIRTY_VERTEX_BUFFER_FLUSHES)
|
if (ice->state.dirty & IRIS_DIRTY_VERTEX_BUFFER_FLUSHES)
|
||||||
flush_vbos(ice, batch);
|
flush_vbos(ice, batch);
|
||||||
|
@ -7074,7 +7074,7 @@ iris_upload_render_state(struct iris_context *ice,
|
||||||
|
|
||||||
iris_batch_sync_region_end(batch);
|
iris_batch_sync_region_end(batch);
|
||||||
|
|
||||||
trace_intel_end_draw(&batch->trace, batch, 0);
|
trace_intel_end_draw(&batch->trace, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -7119,7 +7119,7 @@ iris_upload_compute_walker(struct iris_context *ice,
|
||||||
const struct brw_cs_dispatch_info dispatch =
|
const struct brw_cs_dispatch_info dispatch =
|
||||||
brw_cs_get_dispatch_info(devinfo, cs_prog_data, grid->block);
|
brw_cs_get_dispatch_info(devinfo, cs_prog_data, grid->block);
|
||||||
|
|
||||||
trace_intel_begin_compute(&batch->trace, batch);
|
trace_intel_begin_compute(&batch->trace);
|
||||||
|
|
||||||
if (stage_dirty & IRIS_STAGE_DIRTY_CS) {
|
if (stage_dirty & IRIS_STAGE_DIRTY_CS) {
|
||||||
iris_emit_cmd(batch, GENX(CFE_STATE), cfe) {
|
iris_emit_cmd(batch, GENX(CFE_STATE), cfe) {
|
||||||
|
@ -7160,7 +7160,7 @@ iris_upload_compute_walker(struct iris_context *ice,
|
||||||
assert(brw_cs_push_const_total_size(cs_prog_data, dispatch.threads) == 0);
|
assert(brw_cs_push_const_total_size(cs_prog_data, dispatch.threads) == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
trace_intel_end_compute(&batch->trace, batch, grid->grid[0], grid->grid[1], grid->grid[2]);
|
trace_intel_end_compute(&batch->trace, grid->grid[0], grid->grid[1], grid->grid[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* #if GFX_VERx10 >= 125 */
|
#else /* #if GFX_VERx10 >= 125 */
|
||||||
|
@ -7184,7 +7184,7 @@ iris_upload_gpgpu_walker(struct iris_context *ice,
|
||||||
const struct brw_cs_dispatch_info dispatch =
|
const struct brw_cs_dispatch_info dispatch =
|
||||||
brw_cs_get_dispatch_info(devinfo, cs_prog_data, grid->block);
|
brw_cs_get_dispatch_info(devinfo, cs_prog_data, grid->block);
|
||||||
|
|
||||||
trace_intel_begin_compute(&batch->trace, batch);
|
trace_intel_begin_compute(&batch->trace);
|
||||||
|
|
||||||
if ((stage_dirty & IRIS_STAGE_DIRTY_CS) ||
|
if ((stage_dirty & IRIS_STAGE_DIRTY_CS) ||
|
||||||
cs_prog_data->local_size[0] == 0 /* Variable local group size */) {
|
cs_prog_data->local_size[0] == 0 /* Variable local group size */) {
|
||||||
|
@ -7312,7 +7312,7 @@ iris_upload_gpgpu_walker(struct iris_context *ice,
|
||||||
|
|
||||||
iris_emit_cmd(batch, GENX(MEDIA_STATE_FLUSH), msf);
|
iris_emit_cmd(batch, GENX(MEDIA_STATE_FLUSH), msf);
|
||||||
|
|
||||||
trace_intel_end_compute(&batch->trace, batch, grid->grid[0], grid->grid[1], grid->grid[2]);
|
trace_intel_end_compute(&batch->trace, grid->grid[0], grid->grid[1], grid->grid[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* #if GFX_VERx10 >= 125 */
|
#endif /* #if GFX_VERx10 >= 125 */
|
||||||
|
@ -8143,7 +8143,7 @@ iris_emit_raw_pipe_control(struct iris_batch *batch,
|
||||||
(flags & (PIPE_CONTROL_CACHE_FLUSH_BITS | PIPE_CONTROL_CACHE_INVALIDATE_BITS)) != 0;
|
(flags & (PIPE_CONTROL_CACHE_FLUSH_BITS | PIPE_CONTROL_CACHE_INVALIDATE_BITS)) != 0;
|
||||||
|
|
||||||
if (trace_pc)
|
if (trace_pc)
|
||||||
trace_intel_begin_stall(&batch->trace, batch);
|
trace_intel_begin_stall(&batch->trace);
|
||||||
|
|
||||||
iris_emit_cmd(batch, GENX(PIPE_CONTROL), pc) {
|
iris_emit_cmd(batch, GENX(PIPE_CONTROL), pc) {
|
||||||
#if GFX_VERx10 >= 125
|
#if GFX_VERx10 >= 125
|
||||||
|
@ -8191,7 +8191,7 @@ iris_emit_raw_pipe_control(struct iris_batch *batch,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (trace_pc) {
|
if (trace_pc) {
|
||||||
trace_intel_end_stall(&batch->trace, batch, flags,
|
trace_intel_end_stall(&batch->trace, flags,
|
||||||
iris_utrace_pipe_flush_bit_to_ds_stall_flag,
|
iris_utrace_pipe_flush_bit_to_ds_stall_flag,
|
||||||
reason);
|
reason);
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,11 +40,11 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
static void
|
static void
|
||||||
iris_utrace_record_ts(struct u_trace *trace, void *_batch,
|
iris_utrace_record_ts(struct u_trace *trace, void *cs,
|
||||||
void *timestamps, unsigned idx,
|
void *timestamps, unsigned idx,
|
||||||
bool end_of_pipe)
|
bool end_of_pipe)
|
||||||
{
|
{
|
||||||
struct iris_batch *batch = _batch;
|
struct iris_batch *batch = container_of(trace, struct iris_batch, trace);
|
||||||
struct iris_resource *res = (void *) timestamps;
|
struct iris_resource *res = (void *) timestamps;
|
||||||
struct iris_bo *bo = res->bo;
|
struct iris_bo *bo = res->bo;
|
||||||
|
|
||||||
|
|
|
@ -152,7 +152,8 @@ def generate_code(args):
|
||||||
from u_trace import utrace_generate_perfetto_utils
|
from u_trace import utrace_generate_perfetto_utils
|
||||||
|
|
||||||
utrace_generate(cpath=args.utrace_src, hpath=args.utrace_hdr,
|
utrace_generate(cpath=args.utrace_src, hpath=args.utrace_hdr,
|
||||||
ctx_param='struct intel_ds_device *dev')
|
ctx_param='struct intel_ds_device *dev',
|
||||||
|
need_cs_param=False)
|
||||||
utrace_generate_perfetto_utils(hpath=args.perfetto_hdr)
|
utrace_generate_perfetto_utils(hpath=args.perfetto_hdr)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -220,10 +220,12 @@ anv_utrace_destroy_ts_buffer(struct u_trace_context *utctx, void *timestamps)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
anv_utrace_record_ts(struct u_trace *ut, void *cs, void *timestamps, unsigned idx,
|
anv_utrace_record_ts(struct u_trace *ut, void *cs,
|
||||||
|
void *timestamps, unsigned idx,
|
||||||
bool end_of_pipe)
|
bool end_of_pipe)
|
||||||
{
|
{
|
||||||
struct anv_cmd_buffer *cmd_buffer = cs;
|
struct anv_cmd_buffer *cmd_buffer =
|
||||||
|
container_of(ut, struct anv_cmd_buffer, trace);
|
||||||
struct anv_device *device = cmd_buffer->device;
|
struct anv_device *device = cmd_buffer->device;
|
||||||
struct anv_bo *bo = timestamps;
|
struct anv_bo *bo = timestamps;
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ static void blorp_measure_start(struct blorp_batch *_batch,
|
||||||
const struct blorp_params *params)
|
const struct blorp_params *params)
|
||||||
{
|
{
|
||||||
struct anv_cmd_buffer *cmd_buffer = _batch->driver_batch;
|
struct anv_cmd_buffer *cmd_buffer = _batch->driver_batch;
|
||||||
trace_intel_begin_blorp(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_blorp(&cmd_buffer->trace);
|
||||||
anv_measure_snapshot(cmd_buffer,
|
anv_measure_snapshot(cmd_buffer,
|
||||||
params->snapshot_type,
|
params->snapshot_type,
|
||||||
NULL, 0);
|
NULL, 0);
|
||||||
|
@ -50,7 +50,7 @@ static void blorp_measure_end(struct blorp_batch *_batch,
|
||||||
const struct blorp_params *params)
|
const struct blorp_params *params)
|
||||||
{
|
{
|
||||||
struct anv_cmd_buffer *cmd_buffer = _batch->driver_batch;
|
struct anv_cmd_buffer *cmd_buffer = _batch->driver_batch;
|
||||||
trace_intel_end_blorp(&cmd_buffer->trace, cmd_buffer,
|
trace_intel_end_blorp(&cmd_buffer->trace,
|
||||||
params->x1 - params->x0,
|
params->x1 - params->x0,
|
||||||
params->y1 - params->y0,
|
params->y1 - params->y0,
|
||||||
params->hiz_op,
|
params->hiz_op,
|
||||||
|
|
|
@ -1646,7 +1646,7 @@ genX(BeginCommandBuffer)(
|
||||||
if (cmd_buffer->vk.level == VK_COMMAND_BUFFER_LEVEL_PRIMARY)
|
if (cmd_buffer->vk.level == VK_COMMAND_BUFFER_LEVEL_PRIMARY)
|
||||||
cmd_buffer->usage_flags &= ~VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT;
|
cmd_buffer->usage_flags &= ~VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT;
|
||||||
|
|
||||||
trace_intel_begin_cmd_buffer(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_cmd_buffer(&cmd_buffer->trace);
|
||||||
|
|
||||||
genX(cmd_buffer_emit_state_base_address)(cmd_buffer);
|
genX(cmd_buffer_emit_state_base_address)(cmd_buffer);
|
||||||
|
|
||||||
|
@ -1887,8 +1887,7 @@ genX(EndCommandBuffer)(
|
||||||
|
|
||||||
emit_isp_disable(cmd_buffer);
|
emit_isp_disable(cmd_buffer);
|
||||||
|
|
||||||
trace_intel_end_cmd_buffer(&cmd_buffer->trace, cmd_buffer,
|
trace_intel_end_cmd_buffer(&cmd_buffer->trace, cmd_buffer->vk.level);
|
||||||
cmd_buffer->vk.level);
|
|
||||||
|
|
||||||
anv_cmd_buffer_end_batch_buffer(cmd_buffer);
|
anv_cmd_buffer_end_batch_buffer(cmd_buffer);
|
||||||
|
|
||||||
|
@ -2367,7 +2366,7 @@ genX(cmd_buffer_apply_pipe_flushes)(struct anv_cmd_buffer *cmd_buffer)
|
||||||
bool trace_flush =
|
bool trace_flush =
|
||||||
(bits & (ANV_PIPE_FLUSH_BITS | ANV_PIPE_STALL_BITS | ANV_PIPE_INVALIDATE_BITS)) != 0;
|
(bits & (ANV_PIPE_FLUSH_BITS | ANV_PIPE_STALL_BITS | ANV_PIPE_INVALIDATE_BITS)) != 0;
|
||||||
if (trace_flush)
|
if (trace_flush)
|
||||||
trace_intel_begin_stall(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_stall(&cmd_buffer->trace);
|
||||||
|
|
||||||
if ((GFX_VER >= 8 && GFX_VER <= 9) &&
|
if ((GFX_VER >= 8 && GFX_VER <= 9) &&
|
||||||
(bits & ANV_PIPE_CS_STALL_BIT) &&
|
(bits & ANV_PIPE_CS_STALL_BIT) &&
|
||||||
|
@ -2388,7 +2387,7 @@ genX(cmd_buffer_apply_pipe_flushes)(struct anv_cmd_buffer *cmd_buffer)
|
||||||
bits);
|
bits);
|
||||||
|
|
||||||
if (trace_flush) {
|
if (trace_flush) {
|
||||||
trace_intel_end_stall(&cmd_buffer->trace, cmd_buffer, bits,
|
trace_intel_end_stall(&cmd_buffer->trace, bits,
|
||||||
anv_pipe_flush_bit_to_ds_stall_flag, NULL);
|
anv_pipe_flush_bit_to_ds_stall_flag, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4222,7 +4221,7 @@ void genX(CmdDraw)(
|
||||||
anv_measure_snapshot(cmd_buffer,
|
anv_measure_snapshot(cmd_buffer,
|
||||||
INTEL_SNAPSHOT_DRAW,
|
INTEL_SNAPSHOT_DRAW,
|
||||||
"draw", count);
|
"draw", count);
|
||||||
trace_intel_begin_draw(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_draw(&cmd_buffer->trace);
|
||||||
|
|
||||||
genX(cmd_buffer_flush_state)(cmd_buffer);
|
genX(cmd_buffer_flush_state)(cmd_buffer);
|
||||||
|
|
||||||
|
@ -4252,7 +4251,7 @@ void genX(CmdDraw)(
|
||||||
|
|
||||||
update_dirty_vbs_for_gfx8_vb_flush(cmd_buffer, SEQUENTIAL);
|
update_dirty_vbs_for_gfx8_vb_flush(cmd_buffer, SEQUENTIAL);
|
||||||
|
|
||||||
trace_intel_end_draw(&cmd_buffer->trace, cmd_buffer, count);
|
trace_intel_end_draw(&cmd_buffer->trace, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void genX(CmdDrawMultiEXT)(
|
void genX(CmdDrawMultiEXT)(
|
||||||
|
@ -4277,7 +4276,7 @@ void genX(CmdDrawMultiEXT)(
|
||||||
anv_measure_snapshot(cmd_buffer,
|
anv_measure_snapshot(cmd_buffer,
|
||||||
INTEL_SNAPSHOT_DRAW,
|
INTEL_SNAPSHOT_DRAW,
|
||||||
"draw_multi", count);
|
"draw_multi", count);
|
||||||
trace_intel_begin_draw_multi(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_draw_multi(&cmd_buffer->trace);
|
||||||
|
|
||||||
genX(cmd_buffer_flush_state)(cmd_buffer);
|
genX(cmd_buffer_flush_state)(cmd_buffer);
|
||||||
|
|
||||||
|
@ -4310,7 +4309,7 @@ void genX(CmdDrawMultiEXT)(
|
||||||
|
|
||||||
update_dirty_vbs_for_gfx8_vb_flush(cmd_buffer, SEQUENTIAL);
|
update_dirty_vbs_for_gfx8_vb_flush(cmd_buffer, SEQUENTIAL);
|
||||||
|
|
||||||
trace_intel_end_draw_multi(&cmd_buffer->trace, cmd_buffer, count);
|
trace_intel_end_draw_multi(&cmd_buffer->trace, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void genX(CmdDrawIndexed)(
|
void genX(CmdDrawIndexed)(
|
||||||
|
@ -4336,7 +4335,7 @@ void genX(CmdDrawIndexed)(
|
||||||
INTEL_SNAPSHOT_DRAW,
|
INTEL_SNAPSHOT_DRAW,
|
||||||
"draw indexed",
|
"draw indexed",
|
||||||
count);
|
count);
|
||||||
trace_intel_begin_draw_indexed(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_draw_indexed(&cmd_buffer->trace);
|
||||||
|
|
||||||
genX(cmd_buffer_flush_state)(cmd_buffer);
|
genX(cmd_buffer_flush_state)(cmd_buffer);
|
||||||
|
|
||||||
|
@ -4364,7 +4363,7 @@ void genX(CmdDrawIndexed)(
|
||||||
|
|
||||||
update_dirty_vbs_for_gfx8_vb_flush(cmd_buffer, RANDOM);
|
update_dirty_vbs_for_gfx8_vb_flush(cmd_buffer, RANDOM);
|
||||||
|
|
||||||
trace_intel_end_draw_indexed(&cmd_buffer->trace, cmd_buffer, count);
|
trace_intel_end_draw_indexed(&cmd_buffer->trace, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void genX(CmdDrawMultiIndexedEXT)(
|
void genX(CmdDrawMultiIndexedEXT)(
|
||||||
|
@ -4391,7 +4390,7 @@ void genX(CmdDrawMultiIndexedEXT)(
|
||||||
INTEL_SNAPSHOT_DRAW,
|
INTEL_SNAPSHOT_DRAW,
|
||||||
"draw indexed_multi",
|
"draw indexed_multi",
|
||||||
count);
|
count);
|
||||||
trace_intel_begin_draw_indexed_multi(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_draw_indexed_multi(&cmd_buffer->trace);
|
||||||
|
|
||||||
genX(cmd_buffer_flush_state)(cmd_buffer);
|
genX(cmd_buffer_flush_state)(cmd_buffer);
|
||||||
|
|
||||||
|
@ -4479,7 +4478,7 @@ void genX(CmdDrawMultiIndexedEXT)(
|
||||||
|
|
||||||
update_dirty_vbs_for_gfx8_vb_flush(cmd_buffer, RANDOM);
|
update_dirty_vbs_for_gfx8_vb_flush(cmd_buffer, RANDOM);
|
||||||
|
|
||||||
trace_intel_end_draw_indexed_multi(&cmd_buffer->trace, cmd_buffer, count);
|
trace_intel_end_draw_indexed_multi(&cmd_buffer->trace, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Auto-Draw / Indirect Registers */
|
/* Auto-Draw / Indirect Registers */
|
||||||
|
@ -4515,7 +4514,7 @@ void genX(CmdDrawIndirectByteCountEXT)(
|
||||||
INTEL_SNAPSHOT_DRAW,
|
INTEL_SNAPSHOT_DRAW,
|
||||||
"draw indirect byte count",
|
"draw indirect byte count",
|
||||||
instanceCount);
|
instanceCount);
|
||||||
trace_intel_begin_draw_indirect_byte_count(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_draw_indirect_byte_count(&cmd_buffer->trace);
|
||||||
|
|
||||||
genX(cmd_buffer_flush_state)(cmd_buffer);
|
genX(cmd_buffer_flush_state)(cmd_buffer);
|
||||||
|
|
||||||
|
@ -4563,8 +4562,7 @@ void genX(CmdDrawIndirectByteCountEXT)(
|
||||||
|
|
||||||
update_dirty_vbs_for_gfx8_vb_flush(cmd_buffer, SEQUENTIAL);
|
update_dirty_vbs_for_gfx8_vb_flush(cmd_buffer, SEQUENTIAL);
|
||||||
|
|
||||||
trace_intel_end_draw_indirect_byte_count(&cmd_buffer->trace, cmd_buffer,
|
trace_intel_end_draw_indirect_byte_count(&cmd_buffer->trace, instanceCount);
|
||||||
instanceCount);
|
|
||||||
#endif /* GFX_VERx10 >= 75 */
|
#endif /* GFX_VERx10 >= 75 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4625,7 +4623,7 @@ void genX(CmdDrawIndirect)(
|
||||||
INTEL_SNAPSHOT_DRAW,
|
INTEL_SNAPSHOT_DRAW,
|
||||||
"draw indirect",
|
"draw indirect",
|
||||||
drawCount);
|
drawCount);
|
||||||
trace_intel_begin_draw_indirect(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_draw_indirect(&cmd_buffer->trace);
|
||||||
|
|
||||||
genX(cmd_buffer_flush_state)(cmd_buffer);
|
genX(cmd_buffer_flush_state)(cmd_buffer);
|
||||||
|
|
||||||
|
@ -4660,7 +4658,7 @@ void genX(CmdDrawIndirect)(
|
||||||
offset += stride;
|
offset += stride;
|
||||||
}
|
}
|
||||||
|
|
||||||
trace_intel_end_draw_indirect(&cmd_buffer->trace, cmd_buffer, drawCount);
|
trace_intel_end_draw_indirect(&cmd_buffer->trace, drawCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
void genX(CmdDrawIndexedIndirect)(
|
void genX(CmdDrawIndexedIndirect)(
|
||||||
|
@ -4682,7 +4680,7 @@ void genX(CmdDrawIndexedIndirect)(
|
||||||
INTEL_SNAPSHOT_DRAW,
|
INTEL_SNAPSHOT_DRAW,
|
||||||
"draw indexed indirect",
|
"draw indexed indirect",
|
||||||
drawCount);
|
drawCount);
|
||||||
trace_intel_begin_draw_indexed_indirect(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_draw_indexed_indirect(&cmd_buffer->trace);
|
||||||
|
|
||||||
genX(cmd_buffer_flush_state)(cmd_buffer);
|
genX(cmd_buffer_flush_state)(cmd_buffer);
|
||||||
|
|
||||||
|
@ -4718,7 +4716,7 @@ void genX(CmdDrawIndexedIndirect)(
|
||||||
offset += stride;
|
offset += stride;
|
||||||
}
|
}
|
||||||
|
|
||||||
trace_intel_end_draw_indexed_indirect(&cmd_buffer->trace, cmd_buffer, drawCount);
|
trace_intel_end_draw_indexed_indirect(&cmd_buffer->trace, drawCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct mi_value
|
static struct mi_value
|
||||||
|
@ -4849,7 +4847,7 @@ void genX(CmdDrawIndirectCount)(
|
||||||
INTEL_SNAPSHOT_DRAW,
|
INTEL_SNAPSHOT_DRAW,
|
||||||
"draw indirect count",
|
"draw indirect count",
|
||||||
0);
|
0);
|
||||||
trace_intel_begin_draw_indirect_count(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_draw_indirect_count(&cmd_buffer->trace);
|
||||||
|
|
||||||
genX(cmd_buffer_flush_state)(cmd_buffer);
|
genX(cmd_buffer_flush_state)(cmd_buffer);
|
||||||
|
|
||||||
|
@ -4891,7 +4889,7 @@ void genX(CmdDrawIndirectCount)(
|
||||||
|
|
||||||
mi_value_unref(&b, max);
|
mi_value_unref(&b, max);
|
||||||
|
|
||||||
trace_intel_end_draw_indirect_count(&cmd_buffer->trace, cmd_buffer, maxDrawCount);
|
trace_intel_end_draw_indirect_count(&cmd_buffer->trace, maxDrawCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
void genX(CmdDrawIndexedIndirectCount)(
|
void genX(CmdDrawIndexedIndirectCount)(
|
||||||
|
@ -4917,7 +4915,7 @@ void genX(CmdDrawIndexedIndirectCount)(
|
||||||
INTEL_SNAPSHOT_DRAW,
|
INTEL_SNAPSHOT_DRAW,
|
||||||
"draw indexed indirect count",
|
"draw indexed indirect count",
|
||||||
0);
|
0);
|
||||||
trace_intel_begin_draw_indexed_indirect_count(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_draw_indexed_indirect_count(&cmd_buffer->trace);
|
||||||
|
|
||||||
genX(cmd_buffer_flush_state)(cmd_buffer);
|
genX(cmd_buffer_flush_state)(cmd_buffer);
|
||||||
|
|
||||||
|
@ -4960,8 +4958,7 @@ void genX(CmdDrawIndexedIndirectCount)(
|
||||||
|
|
||||||
mi_value_unref(&b, max);
|
mi_value_unref(&b, max);
|
||||||
|
|
||||||
trace_intel_end_draw_indexed_indirect_count(&cmd_buffer->trace,
|
trace_intel_end_draw_indexed_indirect_count(&cmd_buffer->trace, maxDrawCount);
|
||||||
cmd_buffer, maxDrawCount);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5492,7 +5489,7 @@ void genX(CmdDispatchBase)(
|
||||||
prog_data->local_size[0] * prog_data->local_size[1] *
|
prog_data->local_size[0] * prog_data->local_size[1] *
|
||||||
prog_data->local_size[2]);
|
prog_data->local_size[2]);
|
||||||
|
|
||||||
trace_intel_begin_compute(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_compute(&cmd_buffer->trace);
|
||||||
|
|
||||||
if (prog_data->uses_num_work_groups) {
|
if (prog_data->uses_num_work_groups) {
|
||||||
struct anv_state state =
|
struct anv_state state =
|
||||||
|
@ -5518,7 +5515,7 @@ void genX(CmdDispatchBase)(
|
||||||
emit_cs_walker(cmd_buffer, pipeline, false, prog_data, groupCountX,
|
emit_cs_walker(cmd_buffer, pipeline, false, prog_data, groupCountX,
|
||||||
groupCountY, groupCountZ);
|
groupCountY, groupCountZ);
|
||||||
|
|
||||||
trace_intel_end_compute(&cmd_buffer->trace, cmd_buffer,
|
trace_intel_end_compute(&cmd_buffer->trace,
|
||||||
groupCountX, groupCountY, groupCountZ);
|
groupCountX, groupCountY, groupCountZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5553,7 +5550,7 @@ void genX(CmdDispatchIndirect)(
|
||||||
INTEL_SNAPSHOT_COMPUTE,
|
INTEL_SNAPSHOT_COMPUTE,
|
||||||
"compute indirect",
|
"compute indirect",
|
||||||
0);
|
0);
|
||||||
trace_intel_begin_compute(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_compute(&cmd_buffer->trace);
|
||||||
|
|
||||||
if (prog_data->uses_num_work_groups) {
|
if (prog_data->uses_num_work_groups) {
|
||||||
cmd_buffer->state.compute.num_workgroups = addr;
|
cmd_buffer->state.compute.num_workgroups = addr;
|
||||||
|
@ -5628,7 +5625,7 @@ void genX(CmdDispatchIndirect)(
|
||||||
|
|
||||||
emit_cs_walker(cmd_buffer, pipeline, true, prog_data, 0, 0, 0);
|
emit_cs_walker(cmd_buffer, pipeline, true, prog_data, 0, 0, 0);
|
||||||
|
|
||||||
trace_intel_end_compute(&cmd_buffer->trace, cmd_buffer, 0, 0, 0);
|
trace_intel_end_compute(&cmd_buffer->trace, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct anv_state
|
struct anv_state
|
||||||
|
@ -6510,7 +6507,7 @@ void genX(CmdBeginRendering)(
|
||||||
}
|
}
|
||||||
|
|
||||||
anv_measure_beginrenderpass(cmd_buffer);
|
anv_measure_beginrenderpass(cmd_buffer);
|
||||||
trace_intel_begin_render_pass(&cmd_buffer->trace, cmd_buffer);
|
trace_intel_begin_render_pass(&cmd_buffer->trace);
|
||||||
|
|
||||||
gfx->rendering_flags = pRenderingInfo->flags;
|
gfx->rendering_flags = pRenderingInfo->flags;
|
||||||
gfx->render_area = pRenderingInfo->renderArea;
|
gfx->render_area = pRenderingInfo->renderArea;
|
||||||
|
|
|
@ -210,13 +210,19 @@ void ${trace.tp_perfetto}(
|
||||||
#endif
|
#endif
|
||||||
% endif
|
% endif
|
||||||
void __trace_${trace_name}(
|
void __trace_${trace_name}(
|
||||||
struct u_trace *ut, void *cs
|
struct u_trace *ut
|
||||||
|
% if need_cs_param:
|
||||||
|
, void *cs
|
||||||
|
% endif
|
||||||
% for arg in trace.args:
|
% for arg in trace.args:
|
||||||
, ${arg.type} ${arg.var}
|
, ${arg.type} ${arg.var}
|
||||||
% endfor
|
% endfor
|
||||||
);
|
);
|
||||||
static inline void trace_${trace_name}(
|
static inline void trace_${trace_name}(
|
||||||
struct u_trace *ut, void *cs
|
struct u_trace *ut
|
||||||
|
% if need_cs_param:
|
||||||
|
, void *cs
|
||||||
|
% endif
|
||||||
% for arg in trace.args:
|
% for arg in trace.args:
|
||||||
, ${arg.type} ${arg.var}
|
, ${arg.type} ${arg.var}
|
||||||
% endfor
|
% endfor
|
||||||
|
@ -228,7 +234,10 @@ static inline void trace_${trace_name}(
|
||||||
% endif
|
% endif
|
||||||
return;
|
return;
|
||||||
__trace_${trace_name}(
|
__trace_${trace_name}(
|
||||||
ut, cs
|
ut
|
||||||
|
% if need_cs_param:
|
||||||
|
, cs
|
||||||
|
% endif
|
||||||
% for arg in trace.args:
|
% for arg in trace.args:
|
||||||
, ${arg.var}
|
, ${arg.var}
|
||||||
% endfor
|
% endfor
|
||||||
|
@ -349,13 +358,16 @@ static const struct u_tracepoint __tp_${trace_name} = {
|
||||||
% endif
|
% endif
|
||||||
};
|
};
|
||||||
void __trace_${trace_name}(
|
void __trace_${trace_name}(
|
||||||
struct u_trace *ut, void *cs
|
struct u_trace *ut
|
||||||
|
% if need_cs_param:
|
||||||
|
, void *cs
|
||||||
|
% endif
|
||||||
% for arg in trace.args:
|
% for arg in trace.args:
|
||||||
, ${arg.type} ${arg.var}
|
, ${arg.type} ${arg.var}
|
||||||
% endfor
|
% endfor
|
||||||
) {
|
) {
|
||||||
struct trace_${trace_name} *__entry =
|
struct trace_${trace_name} *__entry =
|
||||||
(struct trace_${trace_name} *)u_trace_append(ut, cs, &__tp_${trace_name});
|
(struct trace_${trace_name} *)u_trace_append(ut, ${cs_param_value + ","} &__tp_${trace_name});
|
||||||
% if len(trace.tp_struct) == 0:
|
% if len(trace.tp_struct) == 0:
|
||||||
(void)__entry;
|
(void)__entry;
|
||||||
% endif
|
% endif
|
||||||
|
@ -367,13 +379,18 @@ void __trace_${trace_name}(
|
||||||
% endfor
|
% endfor
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def utrace_generate(cpath, hpath, ctx_param):
|
def utrace_generate(cpath, hpath, ctx_param, need_cs_param=True):
|
||||||
|
cs_param_value = 'NULL'
|
||||||
|
if need_cs_param:
|
||||||
|
cs_param_value = 'cs'
|
||||||
if cpath is not None:
|
if cpath is not None:
|
||||||
hdr = os.path.basename(cpath).rsplit('.', 1)[0] + '.h'
|
hdr = os.path.basename(cpath).rsplit('.', 1)[0] + '.h'
|
||||||
with open(cpath, 'w') as f:
|
with open(cpath, 'w') as f:
|
||||||
f.write(Template(src_template).render(
|
f.write(Template(src_template).render(
|
||||||
hdr=hdr,
|
hdr=hdr,
|
||||||
ctx_param=ctx_param,
|
ctx_param=ctx_param,
|
||||||
|
need_cs_param=need_cs_param,
|
||||||
|
cs_param_value=cs_param_value,
|
||||||
HEADERS=[h for h in HEADERS if h.scope & HeaderScope.SOURCE],
|
HEADERS=[h for h in HEADERS if h.scope & HeaderScope.SOURCE],
|
||||||
TRACEPOINTS=TRACEPOINTS))
|
TRACEPOINTS=TRACEPOINTS))
|
||||||
|
|
||||||
|
@ -383,6 +400,7 @@ def utrace_generate(cpath, hpath, ctx_param):
|
||||||
f.write(Template(hdr_template).render(
|
f.write(Template(hdr_template).render(
|
||||||
hdrname=hdr.rstrip('.h').upper(),
|
hdrname=hdr.rstrip('.h').upper(),
|
||||||
ctx_param=ctx_param,
|
ctx_param=ctx_param,
|
||||||
|
need_cs_param=need_cs_param,
|
||||||
HEADERS=[h for h in HEADERS if h.scope & HeaderScope.HEADER],
|
HEADERS=[h for h in HEADERS if h.scope & HeaderScope.HEADER],
|
||||||
FORWARD_DECLS=FORWARD_DECLS,
|
FORWARD_DECLS=FORWARD_DECLS,
|
||||||
TRACEPOINTS=TRACEPOINTS))
|
TRACEPOINTS=TRACEPOINTS))
|
||||||
|
|
Loading…
Reference in New Issue