blorp: Set persample_msaa_dispatch for render shader

Only 3D shader gets dispatched per sample not the compute shader.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33905>
This commit is contained in:
Sagar Ghuge 2025-03-06 15:32:26 -08:00 committed by Marge Bot
parent d99a3d9b58
commit 080d28a03e

View file

@ -1200,6 +1200,7 @@ blorp_build_nir_shader(struct blorp_context *blorp,
/* It only makes sense to do persample dispatch if the render target is /* It only makes sense to do persample dispatch if the render target is
* configured as multisampled. * configured as multisampled.
*/ */
assert(key->base.shader_pipeline == BLORP_SHADER_PIPELINE_RENDER);
assert(key->rt_samples > 0); assert(key->rt_samples > 0);
} }
@ -2055,7 +2056,8 @@ try_blorp_blit(struct blorp_batch *batch,
key->use_kill = true; key->use_kill = true;
key->need_dst_offset = true; key->need_dst_offset = true;
if (params->dst.surf.samples > 1) { if (key->base.shader_pipeline == BLORP_SHADER_PIPELINE_RENDER &&
params->dst.surf.samples > 1) {
/* If the destination surface is a W-tiled multisampled stencil /* If the destination surface is a W-tiled multisampled stencil
* buffer that we're mapping as Y tiled, then we need to arrange for * buffer that we're mapping as Y tiled, then we need to arrange for
* the WM program to run once per sample rather than once per pixel, * the WM program to run once per sample rather than once per pixel,