One comment seems to suggest that MCS (which is needed for compressed
multisampling) can be used to sample from a multisampled depth buffer.
This is not the case. Multisampled depth buffers are sampled without an
auxiliary surface.
Another comment seems to suggest that some depth buffers don't have
corresponding levels in their HiZ buffers. Each main slice *should* have
a corresponding aux slice, but not all of these slices have equal
support for HiZ ops (e.g. ambiguates aren't really supported on
non-8x4-aligned slices).
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8853>
return false;
}
- /* It seems the hardware won't fallback to the depth buffer if some of the
- * mipmap levels aren't available in the HiZ buffer. So we need all levels
- * of the texture to be HiZ enabled.
- */
for (unsigned level = 0; level < res->surf.levels; ++level) {
if (!iris_resource_level_has_hiz(res, level))
return false;
}
- /* If compressed multisampling is enabled, then we use it for the auxiliary
- * buffer instead.
- *
- * From the BDW PRM (Volume 2d: Command Reference: Structures
+ /* From the BDW PRM (Volume 2d: Command Reference: Structures
* RENDER_SURFACE_STATE.AuxiliarySurfaceMode):
*
* "If this field is set to AUX_HIZ, Number of Multisamples must be
return false;
}
- /* It seems the hardware won't fallback to the depth buffer if some of the
- * mipmap levels aren't available in the HiZ buffer. So we need all levels
- * of the texture to be HiZ enabled.
- */
for (unsigned level = 0; level < mt->surf.levels; ++level) {
if (!intel_miptree_level_has_hiz(mt, level))
return false;
}
- /* If compressed multisampling is enabled, then we use it for the auxiliary
- * buffer instead.
- *
- * From the BDW PRM (Volume 2d: Command Reference: Structures
+ /* From the BDW PRM (Volume 2d: Command Reference: Structures
* RENDER_SURFACE_STATE.AuxiliarySurfaceMode):
*
* "If this field is set to AUX_HIZ, Number of Multisamples must be