From: Kenneth Graunke Date: Thu, 29 Aug 2019 01:05:57 +0000 (-0700) Subject: iris: Fix partial fast clear checks to account for miplevel. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=30b9ed92ea423a4857023ca5e2222ae409672fa5;p=mesa.git iris: Fix partial fast clear checks to account for miplevel. We enabled fast clears at level > 0, but didn't minify the dimensions when comparing the box size, so we always thought it was a partial clear and as a result never actually enabled any. This eliminates some slow clears in Civilization VI, but they are mostly during initialization and not the main rendering. Thanks to Dan Walsh for noticing we had too many slow clears. Fixes: 393f659ed83 ("iris: Enable fast clears on other miplevels and layers than 0.") Reviewed-by: Rafael Antognolli --- diff --git a/src/gallium/drivers/iris/iris_clear.c b/src/gallium/drivers/iris/iris_clear.c index 5b2961f8a7d..ff78352a9f2 100644 --- a/src/gallium/drivers/iris/iris_clear.c +++ b/src/gallium/drivers/iris/iris_clear.c @@ -80,8 +80,8 @@ can_fast_clear_color(struct iris_context *ice, /* Check for partial clear */ if (box->x > 0 || box->y > 0 || - box->width < p_res->width0 || - box->height < p_res->height0) { + box->width < minify(p_res->width0, level) || + box->height < minify(p_res->height0, level)) { return false; }