INTEL_DS_QUEUE_STAGE_COMPUTE,
},
{
+ "as-build",
+ INTEL_DS_QUEUE_STAGE_AS,
+ },
+ {
+ "RT",
+ INTEL_DS_QUEUE_STAGE_RT,
+ },
+ {
"render-pass",
INTEL_DS_QUEUE_STAGE_RENDER_PASS,
},
CREATE_DUAL_EVENT_CALLBACK(query_clear_cs, INTEL_DS_QUEUE_STAGE_INTERNAL_OPS)
CREATE_DUAL_EVENT_CALLBACK(query_copy_cs, INTEL_DS_QUEUE_STAGE_INTERNAL_OPS)
CREATE_DUAL_EVENT_CALLBACK(query_copy_shader, INTEL_DS_QUEUE_STAGE_INTERNAL_OPS)
+CREATE_DUAL_EVENT_CALLBACK(rays, INTEL_DS_QUEUE_STAGE_RT)
+CREATE_DUAL_EVENT_CALLBACK(as_build, INTEL_DS_QUEUE_STAGE_AS)
void
intel_ds_begin_cmd_buffer_annotation(struct intel_ds_device *device,
INTEL_DS_QUEUE_STAGE_INTERNAL_OPS,
INTEL_DS_QUEUE_STAGE_STALL,
INTEL_DS_QUEUE_STAGE_COMPUTE,
+ INTEL_DS_QUEUE_STAGE_AS,
+ INTEL_DS_QUEUE_STAGE_RT,
INTEL_DS_QUEUE_STAGE_RENDER_PASS,
INTEL_DS_QUEUE_STAGE_BLORP,
INTEL_DS_QUEUE_STAGE_DRAW,
tp_args=[Arg(type='uint32_t', var='count', c_format='%u'),],
need_cs_param=True)
+ begin_end_tp('as_build')
+
+ begin_end_tp('rays',
+ tp_args=[Arg(type='uint32_t', var='group_x', c_format='%u'),
+ Arg(type='uint32_t', var='group_y', c_format='%u'),
+ Arg(type='uint32_t', var='group_z', c_format='%u'),],
+ tp_print=['group=%ux%ux%u', '__entry->group_x', '__entry->group_y', '__entry->group_z'])
+
def flag_bits(args):
bits = [Arg(type='enum intel_ds_stall_flag', name='flags', var='decode_cb(flags)', c_format='0x%x')]
for a in args:
#include "genxml/genX_pack.h"
#include "genxml/genX_rt_pack.h"
-#if GFX_VERx10 == 125
+#include "ds/intel_tracepoints.h"
+#if GFX_VERx10 == 125
#include "grl/grl_structs.h"
/* Wait for the previous dispatches to finish and flush their data port
return;
}
+ trace_intel_begin_as_build(&cmd_buffer->trace);
+
/* TODO: Indirect */
assert(ppBuildRangeInfos != NULL);
ANV_GRL_FLUSH_FLAGS,
"building accel struct");
+ trace_intel_end_as_build(&cmd_buffer->trace);
+
error:
vk_free(&cmd_buffer->device->vk.alloc, builds);
}
params->launch_size[2] == 0))
return;
+ trace_intel_begin_rays(&cmd_buffer->trace);
+
genX(cmd_buffer_config_l3)(cmd_buffer, pipeline->base.l3_config);
genX(flush_pipeline_select_gpgpu)(cmd_buffer);
STATIC_ASSERT(sizeof(trampoline_params) == 32);
memcpy(cw.InlineData, &trampoline_params, sizeof(trampoline_params));
}
+
+ trace_intel_end_rays(&cmd_buffer->trace,
+ params->launch_size[0],
+ params->launch_size[1],
+ params->launch_size[2]);
}
void