tu/perfetto: Refactor code out of the macro, to stage_end.
authorEmma Anholt <emma@anholt.net>
Wed, 29 Mar 2023 21:25:24 +0000 (14:25 -0700)
committerMarge Bot <emma+marge@anholt.net>
Sun, 16 Apr 2023 15:50:49 +0000 (15:50 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22278>

src/freedreno/vulkan/tu_perfetto.cc

index 7ff3864..cf0feb4 100644 (file)
@@ -222,10 +222,15 @@ stage_start(struct tu_device *dev,
 
 static void
 stage_end(struct tu_device *dev, uint64_t ts_ns, enum tu_stage_id stage_id,
-          uint32_t submission_id, const void* payload = nullptr,
+          const void *flush_data,
+          const void* payload = nullptr,
           trace_payload_as_extra_func payload_as_extra = nullptr)
 {
    struct tu_perfetto_stage *stage = stage_pop(dev);
+   auto trace_flush_data =
+      (const struct tu_u_trace_submission_data *) flush_data;
+   uint32_t submission_id =
+      tu_u_trace_submission_data_get_submit_id(trace_flush_data);
 
    if (!stage)
       return;
@@ -397,12 +402,8 @@ tu_perfetto_submit(struct tu_device *dev, uint32_t submission_id)
       struct tu_device *dev, uint64_t ts_ns, const void *flush_data,                \
       const struct trace_end_##event_name *payload)                                 \
    {                                                                                \
-      auto trace_flush_data =                                                       \
-         (const struct tu_u_trace_submission_data *) flush_data;                    \
-      uint32_t submission_id =                                                      \
-         tu_u_trace_submission_data_get_submit_id(trace_flush_data);                \
       stage_end(                                                                    \
-         dev, ts_ns, stage_id, submission_id, payload,                              \
+         dev, ts_ns, stage_id, flush_data, payload,                                 \
          (trace_payload_as_extra_func) &trace_payload_as_extra_end_##event_name);   \
    }