Browse Source

i965/miptree: Return NONE from texture_aux_usage when fully resolved

This little optimization improves the performance of SynMark v7
TexFilterTri by almost 10% on Sky Lake GT4 among other improvements.
We've been doing it for some time but somehow it got dropped during
the miptree refactoring.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Bugzilla: https://bugs.freedesktop.org/102258
Cc: "17.2" <mesa-stable@lists.freedesktop.org>
tags/17.3-branchpoint
Jason Ekstrand 8 years ago
parent
commit
61d2f3f1c2
1 changed files with 14 additions and 1 deletions
  1. 14
    1
      src/mesa/drivers/dri/i965/intel_mipmap_tree.c

+ 14
- 1
src/mesa/drivers/dri/i965/intel_mipmap_tree.c View File

@@ -2571,7 +2571,20 @@ intel_miptree_texture_aux_usage(struct brw_context *brw,

case ISL_AUX_USAGE_CCS_D:
case ISL_AUX_USAGE_CCS_E:
if (mt->mcs_buf && can_texture_with_ccs(brw, mt, view_format))
if (!mt->mcs_buf) {
assert(mt->aux_usage == ISL_AUX_USAGE_CCS_D);
return ISL_AUX_USAGE_NONE;
}

/* If we don't have any unresolved color, report an aux usage of
* ISL_AUX_USAGE_NONE. This way, texturing won't even look at the
* aux surface and we can save some bandwidth.
*/
if (!intel_miptree_has_color_unresolved(mt, 0, INTEL_REMAINING_LEVELS,
0, INTEL_REMAINING_LAYERS))
return ISL_AUX_USAGE_NONE;

if (can_texture_with_ccs(brw, mt, view_format))
return ISL_AUX_USAGE_CCS_E;
break;


Loading…
Cancel
Save