intel/isl: Set DepthStencilResource based on aux usage
authorJason Ekstrand <jason@jlekstrand.net>
Thu, 5 Mar 2020 20:50:59 +0000 (14:50 -0600)
committerMarge Bot <eric+marge@anholt.net>
Thu, 12 Mar 2020 17:51:28 +0000 (17:51 +0000)
commit6310c666a4339d8e0460dd2e1daa3fad500ae0ca
treea880ae500b1c41a831660aef9b2cb12b1ae69bb1
parentf047e504a51cde0a0789a848e079ab6b7d470d63
intel/isl: Set DepthStencilResource based on aux usage

In ISL, usage flags only carry intent and not semantic meaning.  We
don't have a bulletproof way in ISL to specify that an image is of
depth/stencil type.  The usage flags are great but blorp, for instance,
loves to disrespect them.  One proposed solution to this problem is to
add explicit depth/stencil formats which are distinct from the
corresponding color formats.

Fortunately, however, empirical evidence suggests that this bit only
affects the sampler's interpretation of the CCS data.  Therefore, we can
set the bit based off of the aux_usage which is now very specific and
does carry semantic meaning.  In particular, aux_usage now makes a
distinction between color CCS and depth/stencil CCS which appears to be
exactly what the DepthStencilResource bit is for.

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4056>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4056>
src/intel/isl/isl_surface_state.c