Mesa (main): blorp: Don't try to use the 3D stencil write hardware for compute
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Nov 30 12:47:56 UTC 2021
Module: Mesa
Branch: main
Commit: 5dc36e5e93ae84182a3ab3eeeb3c569778eb3f07
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5dc36e5e93ae84182a3ab3eeeb3c569778eb3f07
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Oct 4 11:27:19 2021 -0700
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 <jordan.l.justen at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13524>
---
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;
More information about the mesa-commit
mailing list