From a8dd4382bf24eb488f3bd3812d868accdae5fd17 Mon Sep 17 00:00:00 2001 From: Paulo Zanoni Date: Mon, 5 Jan 2026 11:57:01 -0800 Subject: [PATCH] intel/blorp: generate the fast_clear_surf shaders later Because blorp_params_get_clear_kernel() calls blorp_params_get_clear_kernel_cs(), which reads params->num_samples, which we have not properly set yet at this point. I am also planning to have the functions that create the shader to rely on params.op, which we have not set yet either. I found this by inspection (when writing another patch), I'm not sure if this fixes something relevant, but it may be relevant to ver >= 30 multi-sampled cases. Fixes: de0c547448ee ("blorp: Handle 2D MSAA array image copies on compute shader") Reviewed-by: Lionel Landwerlin Signed-off-by: Paulo Zanoni Part-of: --- src/intel/blorp/blorp_clear.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/intel/blorp/blorp_clear.c b/src/intel/blorp/blorp_clear.c index 4449555bddc..4b8a44d58a8 100644 --- a/src/intel/blorp/blorp_clear.c +++ b/src/intel/blorp/blorp_clear.c @@ -490,9 +490,6 @@ fast_clear_surf(struct blorp_batch *batch, get_fast_clear_rect(batch->blorp->isl_dev, surf->surf, surf->aux_surf, ¶ms.x0, ¶ms.y0, ¶ms.x1, ¶ms.y1); - if (!blorp_params_get_clear_kernel(batch, ¶ms, true, true, false)) - return; - blorp_surface_info_init(batch, ¶ms.dst, surf, level, start_layer, format, true); @@ -513,6 +510,9 @@ fast_clear_surf(struct blorp_batch *batch, else params.op = BLORP_OP_MCS_COLOR_CLEAR; + if (!blorp_params_get_clear_kernel(batch, ¶ms, true, true, false)) + return; + batch->blorp->exec(batch, ¶ms); }