diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c index f1040073ed6..734441b8fae 100644 --- a/src/gallium/drivers/iris/iris_resource.c +++ b/src/gallium/drivers/iris/iris_resource.c @@ -1868,9 +1868,13 @@ iris_transfer_map(struct pipe_context *ctx, if (fmtl->txc == ISL_TXC_ASTC) no_gpu = true; - if ((map_would_stall || - res->aux.usage == ISL_AUX_USAGE_CCS_E || - res->aux.usage == ISL_AUX_USAGE_GEN12_CCS_E) && !no_gpu) { + if (!map_would_stall && + res->aux.usage != ISL_AUX_USAGE_CCS_E && + res->aux.usage != ISL_AUX_USAGE_GEN12_CCS_E) { + no_gpu = true; + } + + if (!no_gpu) { /* If we need a synchronous mapping and the resource is busy, or needs * resolving, we copy to/from a linear temporary buffer using the GPU. */