From 5dc36e5e93ae84182a3ab3eeeb3c569778eb3f07 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 4 Oct 2021 11:27:19 -0700 Subject: [PATCH] blorp: Don't try to use the 3D stencil write hardware for compute When we're doing a stencil blit via a fragment shader, we can avoid W-tiling shenanigans by using the stencil write hardware on Skylake and later. Of course, the compute engine doesn't have stencil fragment writes, so it can't do that. Just fall back to the detiling shenanigans. Caught by Piglit's arb_copy_image-formats when forcing iris to use BLOCS for resource_copy_region on Icelake. Reviewed-by: Jordan Justen Part-of: --- src/intel/blorp/blorp_blit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c index c8fabb01a08..e15bad15b4b 100644 --- a/src/intel/blorp/blorp_blit.c +++ b/src/intel/blorp/blorp_blit.c @@ -1906,7 +1906,7 @@ try_blorp_blit(struct blorp_batch *batch, } } else if (params->dst.surf.usage & ISL_SURF_USAGE_STENCIL_BIT) { assert(params->dst.surf.format == ISL_FORMAT_R8_UINT); - if (devinfo->ver >= 9) { + if (devinfo->ver >= 9 && !(batch->flags & BLORP_BATCH_USE_COMPUTE)) { key->dst_usage = ISL_SURF_USAGE_STENCIL_BIT; } else { key->dst_usage = ISL_SURF_USAGE_RENDER_TARGET_BIT;