Mesa (main): intel/blorp: add measure_end entry point
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jan 14 20:48:02 UTC 2022
Module: Mesa
Branch: main
Commit: bb541d11593259d143589d2e606f1f164029c2e4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb541d11593259d143589d2e606f1f164029c2e4
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date: Fri Nov 26 18:22:40 2021 +0200
intel/blorp: add measure_end entry point
Will be useful to figure out when blorp operations end.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Rohan Garg <rohan.garg at intel.com>
Acked-by: Antonio Caggiano <antonio.caggiano at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13996>
---
src/gallium/drivers/crocus/crocus_blorp.c | 6 ++++++
src/gallium/drivers/iris/iris_blorp.c | 7 +++++++
src/intel/blorp/blorp_genX_exec.h | 20 ++++++++++++++++----
src/intel/vulkan/genX_blorp_exec.c | 5 +++++
4 files changed, 34 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/crocus/crocus_blorp.c b/src/gallium/drivers/crocus/crocus_blorp.c
index 7c09ab6cdc5..abbd73edecc 100644
--- a/src/gallium/drivers/crocus/crocus_blorp.c
+++ b/src/gallium/drivers/crocus/crocus_blorp.c
@@ -401,6 +401,12 @@ blorp_measure_start(struct blorp_batch *blorp_batch,
{
}
+static void
+blorp_measure_end(struct blorp_batch *blorp_batch,
+ const struct blorp_params *params)
+{
+}
+
void
genX(crocus_init_blorp)(struct crocus_context *ice)
{
diff --git a/src/gallium/drivers/iris/iris_blorp.c b/src/gallium/drivers/iris/iris_blorp.c
index 2abcb0b50e2..7099b9b09b0 100644
--- a/src/gallium/drivers/iris/iris_blorp.c
+++ b/src/gallium/drivers/iris/iris_blorp.c
@@ -409,6 +409,13 @@ blorp_measure_start(struct blorp_batch *blorp_batch,
iris_measure_snapshot(ice, batch, params->snapshot_type, NULL, NULL, NULL);
}
+
+static void
+blorp_measure_end(struct blorp_batch *blorp_batch,
+ const struct blorp_params *params)
+{
+}
+
void
genX(init_blorp)(struct iris_context *ice)
{
diff --git a/src/intel/blorp/blorp_genX_exec.h b/src/intel/blorp/blorp_genX_exec.h
index 0ca326eef31..a4516cf87cc 100644
--- a/src/intel/blorp/blorp_genX_exec.h
+++ b/src/intel/blorp/blorp_genX_exec.h
@@ -56,6 +56,10 @@ static void
blorp_measure_start(struct blorp_batch *batch,
const struct blorp_params *params);
+static void
+blorp_measure_end(struct blorp_batch *batch,
+ const struct blorp_params *params);
+
static void *
blorp_alloc_dynamic_state(struct blorp_batch *batch,
uint32_t size,
@@ -1785,6 +1789,8 @@ blorp_emit_gfx8_hiz_op(struct blorp_batch *batch,
*/
assert(params->depth.enabled || params->stencil.enabled);
+ blorp_measure_start(batch, params);
+
/* The stencil buffer should only be enabled if a fast clear operation is
* requested.
*/
@@ -1835,8 +1841,6 @@ blorp_emit_gfx8_hiz_op(struct blorp_batch *batch,
blorp_emit_depth_stencil_config(batch, params);
}
- blorp_measure_start(batch, params);
-
blorp_emit(batch, GENX(3DSTATE_WM_HZ_OP), hzp) {
switch (params->hiz_op) {
case ISL_AUX_OP_FAST_CLEAR:
@@ -1882,6 +1886,8 @@ blorp_emit_gfx8_hiz_op(struct blorp_batch *batch,
}
blorp_emit(batch, GENX(3DSTATE_WM_HZ_OP), hzp);
+
+ blorp_measure_end(batch, params);
}
#endif
@@ -2022,6 +2028,8 @@ blorp_exec_3d(struct blorp_batch *batch, const struct blorp_params *params)
}
#endif
+ blorp_measure_start(batch, params);
+
blorp_emit_vertex_buffers(batch, params);
blorp_emit_vertex_elements(batch, params);
@@ -2032,8 +2040,6 @@ blorp_exec_3d(struct blorp_batch *batch, const struct blorp_params *params)
if (!(batch->flags & BLORP_BATCH_NO_EMIT_DEPTH_STENCIL))
blorp_emit_depth_stencil_config(batch, params);
- blorp_measure_start(batch, params);
-
blorp_emit(batch, GENX(3DPRIMITIVE), prim) {
prim.VertexAccessType = SEQUENTIAL;
prim.PrimitiveTopologyType = _3DPRIM_RECTLIST;
@@ -2043,6 +2049,8 @@ blorp_exec_3d(struct blorp_batch *batch, const struct blorp_params *params)
prim.VertexCountPerInstance = 3;
prim.InstanceCount = params->num_layers;
}
+
+ blorp_measure_end(batch, params);
}
#if GFX_VER >= 7
@@ -2111,6 +2119,8 @@ blorp_exec_compute(struct blorp_batch *batch, const struct blorp_params *params)
assert(!(batch->flags & BLORP_BATCH_PREDICATE_ENABLE));
assert(params->hiz_op == ISL_AUX_OP_NONE);
+ blorp_measure_start(batch, params);
+
#if GFX_VER >= 7
const struct brw_cs_prog_data *cs_prog_data = params->cs_prog_data;
@@ -2284,6 +2294,8 @@ blorp_exec_compute(struct blorp_batch *batch, const struct blorp_params *params)
unreachable("Compute blorp is not supported on SNB and earlier");
#endif /* GFX_VER >= 7 */
+
+ blorp_measure_end(batch, params);
}
diff --git a/src/intel/vulkan/genX_blorp_exec.c b/src/intel/vulkan/genX_blorp_exec.c
index b30a749dab0..85ea5f65170 100644
--- a/src/intel/vulkan/genX_blorp_exec.c
+++ b/src/intel/vulkan/genX_blorp_exec.c
@@ -43,6 +43,11 @@ static void blorp_measure_start(struct blorp_batch *_batch,
NULL, 0);
}
+static void blorp_measure_end(struct blorp_batch *_batch,
+ const struct blorp_params *params)
+{
+}
+
static void *
blorp_emit_dwords(struct blorp_batch *batch, unsigned n)
{
More information about the mesa-commit
mailing list