anv: fix frame count reporting in INTEL_MEASURE
authorFelix DeGrood <felix.j.degrood@intel.com>
Wed, 13 Sep 2023 22:27:33 +0000 (22:27 +0000)
committerMarge Bot <emma+marge@anholt.net>
Fri, 22 Sep 2023 22:41:53 +0000 (22:41 +0000)
Report frame count at CB submit time, instead of CB build time.

Reviewed-by: Mark Janes <markjanes@swizzler.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25235>

src/intel/vulkan/anv_measure.c

index 3e2c603..482d973 100644 (file)
@@ -113,20 +113,12 @@ anv_measure_start_snapshot(struct anv_cmd_buffer *cmd_buffer,
    struct intel_measure_device *measure_device = &device->measure_device;
    struct intel_measure_config *config = config_from_command_buffer(cmd_buffer);
 
-   const unsigned device_frame = measure_device->frame;
-
-   /* if the command buffer is not associated with a frame, associate it with
-    * the most recent acquired frame
-    */
-   if (measure->base.frame == 0)
-      measure->base.frame = device_frame;
-
    unsigned index = measure->base.index++;
    if (event_name == NULL)
       event_name = intel_measure_snapshot_string(type);
 
    if (config->cpu_measure) {
-      intel_measure_print_cpu_result(measure->base.frame,
+      intel_measure_print_cpu_result(measure_device->frame,
                                      measure->base.batch_count,
                                      measure->base.batch_size,
                                      index/2,
@@ -388,6 +380,7 @@ _anv_measure_submit(struct anv_cmd_buffer *cmd_buffer)
    static unsigned cmd_buffer_count = 0;
    base->batch_count = p_atomic_inc_return(&cmd_buffer_count);
    base->batch_size = cmd_buffer->total_batch_size;
+   base->frame = measure_device->frame;
 
    if (base->index %2 == 1) {
       anv_measure_end_snapshot(cmd_buffer, base->event_count);