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: 393f659ed8 ("iris: Enable fast clears on other miplevels and layers than 0.")
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
This commit is contained in:
Kenneth Graunke 2019-08-28 18:05:57 -07:00
parent 394192fcee
commit 30b9ed92ea

View file

@ -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;
}