i965/miptree: Rework aux enabling
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 16 Jun 2017 05:58:49 +0000 (22:58 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 23 Jun 2017 19:30:24 +0000 (12:30 -0700)
commitf7f2fa8eb12ea60c1190ebf3c66901830150f4fd
tree06a074f8be92b0bb2be62a51aad6af9a39dd6dc1
parentf1fa4be871e13c68b50685aaf64dc095b49ed0b5
i965/miptree: Rework aux enabling

This commit replaces the complex and confusing set of disable flags with
two fairly straightforward fields which describe the intended auxiliary
surface usage and whether or not the miptree supports fast clears.
Right now, supports_fast_clear can be entirely derived from aux_usage
but that will not always be the case.

This commit makes functional changes.  One of these changes is that it
re-enables multisampled fast-clears which were accidentally disabled in
cec30a666930ddb8476a9452a89364a24979ff62 around a year ago.  Fixing this
improves the SynMark v7 DeferredAA test by around ~3% on some gen9
hardware.  This commit also gets us closer to enabling CCS_E for
window-system buffers which are Y-tiled.

Reviewed-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
src/mesa/drivers/dri/i965/brw_blorp.c
src/mesa/drivers/dri/i965/intel_fbo.c
src/mesa/drivers/dri/i965/intel_mipmap_tree.c
src/mesa/drivers/dri/i965/intel_mipmap_tree.h