Mesa (main): blorp: add description & helpers to printout ops

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jan 14 20:48:02 UTC 2022


Module: Mesa
Branch: main
Commit: e8ea6a899f05208846e1c39aa269c7c0c45c0fb3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8ea6a899f05208846e1c39aa269c7c0c45c0fb3

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Fri Nov 19 11:51:19 2021 +0200

blorp: add description & helpers to printout ops

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/intel/blorp/blorp.c       | 12 ++++++++++++
 src/intel/blorp/blorp_blit.c  |  6 ++++++
 src/intel/blorp/blorp_clear.c |  6 ++++++
 src/intel/blorp/blorp_priv.h  | 31 +++++++++++++++++--------------
 4 files changed, 41 insertions(+), 14 deletions(-)

diff --git a/src/intel/blorp/blorp.c b/src/intel/blorp/blorp.c
index 9307c3d163f..9a6e1dd754e 100644
--- a/src/intel/blorp/blorp.c
+++ b/src/intel/blorp/blorp.c
@@ -46,6 +46,18 @@ blorp_shader_type_to_name(enum blorp_shader_type type)
    return shader_name[type];
 }
 
+const char *
+blorp_shader_pipeline_to_name(enum blorp_shader_pipeline pipe)
+{
+   static const char *pipeline_name[] = {
+      [BLORP_SHADER_PIPELINE_RENDER]  = "render",
+      [BLORP_SHADER_PIPELINE_COMPUTE] = "compute",
+   };
+   assert(pipe < ARRAY_SIZE(pipeline_name));
+
+   return pipeline_name[pipe];
+}
+
 void
 blorp_init(struct blorp_context *blorp, void *driver_ctx,
            struct isl_device *isl_dev, const struct blorp_config *config)
diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c
index ff6cad759b8..533b636b7fb 100644
--- a/src/intel/blorp/blorp_blit.c
+++ b/src/intel/blorp/blorp_blit.c
@@ -2519,6 +2519,9 @@ blorp_blit(struct blorp_batch *batch,
                         isl_format_has_sint_channel(params.dst.view.format),
    };
 
+   params.shader_type = key.base.shader_type;
+   params.shader_pipeline = key.base.shader_pipeline;
+
    /* Scaling factors used for bilinear filtering in multisample scaled
     * blits.
     */
@@ -2832,6 +2835,9 @@ blorp_copy(struct blorp_batch *batch,
       .need_dst_offset = dst_surf->tile_x_sa || dst_surf->tile_y_sa,
    };
 
+   params.shader_type = key.base.shader_type;
+   params.shader_pipeline = key.base.shader_pipeline;
+
    const struct isl_format_layout *src_fmtl =
       isl_format_get_layout(params.src.surf.format);
    const struct isl_format_layout *dst_fmtl =
diff --git a/src/intel/blorp/blorp_clear.c b/src/intel/blorp/blorp_clear.c
index 8905903d1c2..a721a0ad7c3 100644
--- a/src/intel/blorp/blorp_clear.c
+++ b/src/intel/blorp/blorp_clear.c
@@ -61,6 +61,9 @@ blorp_params_get_clear_kernel_fs(struct blorp_batch *batch,
       .local_y = 0,
    };
 
+   params->shader_type = blorp_key.base.shader_type;
+   params->shader_pipeline = blorp_key.base.shader_pipeline;
+
    if (blorp->lookup_shader(batch, &blorp_key, sizeof(blorp_key),
                             &params->wm_prog_kernel, &params->wm_prog_data))
       return true;
@@ -122,6 +125,9 @@ blorp_params_get_clear_kernel_cs(struct blorp_batch *batch,
       .local_y = blorp_get_cs_local_y(params),
    };
 
+   params->shader_type = blorp_key.base.shader_type;
+   params->shader_pipeline = blorp_key.base.shader_pipeline;
+
    if (blorp->lookup_shader(batch, &blorp_key, sizeof(blorp_key),
                             &params->cs_prog_kernel, &params->cs_prog_data))
       return true;
diff --git a/src/intel/blorp/blorp_priv.h b/src/intel/blorp/blorp_priv.h
index a5e8347f6dc..eea50fc2204 100644
--- a/src/intel/blorp/blorp_priv.h
+++ b/src/intel/blorp/blorp_priv.h
@@ -204,6 +204,20 @@ brw_blorp_get_urb_length(const struct brw_wm_prog_data *prog_data)
    return MAX2((prog_data->num_varying_inputs + 1) / 2, 1);
 }
 
+enum blorp_shader_type {
+   BLORP_SHADER_TYPE_COPY,
+   BLORP_SHADER_TYPE_BLIT,
+   BLORP_SHADER_TYPE_CLEAR,
+   BLORP_SHADER_TYPE_MCS_PARTIAL_RESOLVE,
+   BLORP_SHADER_TYPE_LAYER_OFFSET_VS,
+   BLORP_SHADER_TYPE_GFX4_SF,
+};
+
+enum blorp_shader_pipeline {
+   BLORP_SHADER_PIPELINE_RENDER,
+   BLORP_SHADER_PIPELINE_COMPUTE,
+};
+
 struct blorp_params
 {
    uint32_t x0;
@@ -239,25 +253,13 @@ struct blorp_params
 
    bool use_pre_baked_binding_table;
    uint32_t pre_baked_binding_table_offset;
+   enum blorp_shader_type shader_type;
+   enum blorp_shader_pipeline shader_pipeline;
    enum intel_measure_snapshot_type snapshot_type;
 };
 
 void blorp_params_init(struct blorp_params *params);
 
-enum blorp_shader_type {
-   BLORP_SHADER_TYPE_COPY,
-   BLORP_SHADER_TYPE_BLIT,
-   BLORP_SHADER_TYPE_CLEAR,
-   BLORP_SHADER_TYPE_MCS_PARTIAL_RESOLVE,
-   BLORP_SHADER_TYPE_LAYER_OFFSET_VS,
-   BLORP_SHADER_TYPE_GFX4_SF,
-};
-
-enum blorp_shader_pipeline {
-   BLORP_SHADER_PIPELINE_RENDER,
-   BLORP_SHADER_PIPELINE_COMPUTE,
-};
-
 struct brw_blorp_base_key
 {
    char name[8];
@@ -409,6 +411,7 @@ void brw_blorp_init_wm_prog_key(struct brw_wm_prog_key *wm_key);
 void brw_blorp_init_cs_prog_key(struct brw_cs_prog_key *cs_key);
 
 const char *blorp_shader_type_to_name(enum blorp_shader_type type);
+const char *blorp_shader_pipeline_to_name(enum blorp_shader_pipeline pipe);
 
 const unsigned *
 blorp_compile_fs(struct blorp_context *blorp, void *mem_ctx,



More information about the mesa-commit mailing list