Module: Mesa Branch: master Commit: 61d2f3f1c24323a1c067595ec78dfbfefdc72b41 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=61d2f3f1c24323a1c067595ec78dfbfefdc72b41
Author: Jason Ekstrand <[email protected]> Date: Thu Aug 17 15:27:25 2017 -0700 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 <[email protected]> Bugzilla: https://bugs.freedesktop.org/102258 Cc: "17.2" <[email protected]> --- src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c index dab60c4b04..2d6a0a3ab7 100644 --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c @@ -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; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
