From 7f3e881c6cd179a9a541a673f0fc67ef63e50cea Mon Sep 17 00:00:00 2001 From: Nanley Chery Date: Thu, 24 Sep 2020 10:01:11 -0700 Subject: [PATCH] blorp: Ensure aligned HIZ_CCS_WT partial clears Fixes: 5425fcf2cb3 ("intel/blorp: Satisfy HIZ_CCS fast-clear alignments") Reported-by: Sagar Ghuge Tested-by: Ivan Briano Reviewed-by: Jason Ekstrand Part-of: --- src/intel/blorp/blorp_clear.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/intel/blorp/blorp_clear.c b/src/intel/blorp/blorp_clear.c index 4c569fd0018..0c3491cb5d3 100644 --- a/src/intel/blorp/blorp_clear.c +++ b/src/intel/blorp/blorp_clear.c @@ -834,11 +834,12 @@ blorp_can_hiz_clear_depth(const struct gen_device_info *devinfo, const bool unaligned = (slice_x0 + x0) % 16 || (slice_y0 + y0) % 8 || (max_x1_y1 ? haligned_x1 % 16 || valigned_y1 % 8 : x1 % 16 || y1 % 8); - const bool alignment_used = surf->levels > 1 || - surf->logical_level0_px.depth > 1 || - surf->logical_level0_px.array_len > 1; + const bool partial_clear = x0 > 0 || y0 > 0 || !max_x1_y1; + const bool multislice_surf = surf->levels > 1 || + surf->logical_level0_px.depth > 1 || + surf->logical_level0_px.array_len > 1; - if (unaligned && alignment_used) + if (unaligned && (partial_clear || multislice_surf)) return false; }