From: Kenneth Graunke Date: Tue, 21 Jul 2020 00:08:46 +0000 (-0700) Subject: iris: Fix CCS check in iris_texture_subdata(). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=576c53dadf3f60bc363a39e85625afb67a2cbb8d;p=mesa.git iris: Fix CCS check in iris_texture_subdata(). 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: --- 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);