blorp: add description & helpers to printout ops

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Acked-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13996>
This commit is contained in:
Lionel Landwerlin 2021-11-19 11:51:19 +02:00 committed by Marge Bot
parent 30a8b8d2df
commit e8ea6a899f
4 changed files with 41 additions and 14 deletions

View File

@ -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)

View File

@ -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 =

View File

@ -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;

View File

@ -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,