From 576c53dadf3f60bc363a39e85625afb67a2cbb8d Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 20 Jul 2020 17:08:46 -0700 Subject: [PATCH] iris: Fix CCS check in iris_texture_subdata(). MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The intention here was to check "Would the GPU be able to compress this if we used the PBO-based texture upload path?" Prior to Gen12, that meant checking for CCS_E. On Gen12, there are a lot more types of compression, and basic CCS_E was replaced by GEN12_CCS_E, making this check simply not work, so we'd take the CPU path instead. Instead, check if it has CCS, and isn't the basic "fast clear" CCS_D. Fixes: 39f06e28485 ("iris: Implement pipe->texture_subdata directly") Tested-by: Mark Janes Reviewed-by: Tapani Pälli Reviewed-by: Jordan Justen Part-of: --- src/gallium/drivers/iris/iris_resource.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c index ffb0990bded..d37f7426583 100644 --- a/src/gallium/drivers/iris/iris_resource.c +++ b/src/gallium/drivers/iris/iris_resource.c @@ -2095,7 +2095,8 @@ iris_texture_subdata(struct pipe_context *ctx, * stall-avoidance blits. */ if (surf->tiling == ISL_TILING_LINEAR || - res->aux.usage == ISL_AUX_USAGE_CCS_E || + (isl_aux_usage_has_ccs(res->aux.usage) && + res->aux.usage != ISL_AUX_USAGE_CCS_D) || resource_is_busy(ice, res)) { return u_default_texture_subdata(ctx, resource, level, usage, box, data, stride, layer_stride); -- 2.30.2