summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2019-08-28 18:05:57 -0700
committerDylan Baker <dylan@pnwbakers.com>2019-09-04 11:56:30 -0700
commitda03ddf677a201b1296d3b3f8e110acbe406d8c3 (patch)
tree4dcb4bfdd50ecb20b98f2c10b24519b2230885ed
parent753ea83477f460c25059883db2d886ef737f8f4a (diff)
downloadmesa-da03ddf677a201b1296d3b3f8e110acbe406d8c3.tar.gz
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 <rafael.antognolli@intel.com> (cherry picked from commit 30b9ed92ea423a4857023ca5e2222ae409672fa5)
-rw-r--r--src/gallium/drivers/iris/iris_clear.c4
1 files changed, 2 insertions, 2 deletions
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;
}