Mesa (staging/22.0): blorp: Add blorp_measure hooks to the blitter codepaths

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Mar 1 20:00:23 UTC 2022


Module: Mesa
Branch: staging/22.0
Commit: 9db0bfb073399bcb31d2ea4f78bf2cd32c0210e2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9db0bfb073399bcb31d2ea4f78bf2cd32c0210e2

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Thu Feb 24 10:16:27 2022 -0800

blorp: Add blorp_measure hooks to the blitter codepaths

I had missed these when hooking up the original support.

Fixes: 31eeb72e45b ("blorp: Add support for blorp_copy via XY_BLOCK_COPY_BLT")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15157>
(cherry picked from commit 97f18d29292ada87469fe90fe5d49ee2dccd0ee5)

---

 .pick_status.json                 |  2 +-
 src/intel/blorp/blorp_genX_exec.h | 21 ++++++++++++++++-----
 2 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 7d43eeac737..eaa4e7758bf 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -265,7 +265,7 @@
         "description": "blorp: Add blorp_measure hooks to the blitter codepaths",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "31eeb72e45be6ef943df0b60f3cd7a646fa7b349"
     },
diff --git a/src/intel/blorp/blorp_genX_exec.h b/src/intel/blorp/blorp_genX_exec.h
index 24bd0d735ff..a19659c68be 100644
--- a/src/intel/blorp/blorp_genX_exec.h
+++ b/src/intel/blorp/blorp_genX_exec.h
@@ -2522,6 +2522,21 @@ blorp_xy_block_copy_blt(struct blorp_batch *batch,
 #endif
 }
 
+static void
+blorp_exec_blitter(struct blorp_batch *batch,
+                   const struct blorp_params *params)
+{
+   blorp_measure_start(batch, params);
+
+   /* Someday, if we implement clears on the blit enginer, we can
+    * use params->src.enabled to determine which case we're in.
+    */
+   assert(params->src.enabled);
+   blorp_xy_block_copy_blt(batch, params);
+
+   blorp_measure_end(batch, params);
+}
+
 /**
  * \brief Execute a blit or render pass operation.
  *
@@ -2535,11 +2550,7 @@ static void
 blorp_exec(struct blorp_batch *batch, const struct blorp_params *params)
 {
    if (batch->flags & BLORP_BATCH_USE_BLITTER) {
-      /* Someday, if we implement clears on the blit enginer, we can
-       * use params->src.enabled to determine which case we're in.
-       */
-      assert(params->src.enabled);
-      blorp_xy_block_copy_blt(batch, params);
+      blorp_exec_blitter(batch, params);
    } else if (batch->flags & BLORP_BATCH_USE_COMPUTE) {
       blorp_exec_compute(batch, params);
    } else {



More information about the mesa-commit mailing list