From 9db0bfb073399bcb31d2ea4f78bf2cd32c0210e2 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Thu, 24 Feb 2022 10:16:27 -0800 Subject: [PATCH] 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 Part-of: (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 {