i965/blorp: Don't resolve HiZ unless we're reinterpreting
authorJason Ekstrand <jason@jlekstrand.net>
Wed, 4 Dec 2019 02:31:24 +0000 (20:31 -0600)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 4 Jan 2020 20:25:54 +0000 (12:25 -0800)
This eliminates 50% of pixels (2M) rendered for a blit in GS:GO.  This
accounts for 3% of pixels rendered in the game.  Total GPU clocks for
the first 900 frames of CSGO improves by 1%.

Tested-by: Mark Janes <mark.a.janes@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_blorp.c

index 873c1a6c1c808ca0b42a8fc0de8682acf7dc31dd..0ac636bb88c44f85be4b39ff11ed99d5684eeb49 100644 (file)
@@ -395,7 +395,7 @@ brw_blorp_blit_miptrees(struct brw_context *brw,
    /* We do format workarounds for some depth formats so we can't reliably
     * sample with HiZ.  One of these days, we should fix that.
     */
-   if (src_aux_usage == ISL_AUX_USAGE_HIZ)
+   if (src_aux_usage == ISL_AUX_USAGE_HIZ && src_mt->format != src_format)
       src_aux_usage = ISL_AUX_USAGE_NONE;
    const bool src_clear_supported =
       src_aux_usage != ISL_AUX_USAGE_NONE && src_mt->format == src_format;